Offerbook is a peer-to-peer lending protocol on Solana built around fixed-term, time-based loans. Users borrow or lend USDC against onchain collateral, with no price oracles and no price-based liquidations. Loan duration is set by the user, between 1 and 30 days. This page covers the core concepts behind Offerbook: how loans work, what happens at each stage, and how risk is managed.Documentation Index
Fetch the complete documentation index at: https://docs.jup.ag/llms.txt
Use this file to discover all available pages before exploring further.
Key Terms
Collateral (Locked asset)
Collateral (Locked asset)
The onchain asset locked by the borrower for the duration of the loan. The lender can claim this asset if the loan is not repaid after maturity.Collateral can be any Solana asset (verified tokens on Jupiter, RWAs such as xStocks). NFTs will be supported after launch.
USDC (Borrowed / Lent asset)
USDC (Borrowed / Lent asset)
The liquidity provided by the lender and received by the borrower. On Offerbook, USDC is the only asset that can be borrowed or lent.
LTV (Loan-to-Value)
LTV (Loan-to-Value)
The ratio (in %) between the borrowed USDC amount and the collateral value. It represents how much liquidity is taken out compared to the value of the collateral locked.Example: If you lock $1,000 worth of collateral and set the LTV to 70%, you can borrow 700 USDC.
Loan duration
Loan duration
The fixed time period during which the collateral is locked and the loan is active. Loan duration is set when creating the offer (by the borrower for a borrow offer, or by the lender for a lend offer) and can range from 1 to 30 days. Common presets are 3D, 7D, and 30D.The countdown starts when the offer is accepted (the loan begins), not when the offer is published. Once the loan starts, the duration cannot be changed.
Offer expiration
Offer expiration
Published offers expire after a set period, separate from the loan duration:
- Lend offers expire after 24 hours (fixed).
- Borrow offers expire after 1, 3, or 7 days (set by the borrower at creation).
APR (Annual Percentage Rate)
APR (Annual Percentage Rate)
The annualized cost of borrowing, paid by the borrower. Fixed for the entire loan duration. Displayed when creating a borrow offer and in offer listings.
APY (Annual Percentage Yield)
APY (Annual Percentage Yield)
The annualized return for the lender. Fixed for the entire loan duration. Displayed when creating a lend offer.
Effective APR / APY
Effective APR / APY
The effective rate accounts for platform fees and is automatically displayed in the offer summary.Effective APR (borrower side) combines the offer APR with the 25% upfront fee on interest. Because the fee is paid in addition to the interest, the actual cost of the loan is higher than the headline APR.Example: an offer at 30% APR becomes 37.5% Effective APR (30% × 1.25).Effective APY (lender side) combines the offer APY with the 10% fee deducted at repayment. Because the fee is taken out of the interest received, the actual return is lower than the headline APY.Example: an offer at 5% APY becomes 4.5% Effective APY (5% × 0.9).
Maturity
Maturity
The point at which the loan duration ends. At maturity, the borrower should have repaid the loan (principal + interest). If not, the lender can claim the collateral.
Collateral transfer
Collateral transfer
When a loan is not repaid after maturity, the lender can claim the collateral by signing a transaction. This action triggers the collateral transfer: the collateral is sent directly to the lender (not sold on the market). The lender receives the collateral token itself.Unlike price-based liquidations in classical lending protocols, this event can only happen after maturity, never during the loan. A 0.1% fee is deducted from the collateral at transfer (no fee on NFT/RWA collateral).The transfer is not automatic. It only happens when the lender claims. The borrower can still repay and recover the collateral at any time, as long as the lender has not claimed it.
Partial fill and Minimum Fill Amount
Partial fill and Minimum Fill Amount
The offer creator (borrower or lender) can enable or disable partial fill:
- Partial fill enabled: the offer can be accepted partially. The creator sets a Minimum Fill Amount in USD (e.g., $10, $25, $100), which is the minimum amount a counterparty can accept per transaction.
- Partial fill disabled: the offer can only be filled in full by a single counterparty.
Loan status
Loan status
A loan can have one of three statuses:
- Active: the loan is running, between offer acceptance and maturity.
- Repaid: the borrower has repaid the loan, the collateral has been returned to their wallet.
- Defaulted: the loan has reached maturity without being repaid. The lender can claim the collateral.
Escrow wallet
Escrow wallet
A dedicated wallet, separate from your main Solana wallet, used to hold funds while interacting with Offerbook. Each user has one escrow wallet. All funds transit through the escrow when creating or accepting offers.For lenders: the escrow is visible in the interface. Lenders deposit USDC manually and can create multiple offers from the same balance.For borrowers: the escrow is used in the background. Collateral transits through the escrow automatically in a single transaction. When the borrower repays, collateral is returned directly to their wallet.
How Offerbook Loans Work
Offerbook loans are time-based, not price-based. This is the core difference with classical lending protocols. Once a loan starts:- Collateral is locked onchain for the full duration of the loan
- Loan terms cannot be changed
- No margin calls or price-based liquidations can occur before maturity
If the loan is not repaid by maturity, the lender can claim the entire collateral at any time by signing a transaction. The transfer is not automatic, but you cannot rely on any delay. Always plan to repay before the loan expires.
Common Use Cases
Offerbook is a single lending mechanic, but it can serve different intents depending on what the borrower wants to achieve. Two common patterns: Accessing liquidity against a held asset. A user holds an onchain asset and needs USDC for a short period. They lock the asset as collateral and borrow USDC, with the intent to repay the loan and recover the asset at maturity. The cost of the operation is the loan interest plus the 25% upfront fee on interest. Insurance (protecting against a price drop). The same borrow mechanic can be used to protect against a downside on an asset the user wants to keep exposure to. By borrowing USDC against the asset, the user receives liquidity now and decides at maturity whether to repay (recovering the asset) or not (keeping the USDC, which may be worth more than the depreciated asset). This pattern is surfaced as Insurance in the app interface. The protection is only effective if the asset’s value drops below the borrowed USDC amount (after fees) by maturity. If the price recovers or stays stable, the operation is a net cost. A detailed walkthrough of both patterns is available in the Overview page.Insurance is not a separate product or a separate smart contract. It is the same loan mechanic described above, presented under a different label in the app to surface the use case. The offer creation flow, fees, and onchain behaviour are identical.
Loan Lifecycle
A loan on Offerbook follows a deterministic lifecycle.Offer created
A borrower or lender publishes an offer in the offerbook with their desired terms (collateral, USDC amount, LTV, APR/APY, loan duration, partial fill settings). Lend offers are visible for 24 hours; borrow offers for 1, 3, or 7 days. Expired offers can be renewed without recreating them.
Offer accepted — Loan starts
A counterparty accepts the offer, partially or in full. The loan starts immediately. Collateral is locked onchain via a smart contract (a PDA, or Program Derived Address, which is a program-owned account on Solana with no private key). The loan duration begins at this moment.A calendar reminder can be added at this stage to track the loan’s maturity date. The reminder fires 2 hours before maturity.
Loan active
The loan runs for its full duration. Collateral cannot be accessed by either party. No price-based events can occur. The borrower can repay at any time.
Loan resolved
At maturity, the loan resolves in one of two ways:
- Repaid: the borrower repays principal + full interest. Collateral is returned directly to the borrower’s wallet. Loan status: Repaid.
- Not repaid: the lender can claim the collateral by signing a transaction (this triggers the collateral transfer). A 0.1% fee is deducted from the collateral (no fee on NFT/RWA). The borrower can still repay until the lender claims. Loan status: Defaulted.
If an offer expires without being accepted, it is automatically removed from the offerbook. No fees are charged.
Offers and Loans
Both borrowers and lenders can create offers. For each offer, the following terms are defined:| Parameter | Description | Configurable? |
|---|---|---|
| Collateral asset and amount | The onchain asset locked as security | Yes |
| USDC amount | The liquidity borrowed or lent | Yes |
| LTV | Ratio between USDC amount and collateral value (in %) | Yes (linked to USDC amount) |
| APR / APY | Cost of borrowing (APR) or return for lending (APY), annualized | Yes |
| Loan duration | Time period of the loan (starts at acceptance) | Yes (1 to 30 days) |
| Allow partial fill + Minimum Fill Amount | Whether partial acceptance is allowed and the minimum fill amount in USD | Yes (except NFT collateral) |
| Offer expiration | How long the offer stays visible (separate from loan duration) | Lend: 24h fixed / Borrow: 1, 3, or 7 days |
Oracles and Pricing
Offerbook does not use price oracles for loan execution. Loans are time-based with fixed terms, so there are no price-based liquidations or margin calls, and no onchain price tracking is required.Prices shown in the interface are provided by Jupiter’s pricing API and are informational only. They help users estimate values such as LTV, but do not affect loan execution or outcomes.

