Skip to main content

LeveragePair

Leverage pair with full rate, risk-factor, and liquidity fields for both collateral (long) and debt (short) sides.

chainIdstring

EVM chain id, as a decimal string. See the ChainId schema.

lenderstring

Protocol identifier. See the LenderId schema.

marketLongUidstring

Market UID of the collateral side

marketShortUidstring

Market UID of the debt side

marketNameLongstringnullable

Display name of the collateral market/vault (e.g. the Euler eVault name). Disambiguates rows that share the collateral/debt token symbols and lender.

marketNameShortstringnullable

Display name of the debt market/vault. For Euler this is the controller (debt) eVault — the primary way to tell otherwise-identical WETH→USDC rows apart.

curatorNameLongstringnullable

Curator/brand of the collateral market (Euler: resolved from the vault governor). Null for lenders without a curator, or until the curator registry is seeded. Render as "curatorName + symbol", falling back to marketNameLong.

curatorNameShortstringnullable

Curator/brand of the debt (controller) market. Same semantics as curatorNameLong.

assetLongstring

Collateral asset address

assetShortstring

Debt asset address

assetGroupLongstring
assetGroupShortstring
symbolLongstring

Collateral token symbol

nameLongstring

Collateral token name

symbolShortstring

Debt token symbol

nameShortstring

Debt token name

collateralFactorLongnumber

Liquidation collateral factor for the long side

Example: 0.94
borrowCollateralFactorLongnumber

Borrow-adjusted collateral factor for the long side

Example: 0.92
borrowFactorLongnumber

Borrow factor for the long side

Example: 1
collateralDisabledLongboolean

Whether collateral is disabled for the long asset

debtDisabledLongboolean

Whether debt is disabled for the long asset

collateralFactorShortnumber

Liquidation collateral factor for the short side

Example: 0.94
borrowCollateralFactorShortnumber

Borrow-adjusted collateral factor for the short side

Example: 0.92
borrowFactorShortnumber

Borrow factor for the short side

Example: 1
collateralDisabledShortboolean

Whether collateral is disabled for the short asset

debtDisabledShortboolean

Whether debt is disabled for the short asset

eModeConfigIdstring

E-mode configuration ID

eModestring

E-mode category

aprBasenumber

Base APR (deposit - borrow + intrinsic, before rewards)

aprTotalnumber

Total APR (base + rewards)

maxLeveragenumber

Highest leverage multiple reachable in this market.

ltvnumber

Loan-to-value ratio (0-1)

depositRateLongnumber
variableBorrowRateShortnumber
intrinsicYieldLongnumber
intrinsicYieldShortnumber
variableBorrowDisabledShortbooleannullable

True when the debt (short) market is a Lista DAO brokered market — it cannot be looped at a variable rate, only at one of the fixed terms in termsShort. variableBorrowRateShort is 0/undefined for such pairs.

termsShort object[]nullable

Fixed-term rate card for the debt (short) side when it is a Lista DAO brokered market. Each entry is one loop option — see the per-term net-APR recipe. null/empty for regular variable-rate pairs. For Term Finance an empty card means "not borrowable right now" rather than "no offers" — read fixedTerm.auction for why.

  • Array [
  • termIdinteger

    Term identifier — MEANING IS LENDER-SPECIFIC. Exactly and TermMax: the pool/market unix MATURITY timestamp. Lista: the broker-defined product id. Teller: the duration in seconds (rolling term). Midnight and Term Finance: 0, a placeholder (single maturity per market, so the id carries no information). Pass to /v1/actions/lending/borrow?termId=…. Numeric on-chain; some upstream feeds serialize it as a string — coerce with Number() when comparing.

    Example: 2
    depositAprnumbernullable

    Annualised fixed LEND rate at this maturity, in percent (Exactly only — its fixed pools quote both sides).

    availablenumbernullable

    Borrowable liquidity at this maturity in loan-token human units (Exactly only).

    durationDaysnumber

    How long the position is locked at the fixed rate, in days (e.g. 7, 14, 30).

    Example: 7
    durationSecsnumbernullable

    Term duration in seconds (raw on-chain value).

    Example: 604800
    aprnumber

    Annualised borrow APR for this term, in percent (e.g. 3.85 = 3.85%). Same unit as variableBorrowRate / stableBorrowRate. For order-book markets (Midnight) this is the 0-notional top-of-book (cheapest) rate — see aprAtAmount for the size-weighted rate.

    Example: 3.85
    aprAtAmountnumbernullable

    Size-weighted (VWAP) borrow APR % at the supplied debt notional, for order-book fixed-term markets (Morpho Midnight): the borrow book filled cheapest-first, (Σ filledᵢ·aprᵢ)/amount. Present only when an amount is supplied AND the term carries an order-book ladder; broker rate cards (Lista, single flat rate) omit it and apr already applies at any size.

    fillablenumbernullable

    Total loan-token depth in this term's order book — the maximum borrow openable at this maturity. Present only for order-book terms with an amount supplied.

    cappedbooleannullable

    True when the supplied debt notional exceeds fillable — the book can't fully fund the borrow at this maturity (aprAtAmount is then the drain-the-book VWAP).

    ladder object[]nullable

    Order-book borrow ladder (best-borrow first) for order-book fixed-term markets (Midnight). Only serialized when depth=true (bulky). aprAtAmount is the pre-computed size-weighted rate; use this to re-derive it at any amount.

  • Array [
  • aprnumber

    Annualised borrow rate at this tier (%).

    unitsstring

    Credit/debt units at this tier (raw).

    assetsnumber

    Loan-token size available at this tier.

  • ]
  • ]
  • fixedTerm objectnullable

    Fixed-term descriptor for this pair's lender, joined by lender key. Absent on variable-rate lenders. For Term Finance (model: "term"), gate the borrow/loop CTA on fixedTerm.auction.canBorrow: origination only happens inside scheduled sealed-bid auction rounds and most repos sit between rounds, so a pair can carry a maturity, an LTV and a rate and still be impossible to borrow. Note also that aprBase/aprTotal on such a pair are computed against a variableBorrowRate of 0 and therefore read as an enormous leveraged yield with a free debt leg — show them as indicative, not obtainable, whenever canBorrow is false.

    modelstring

    Underlying fixed-term protocol shape.

    Possible values: [lista, midnight, term, exactly, teller, termmax]

    Example: term
    maturityintegernullable

    Single fixed calendar maturity, unix seconds. Absent for rolling-duration menus (Lista) and multi-maturity markets (Exactly — the menu lives on terms[]).

    fees object

    Market-level fees: continuousFeeApr (%/yr lender-side haircut, Midnight), settlementFee (fraction at the current TTM, Midnight), latePenaltyApr (%/yr on overdue debt, Exactly), originationFeePercent (upfront % of principal, Teller). Empty for lenders without them.

    property name*any

    Market-level fees: continuousFeeApr (%/yr lender-side haircut, Midnight), settlementFee (fraction at the current TTM, Midnight), latePenaltyApr (%/yr on overdue debt, Exactly), originationFeePercent (upfront % of principal, Teller). Empty for lenders without them.

    earlyRepay object

    Early-repayment policy: { kind: "none" | "penalty" | "discount" }. none = exit any time at market price; penalty = per-loan penalty (amount is position-level); discount = repaying early costs LESS than face value (Exactly).

    property name*any

    Early-repayment policy: { kind: "none" | "penalty" | "discount" }. none = exit any time at market price; penalty = per-loan penalty (amount is position-level); discount = repaying early costs LESS than face value (Exactly).

    provider object

    Who fronts the term: { kind: "broker" | "orderbook" | "auction" | "pool", address? }. auction markets carry the auction window below and can only be borrowed inside a round.

    property name*any

    Who fronts the term: { kind: "broker" | "orderbook" | "auction" | "pool", address? }. auction markets carry the auction window below and can only be borrowed inside a round.

    auction object

    Origination window for a fixed-term market whose terms are only obtainable during a bounded round rather than continuously — Term Finance (fixedTerm.provider.kind = "auction"). Served on fixedTerm.auction; ABSENT on lenders whose terms are continuously available, and absent is NOT the same as closed.

    This is the difference between "the rate card is empty right now" and "this market cannot be borrowed at all": between rounds a Term repo still has a maturity, collateral params and a last-cleared rate, but nothing can be borrowed. Most repos are between rounds at any given time.

    statusstring

    upcoming — a round is listed but not yet accepting submissions. open — accepting sealed bids/offers. revealing — bidding shut, sealed prices revealing and the round clearing. closed — no round is listed. Snapshot at fetch time; re-derive from the timestamps against the current clock when reading a cached response.

    Possible values: [upcoming, open, revealing, closed]

    Example: open
    canBorrowboolean

    Can a NEW borrow be opened right now? Gate the borrow CTA on this, not on status and not on the presence of a rate — it stays correct if more statuses are added. True only inside an open round: Term borrow origination is a sealed bid, so there is no other entry point.

    Example: true
    canLendboolean

    Can a NEW lend position be opened right now? Deliberately independent of canBorrow — the primary auction is only one of two lend surfaces, and buying repo tokens on the secondary market works between rounds. A closed round therefore leaves the market lend-only, not inert; greying out the whole market would be wrong.

    Example: true
    secondsUntilCloseintegernullable

    Seconds until submissions close (revealTime − now). Absent unless a round is open. A snapshot — for a live countdown derive from revealTime, since responses are cached.

    Example: 263000
    implicationsstring[]

    Ready-to-display consequences of this market's origination model, most important first (same convention as params.market.teller.implications). Auction mechanics are unusual enough that showing only a rate misleads.

    idstringnullable

    Auction round id. Absent when status: "closed".

    startTimeintegernullable

    Submissions open, unix seconds. Absent when closed.

    revealTimeintegernullable

    Submissions CLOSE and sealed prices begin revealing, unix seconds — the deadline to act. Absent when closed.

    endTimeintegernullable

    Round clears, unix seconds. Equal to revealTime on current deployments. Absent when closed.

    minBorrowAmountstringnullable

    Minimum bid (borrow) size for this round, loan-token BASE units. A real floor (e.g. "1000000000" = 1000 USDC) — a smaller amount cannot be submitted at all, so validate before building the action rather than surfacing a failed transaction.

    Example: 1000000000
    minLendAmountstringnullable

    Minimum offer (lend) size for this round, loan-token BASE units.

    Example: 1000000000
    rewardAprLongnumber

    Total reward APR on the collateral side

    rewardAprShortnumber

    Total reward APR on the debt side

    rewardsLongobject[]nullable

    Reward programs for the collateral side

    rewardsShortobject[]nullable

    Reward programs for the debt side

    totalDepositsLongnumber

    Total deposits in token units (long side)

    totalDebtLongnumber

    Total debt in token units (long side)

    totalLiquidityLongnumber

    Total liquidity in token units (long side)

    totalDepositsShortnumber

    Total deposits in token units (short side)

    totalDebtShortnumber

    Total debt in token units (short side)

    totalLiquidityShortnumber

    Total liquidity in token units (short side)

    totalDepositsUsdLongnumber
    totalDebtUsdLongnumber
    totalLiquidityUsdLongnumber
    totalDepositsUsdShortnumber
    totalDebtUsdShortnumber
    totalLiquidityUsdShortnumber
    borrowLiquidityShortnumber

    Available borrow liquidity (debt side) in token units

    withdrawLiquidityLongnumber

    Available withdraw liquidity (collateral side) in token units

    depositableLongnumber

    Remaining deposit capacity (collateral side) in token units

    utilizationLongnumber
    utilizationShortnumber
    underlyingInfoLong object

    Collateral asset metadata including token info, market prices, and oracle prices

    asset object

    Token metadata (address, symbol, name, decimals, logoURI, assetGroup)

    property name*any

    Token metadata (address, symbol, name, decimals, logoURI, assetGroup)

    prices object

    Market prices (priceUsd, priceUsd24h, priceChange24h)

    property name*any

    Market prices (priceUsd, priceUsd24h, priceChange24h)

    oraclePrice object

    On-chain oracle prices (oraclePrice, oraclePriceUsd)

    property name*any

    On-chain oracle prices (oraclePrice, oraclePriceUsd)

    underlyingInfoShort object

    Debt asset metadata including token info, market prices, and oracle prices

    asset object

    Token metadata (address, symbol, name, decimals, logoURI, assetGroup)

    property name*any

    Token metadata (address, symbol, name, decimals, logoURI, assetGroup)

    prices object

    Market prices (priceUsd, priceUsd24h, priceChange24h)

    property name*any

    Market prices (priceUsd, priceUsd24h, priceChange24h)

    oraclePrice object

    On-chain oracle prices (oraclePrice, oraclePriceUsd)

    property name*any

    On-chain oracle prices (oraclePrice, oraclePriceUsd)

    property name*any

    Leverage pair with full rate, risk-factor, and liquidity fields for both collateral (long) and debt (short) sides.

    LeveragePair
    {
    "chainId": "string",
    "lender": "string",
    "marketLongUid": "string",
    "marketShortUid": "string",
    "marketNameLong": "string",
    "marketNameShort": "string",
    "curatorNameLong": "string",
    "curatorNameShort": "string",
    "assetLong": "string",
    "assetShort": "string",
    "assetGroupLong": "string",
    "assetGroupShort": "string",
    "symbolLong": "string",
    "nameLong": "string",
    "symbolShort": "string",
    "nameShort": "string",
    "collateralFactorLong": 0.94,
    "borrowCollateralFactorLong": 0.92,
    "borrowFactorLong": 1,
    "collateralDisabledLong": true,
    "debtDisabledLong": true,
    "collateralFactorShort": 0.94,
    "borrowCollateralFactorShort": 0.92,
    "borrowFactorShort": 1,
    "collateralDisabledShort": true,
    "debtDisabledShort": true,
    "eModeConfigId": "string",
    "eMode": "string",
    "aprBase": 0,
    "aprTotal": 0,
    "maxLeverage": 0,
    "ltv": 0,
    "depositRateLong": 0,
    "variableBorrowRateShort": 0,
    "intrinsicYieldLong": 0,
    "intrinsicYieldShort": 0,
    "variableBorrowDisabledShort": true,
    "termsShort": [
    {
    "termId": 2,
    "depositApr": 0,
    "available": 0,
    "durationDays": 7,
    "durationSecs": 604800,
    "apr": 3.85,
    "aprAtAmount": 0,
    "fillable": 0,
    "capped": true,
    "ladder": [
    {
    "apr": 0,
    "units": "string",
    "assets": 0
    }
    ]
    }
    ],
    "fixedTerm": {
    "model": "term",
    "maturity": 0,
    "fees": {},
    "earlyRepay": {},
    "provider": {},
    "auction": {
    "status": "open",
    "canBorrow": true,
    "canLend": true,
    "secondsUntilClose": 263000,
    "implications": [
    "string"
    ],
    "id": "string",
    "startTime": 0,
    "revealTime": 0,
    "endTime": 0,
    "minBorrowAmount": "1000000000",
    "minLendAmount": "1000000000"
    }
    },
    "rewardAprLong": 0,
    "rewardAprShort": 0,
    "rewardsLong": [
    {}
    ],
    "rewardsShort": [
    {}
    ],
    "totalDepositsLong": 0,
    "totalDebtLong": 0,
    "totalLiquidityLong": 0,
    "totalDepositsShort": 0,
    "totalDebtShort": 0,
    "totalLiquidityShort": 0,
    "totalDepositsUsdLong": 0,
    "totalDebtUsdLong": 0,
    "totalLiquidityUsdLong": 0,
    "totalDepositsUsdShort": 0,
    "totalDebtUsdShort": 0,
    "totalLiquidityUsdShort": 0,
    "borrowLiquidityShort": 0,
    "withdrawLiquidityLong": 0,
    "depositableLong": 0,
    "utilizationLong": 0,
    "utilizationShort": 0,
    "underlyingInfoLong": {
    "asset": {},
    "prices": {},
    "oraclePrice": {}
    },
    "underlyingInfoShort": {
    "asset": {},
    "prices": {},
    "oraclePrice": {}
    }
    }