> For the complete documentation index, see [llms.txt](https://constant-finance.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://constant-finance.gitbook.io/docs/quick-start.md).

# Quick Start

This guide walks you through the complete Constant Finance V0 testnet experience. You will prepare a wallet, connect to the app, create Supply and Borrow Orders, and learn how to manage an active Position.

**Time to complete:** About 15 minutes

{% hint style="info" %}
This guide uses Ethereum Sepolia and test tokens. Faucet assets have no monetary value, but testnet transactions are still public and irreversible. Use a test account and review every wallet request before approving it.
{% endhint %}

***

## 1. Setup Your Wallet

### Prerequisites

Before you begin, make sure you have:

* [ ] A modern browser, such as Chrome, Firefox, or Brave
* [ ] MetaMask or another wallet supported by the app
* [ ] A small amount of Sepolia ETH for transaction fees

The steps below use MetaMask, but the overall process is similar with other supported wallets.

{% stepper %}
{% step %}

### Enable Test Networks

In MetaMask, open **All default networks**, select **Manage networks**, and enable **Show test networks**. Sepolia should now appear in your network list.

<figure><img src="/files/5qLllYdCUpSNkIdZC0zO" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Switch to Sepolia

Open **All default networks** and select **Sepolia**. Confirm that MetaMask displays the Sepolia network before continuing.

<figure><img src="/files/1dXss6o2elPkiBXAfYms" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Add the Faucet Tokens

In MetaMask, go to **Manage tokens** → **Add a custom token** → **Add token**.

Add the Sepolia tokens you want to test by copying their contract addresses from the table below.

| Token | Sepolia contract address                     |
| ----- | -------------------------------------------- |
| USDC  | `0xd4A6e9a9Dcddf6Ab97dBD47792349B92A6dfC820` |
| USDT  | `0x6FB00eE1AB7e0DfEa9a81fA5c095Cf2bd03C75c0` |
| WETH  | `0xf6081C62c44e85A025101c99FB9f74Afc36B23CA` |
| WBTC  | `0xC2C1d50Ce80C7418bB39A5eaF073E3870e2AbC7F` |

MetaMask should display each token in your asset list after it is added.

<figure><img src="/files/vTr7ILgbkedIdrjQ2WqN" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Claim Faucet Tokens

Open the [Constant Finance Faucet](https://faucet.constant.finance/). Connect your wallet, select the test assets you need, and click **Claim**.

Each selected token may arrive in a separate transaction. Wait for the transactions to confirm, then check the token balances in your wallet.

<figure><img src="/files/YFnZ3CQAa71ytDZTeSsN" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Claim Gas Tokens

Every Sepolia transaction requires Sepolia ETH for gas. Request a small amount from one of the faucets below.

| Faucet              | Requirement          | Link                                                                                         |
| ------------------- | -------------------- | -------------------------------------------------------------------------------------------- |
| Google Cloud Faucet | Google account       | [cloud.google.com/faucet](https://cloud.google.com/application/web3/faucet/ethereum/sepolia) |
| Sepolia PoW Faucet  | Proof-of-work mining | [sepolia-faucet.pk910.de](https://sepolia-faucet.pk910.de/)                                  |
| Alchemy Faucet      | Alchemy account      | [alchemy.com/faucets](https://www.alchemy.com/faucets/ethereum-sepolia)                      |
| Infura Faucet       | Infura account       | [infura.io/faucet/sepolia](https://www.infura.io/faucet/sepolia)                             |
| QuickNode Faucet    | QuickNode account    | [faucet.quicknode.com](https://faucet.quicknode.com/ethereum/sepolia)                        |
| Chainlink Faucet    | Chainlink account    | [faucets.chain.link](https://faucets.chain.link/sepolia)                                     |

Follow the faucet's verification process and submit your wallet address. Limits and delivery times vary by provider, so confirm that the ETH has arrived before moving on.

<figure><img src="/files/4tPCmDaHHTEiMxztzu60" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

{% hint style="success" %}
You are ready to connect when MetaMask shows **Sepolia**, a positive Sepolia ETH balance, and at least one supported test token.
{% endhint %}

***

## 2. Connect to dApp

{% stepper %}
{% step %}

### Open the app UI

Go to [app.constant.finance](https://app.constant.finance/en/).
{% endstep %}

{% step %}

### Click **Connect**

Select **Connect** in the upper-right corner of the app.
{% endstep %}

{% step %}

### Select your wallet provider

Choose MetaMask, or the supported wallet you prepared in the previous section.
{% endstep %}

{% step %}

### Approve the connection

Review the connection request in your wallet and approve it. Connecting allows the app to view your public address; it does not move assets.
{% endstep %}

{% step %}

### Confirm the network

Use the network selector beside your wallet address to choose **Sepolia Testnet**. Approve the network change in your wallet if prompted.

<figure><img src="/files/QdGT5GB0WNy2jYbNFrBY" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

{% hint style="success" %}
The connection is ready when the app header shows your wallet address and **Sepolia**.
{% endhint %}

***

## 3. Supply Assets

Create a Supply Order to make an asset available to borrowers. You choose the amount, the minimum fixed APR you will accept, and the longest loan term you are willing to fund.

### How It Works

1. A borrower creates a Borrow Order with a requested asset, amount, maximum APR, maximum term, and collateral.
2. One or more compatible Supply Orders can fund that request. Your assets remain in your wallet until a match settles.
3. When a Position opens, your supplier rate is fixed and you receive a Constant NFT representing your claim.
4. The borrower may repay before maturity. Early repayment returns capital sooner, but it can shorten your realized lending duration and reduce total interest.

For more context, read [Fixed Rate, Flexible Duration](/docs/v0/concepts/design-philosophy.md#fixed-rate-flexible-duration).

### Steps

{% stepper %}
{% step %}

### Create a Supply Order

Under **Assets to Supply**, find the asset you want to lend and select **Supply**. Then:

1. Set the longest **Max Loan Term** you will accept.
2. Confirm the **Supply Asset**.
3. Enter the **Supply Amount**.
4. Enter your **Minimum APR**.
5. Select **Supply**.
6. If prompted, approve the token. This approval allows the Gateway to transfer only the matched amount when settlement occurs.
7. Review the Order and sign it in your wallet.

Signing creates an offchain authorization. It does not immediately transfer or lock your assets.

<figure><img src="/files/PfL5rfeIbE6H5I4zthMO" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Review Your Supply Orders

Open **Supply Orders** to see the Orders you have created. Each entry shows:

* **Status** — the Order's current state
* **Asset** — the token offered for lending
* **Amount** — the total amount covered by the Order
* **Lent-out %** — the percentage already matched and lent
* **Details** — the Order terms and any related Positions
  {% endstep %}
  {% endstepper %}

#### Supply Details

Select **Details** on a Supply Order to review its terms, active Positions, and recorded earnings.

<figure><img src="/files/f7Z4ETRGf6OKdfAN52RV" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Before signing, check the asset, amount, minimum APR, and maximum term. After a match settles, the funded amount remains committed to its Position until it is repaid or otherwise settled.
{% endhint %}

{% hint style="success" %}
The supply flow is complete when your dashboard shows the expected Supply Order or a matched Position with the correct fixed rate and maturity.
{% endhint %}

***

## 4. Borrow Assets

Create a Borrow Order to request assets against collateral. You choose the amount, the highest fixed APR you will pay, and the longest loan term you will accept.

### How It Works

1. You create a Borrow Order with the requested asset, amount, maximum APR, maximum term, and selected collateral.
2. The collateral remains in your wallet while the Order is open. It moves into an isolated Position only when a match settles.
3. After settlement, the borrowed asset arrives in your wallet and the Position begins accruing interest at its fixed rate.
4. You monitor the Position's Health Factor and can add collateral or repay debt when needed.
5. The Position becomes liquidatable if it is unhealthy or reaches maturity with debt remaining.

Read [Positions](/docs/v0/concepts/positions.md) and [Risk Parameters and Position Health](/docs/v0/concepts/risk-parameters-and-position-health.md) for the underlying lifecycle and risk model.

### Steps

{% stepper %}
{% step %}

### Create a Borrow Order

Under **Assets to Borrow**, find the asset you want and select **Borrow**. Then:

1. Use **Add Collateral** to select the assets that will secure the loan. Repeat the action to add more than one item, or select **Remove** to exclude an item.
2. Enter the **Borrow Amount**. The app estimates the Position's Health Factor from the current values of your selected collateral and requested debt.
3. Enter the highest **Max APR** you will pay. If available, **Use Market APR** fills this field with the rate displayed by the app.
4. Choose the longest **Max Loan Term** you will accept.
5. Select **Borrow** or **Approve & Borrow**.
6. If prompted, approve the collateral token so the Gateway can transfer it when a match settles.
7. Review the Order and sign it in your wallet.

The app will not let you create an Order if its estimated Health Factor is below `1.0`.

<figure><img src="/files/2B1U7ZBTvju6gIL6ok42" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Review Your Borrow Orders

Open **Borrows** to see the Borrow Orders you have created. Each entry shows:

* **Status** — the Order's current state
* **Asset** — the asset you requested
* **Value** — the total requested value
* **Method** — the displayed rate method
* **Health Factor** — the estimated safety level based on current values
* **Details** — the Order terms and, after settlement, related Position information
  {% endstep %}
  {% endstepper %}

#### Borrow Details

Select **Details** on a Borrow Order to review its terms. After settlement, the same view provides information about the active Position, collateral, repayments, and suppliers.

<figure><img src="/files/ru3ldhcH5mXpzcxDWlR5" alt=""><figcaption></figcaption></figure>

### Understand Your Health Factor

Once the Borrow Order is matched, the **Health Factor** shows how close the Position is to its liquidation boundary.

| Health Factor | Status          | Suggested response                          |
| ------------- | --------------- | ------------------------------------------- |
| Above `1.5`   | 🟢 Safer buffer | Continue monitoring the Position            |
| `1.0`–`1.5`   | 🟡 Caution      | Consider adding collateral or repaying debt |
| Below `1.0`   | 🔴 Liquidatable | Act immediately to reduce risk              |

The Health Factor reflects current collateral value, outstanding debt, accrued interest, and the configured thresholds for each collateral asset. It can change even when you take no action.

{% hint style="warning" %}
If the Health Factor falls below `1.0`, the Position may be liquidated. Monitor it regularly and consider adding collateral or repaying debt before it reaches that level.
{% endhint %}

{% hint style="success" %}
The borrow flow is complete when the dashboard shows an active Position with the expected borrowed amount, collateral, fixed rate, and maturity.
{% endhint %}

***

## 5. Manage Your Position

### Repay a Loan

You can repay part or all of an outstanding loan before maturity.

{% stepper %}
{% step %}

### Go to your Dashboard

Open **Positions** from the dashboard.
{% endstep %}

{% step %}

### Find the Position

Select the Position you want to repay and review its current debt.
{% endstep %}

{% step %}

### Repay

Select **Repay** for that Position.
{% endstep %}

{% step %}

### Enter the repayment amount

Enter an amount for a partial repayment, or choose the full amount to clear the debt.
{% endstep %}

{% step %}

### Approve and confirm

Approve the repayment token if prompted, review the transaction in your wallet, and confirm it.

<figure><img src="/files/5I9ymXlhql1PW22nZ1IH" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

{% hint style="info" %}
A partial repayment reduces outstanding debt and future interest accrual. A full repayment closes the Position and returns its remaining collateral. Interest is calculated through the repayment transaction.
{% endhint %}

### Refinance a Loan

Refinancing replaces an existing Position with a new one under newly matched fixed terms.

{% stepper %}
{% step %}

### Go to your Dashboard

Open **Positions** and select the Position you want to refinance.
{% endstep %}

{% step %}

### Update APR

Enter the maximum APR you are willing to pay for the replacement loan and review the other proposed terms.
{% endstep %}

{% step %}

### Refinance

Select **Refinance** after confirming the proposed rate, term, and collateral arrangement.
{% endstep %}

{% step %}

### Approve and confirm

Sign the Refinancing Order, then approve or confirm each wallet request shown by the app.

<figure><img src="/files/JNRJyk9l1l7pVmwQpkMM" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

{% hint style="info" %}
A successful refinance settles the old Position and opens the new Position atomically. If any required step fails, neither outcome takes effect. Learn more in [Refinance](/docs/v0/concepts/refinance.md).
{% endhint %}

### What Happens at Maturity?

Maturity is the latest agreed duration, not a required holding period. You may repay part or all of the debt before that date. If debt remains after maturity:

* **Borrower:** The obligation remains outstanding and the Position becomes eligible for liquidation.
* **Supplier:** Maturity alone does not send funds to the supplier. Repayment must first be recorded for the Constant NFT, and the current owner then claims the available amount. See [Repayment and FIFO Settlement](/docs/v0/concepts/repayment-and-fifo-settlement.md).

***

## 6. FAQ & Troubleshooting

### General

**Why did my transaction fail?**

Start with the error shown in your wallet. If a transaction was submitted, open it in a block explorer for more detail. Common causes include:

* **Insufficient gas** — request more Sepolia ETH before trying again.
* **Missing token approval** — approve the relevant token before submitting the transaction.
* **Expired Order** — create a new Order with a valid expiry.
* **Changed onchain state** — an Order, balance, approval, price, or available capacity may have changed before execution.

**Why does signing an Order not cost gas?**

Constant Finance uses [EIP-712 typed data signatures](https://eips.ethereum.org/EIPS/eip-712) for Orders. A signature authorizes terms offchain and does not submit a transaction. Gas is required later for onchain actions such as token approval, settlement, repayment, or refinance.

**What is the difference between Testnet and Mainnet?**

This V0 guide documents the Sepolia testnet deployment. Test tokens have no monetary value, while assets on Ethereum Mainnet do. Constant Finance V0 should not be assumed to be available on Mainnet unless a documented deployment says so.

### Token & Wallet Issues

**Why don't my test tokens appear in MetaMask?**

MetaMask may not detect custom tokens automatically:

1. Open **Manage tokens** → **Add a custom token**.
2. Paste a contract address from the faucet-token table in Section 1.
3. Review the detected token details and select **Add token**.

**Why can't I switch to Sepolia?**

1. Open **All default networks** in MetaMask.
2. Select **Manage networks** and enable **Show test networks**.
3. Return to the network list and select **Sepolia**.

### Position Issues

**What should I do if my Health Factor is falling?**

A change in collateral value or an increase in accrued debt can lower the Health Factor. Review the Position promptly. You can strengthen it by adding collateral or reducing the outstanding debt through repayment.

**What happens during liquidation?**

An eligible liquidator repays debt in exchange for collateral under the protocol's liquidation rules. A partial liquidation may leave the Position open. A liquidation that clears all debt closes the Position and returns any remaining collateral according to the Position lifecycle.

***

## Next Steps

* **Explore the dashboard** to monitor your Orders and Positions in one place.
* **Review the** [**Concepts**](/docs/v0/concepts.md) to understand matching, supplier claims, repayment, refinance, and liquidation.
* **Check** [**Deployment**](/docs/v0/deployment.md) for the documented network, contracts, and current testnet boundaries before testing.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://constant-finance.gitbook.io/docs/quick-start.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
