For the complete documentation index, see llms.txt. This page is also available as Markdown.

Quick Start

This guide walks you through the complete Constant Finance 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

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.


1. Setup Your Wallet

Prerequisites

Before you begin, make sure you have:

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

1

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.

2

Switch to Sepolia

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

3

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.

4

Claim Faucet Tokens

Open the Constant Finance Faucet. 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.

5

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

Sepolia PoW Faucet

Proof-of-work mining

sepolia-faucet.pk910.de

Alchemy Faucet

Alchemy account

alchemy.com/faucets

Infura Faucet

Infura account

infura.io/faucet/sepolia

QuickNode Faucet

QuickNode account

faucet.quicknode.com

Chainlink Faucet

Chainlink account

faucets.chain.link

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.


2. Connect to dApp

1

Open the app UI

Go to app.constant.finance.

2

Click Connect

Select Connect in the upper-right corner of the app.

3

Select your wallet provider

Choose MetaMask, or the supported wallet you prepared in the previous section.

4

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.

5

Confirm the network

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


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.

Steps

1

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.

2

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

Supply Details

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


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 and Risk Parameters and Position Health for the underlying lifecycle and risk model.

Steps

1

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.

2

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

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.

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.


5. Manage Your Position

Repay a Loan

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

1

Go to your Dashboard

Open Positions from the dashboard.

2

Find the Position

Select the Position you want to repay and review its current debt.

3

Repay

Select Repay for that Position.

4

Enter the repayment amount

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

5

Approve and confirm

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

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.

Refinance a Loan

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

1

Go to your Dashboard

Open Positions and select the Position you want to refinance.

2

Update APR

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

3

Refinance

Select Refinance after confirming the proposed rate, term, and collateral arrangement.

4

Approve and confirm

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

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.

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.


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 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 guide documents the Sepolia testnet deployment. Test tokens have no monetary value, while assets on Ethereum Mainnet do. Constant Finance 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 to understand matching, supplier claims, repayment, refinance, and liquidation.

  • Check Deployment for the documented network, contracts, and current testnet boundaries before testing.

Last updated

Was this helpful?