Skip to main content

TermSupplySide

rolestringrequired

yield | collateral | both

rate objectrequired

All rates are NOMINAL APR in PERCENT (3.85 = 3.85 %/yr) — never a fraction, never an APY.

kindstringrequired

variable-curve | variable-managed | user-set | fixed-term | zero-interest | prepaid | nav-accrual | none. A zero-interest market is NOT a free borrow — the cost is a one-off fee.

aprnumberrequired

Base rate only.

components objectrequired
basenumber
rewardsnumbernullable

PRICEABLE rewards only.

intrinsicnumbernullable
aprTotalnumberrequired

base + priceable rewards + intrinsic. Deliberately EXCLUDES points programs, which have no priceable value — see rewards[].indicative.

basisstringrequired

Possible values: [apr-nominal]

compoundingstring
sourcestring
isLockedbooleanrequired
minAprnumbernullable
maxAprnumbernullable
userSet objectnullable

Present when the BORROWER sets the rate (Liquity family). A borrow UI must render an input: the rate decides your place in the redemption queue, so the cheapest is also the first redeemed. Omit the rate on the action and the protocol applies default (the branch average).

requiredboolean
minnumbernullable
maxnumbernullable
defaultnumbernullable
adjustableboolean
adjustmentCostNotestringnullable
adjustmentCooldownSecsnumbernullable
rewards object[]nullable
  • Array [
  • asset objectnullable
    property name*anynullable
    kindstring

    token | points | unknown

    aprnumber
    sidestring

    Possible values: [supply, borrow]

    claimstring

    accrual | merkl | manual | none

    endsAtnumbernullable
    indicativebooleannullable

    Points — not priceable, and excluded from aprTotal.

  • ]
  • menu object[]nullable
  • 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.

  • ]
  • ]
  • maturity objectrequired
    kindstringrequired

    perpetual | fixed-date | rolling-duration

    maturitynumbernullable

    Unix seconds.

    maturityIsostringnullable
    secondsToMaturitynumbernullable
    minDurationSecsnumbernullable
    maxDurationSecsnumbernullable
    atMaturitystringnullable

    What happens if NOBODY acts — the field that most surprises users. stops-earning | penalty-accrues | liquidatable | default-seizure | physical-delivery | refinanced | auto-roll | none.

    graceSecsnumbernullable

    Window before atMaturity bites. Observed as low as 300 s (Teller).

    exit objectrequired
    modestring
    settlementstring

    sync | async

    cooldownSecsnumbernullable

    How long YOUR money is locked.

    liquidity objectnullable
    property name*anynullable
    partialAllowedboolean
    priceRiskstring

    none | haircut-formula | market-price | may-be-impossible

    fees object[]
  • Array [
  • idstringrequired

    Stable slug: origination, late-penalty, early-repay-discount, reserve-contribution, instant-exit, performance, reserve-factor, …

    labelstringrequired

    Self-describing, so an id a client does not recognise still renders correctly.

    whenstringrequired

    entry | ongoing | exit | late | liquidation | performance

    unitstringrequired

    apr-percent | percent | bps | absolute

    basisstringrequired

    principal | face-value | yield | collateral | shares | debt-repaid

    valuenumberrequired

    Native-token value to send with the transaction, in wei.

    payeestringnullable
    mutablebooleannullable

    Governance-mutable — a snapshot.

    indicativebooleannullable

    Only resolvable at action time (Exactly’s discount, TermMax’s curve price).

    descriptionstringnullable

    Human-readable label for this entry.

  • ]
  • fees object[]required
  • Array [
  • idstringrequired

    Stable slug: origination, late-penalty, early-repay-discount, reserve-contribution, instant-exit, performance, reserve-factor, …

    labelstringrequired

    Self-describing, so an id a client does not recognise still renders correctly.

    whenstringrequired

    entry | ongoing | exit | late | liquidation | performance

    unitstringrequired

    apr-percent | percent | bps | absolute

    basisstringrequired

    principal | face-value | yield | collateral | shares | debt-repaid

    valuenumberrequired

    Native-token value to send with the transaction, in wei.

    payeestringnullable
    mutablebooleannullable

    Governance-mutable — a snapshot.

    indicativebooleannullable

    Only resolvable at action time (Exactly’s discount, TermMax’s curve price).

    descriptionstringnullable

    Human-readable label for this entry.

  • ]
  • backedBy object

    What backs a deposit (supply.backedBy) or what may be posted (borrow.acceptedCollateral).

    countintegerrequired

    Number of entries in items.

    weightBasisstringrequired

    debt | allocation | unweighted. unweighted means the ACCEPTED SET, not a measured split — pooled lenders do not record on-chain which collateral backs which borrow, so weightPct is absent and a pie chart would be fabricated.

    worstRiskScorenumbernullable

    1 (best) … 5 (worst).

    worstOracleBandstringnullable
    topWeightPctnumbernullable
    items object[]nullable

    Omitted on terms=digest; each entry carries its own marketUid for resolution.

  • Array [
  • asset object
    property name*any
    marketUidstringnullable

    Market identifier, formatted lender:chainId:address.

    viastring
    weightPctnumbernullable
    ltvnumbernullable

    Loan-to-value ratio, as a fraction between 0 and 1.

    liquidationLtvnumbernullable
    oracle objectnullable

    The market’s price input. SINGULAR by construction at marketUid granularity — verified across the full classification, 0 markets carry more than one address.

    kindstring

    price-feed | nav-attested | none. none is a FACT, not missing data (Teller liquidates on time and has no feed anywhere in its trigger; Frankencoin uses an owner-declared price).

    addressstringnullable

    Lowercased. The contract the protocol actually calls.

    componentsstring[]nullable
    providerstringnullable
    priceDescriptionstringnullable
    intendedPairstringnullable
    correctAssetbooleannullable
    correctNumerairebooleannullable
    scoreintegernullable

    Normalized risk score — lower is safer.

    bandstringnullable

    Possible values: [LOW, MEDIUM, HIGH, CRITICAL]

    flagsstring[]nullable
    mutability objectnullable
    property name*anynullable
    quality objectnullable
    property name*anynullable
  • ]
  • modesobject[]nullable
    counterparty objectrequired
    property name*any
    availability objectrequired
    canOpenbooleanrequired

    Gate the CTA on THIS and nothing else — it already folds in caps, freezes, auction windows and gating.

    canClosebooleanrequired
    blockedBystringnullable
    gatingstringrequired
    minSizestringnullable

    Minimum to OPEN, RAW base units of this side’s asset. On borrow a minimum DEBT (Comet baseBorrowMin, Liquity minDebt, Maker dust, Resupply minimumBorrowAmount); on supply a minimum COLLATERAL (Frankencoin). A smaller amount REVERTS — validate before building.

    capstringnullable
    capUtilizationnumbernullable
    requiresstring[]nullable
    window objectnullable
    property name*anynullable
    principal objectrequired
    property name*any
    info objectrequired
    headlinestringrequired

    Ready-to-render one-liner, templated from this market’s live numbers. ALWAYS populated — it is the graceful-degradation path when a client meets an enum member it predates.

    Example: Fixed 4.12% until 3 Sep 2026 · repay any time at face value
    descriptionstring

    Human-readable label for this entry.

    implicationsstring[]

    Consequences a rate alone hides, ordered MOST SEVERE FIRST. Present only on terms=full.

    tagsstring[]required

    Machine tags derived from the structured fields (never hand-written), e.g. time-liquidation, full-collateral-seizure, redeemable, exit-cooldown. Present in BOTH the digest and the full sheet, which is why severity can be computed from either.

    TermSupplySide
    {
    "role": "string",
    "rate": {
    "kind": "string",
    "apr": 0,
    "components": {
    "base": 0,
    "rewards": 0,
    "intrinsic": 0
    },
    "aprTotal": 0,
    "basis": "apr-nominal",
    "compounding": "string",
    "source": "string",
    "isLocked": true,
    "minApr": 0,
    "maxApr": 0,
    "userSet": {
    "required": true,
    "min": 0,
    "max": 0,
    "default": 0,
    "adjustable": true,
    "adjustmentCostNote": "string",
    "adjustmentCooldownSecs": 0
    },
    "rewards": [
    {
    "asset": {},
    "kind": "string",
    "apr": 0,
    "side": "supply",
    "claim": "string",
    "endsAt": 0,
    "indicative": true
    }
    ],
    "menu": [
    {
    "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
    }
    ]
    }
    ]
    },
    "maturity": {
    "kind": "string",
    "maturity": 0,
    "maturityIso": "string",
    "secondsToMaturity": 0,
    "minDurationSecs": 0,
    "maxDurationSecs": 0,
    "atMaturity": "string",
    "graceSecs": 0
    },
    "exit": {
    "mode": "string",
    "settlement": "string",
    "cooldownSecs": 0,
    "liquidity": {},
    "partialAllowed": true,
    "priceRisk": "string",
    "fees": [
    {
    "id": "string",
    "label": "string",
    "when": "string",
    "unit": "string",
    "basis": "string",
    "value": 0,
    "payee": "string",
    "mutable": true,
    "indicative": true,
    "description": "string"
    }
    ]
    },
    "fees": [
    {
    "id": "string",
    "label": "string",
    "when": "string",
    "unit": "string",
    "basis": "string",
    "value": 0,
    "payee": "string",
    "mutable": true,
    "indicative": true,
    "description": "string"
    }
    ],
    "backedBy": {
    "count": 0,
    "weightBasis": "string",
    "worstRiskScore": 0,
    "worstOracleBand": "string",
    "topWeightPct": 0,
    "items": [
    {
    "asset": {},
    "marketUid": "string",
    "via": "string",
    "weightPct": 0,
    "ltv": 0,
    "liquidationLtv": 0,
    "oracle": {
    "kind": "string",
    "address": "string",
    "components": [
    "string"
    ],
    "provider": "string",
    "priceDescription": "string",
    "intendedPair": "string",
    "correctAsset": true,
    "correctNumeraire": true,
    "score": 0,
    "band": "LOW",
    "flags": [
    "string"
    ],
    "mutability": {}
    },
    "quality": {}
    }
    ]
    },
    "modes": [
    {}
    ],
    "counterparty": {},
    "availability": {
    "canOpen": true,
    "canClose": true,
    "blockedBy": "string",
    "gating": "string",
    "minSize": "string",
    "cap": "string",
    "capUtilization": 0,
    "requires": [
    "string"
    ],
    "window": {}
    },
    "principal": {},
    "info": {
    "headline": "Fixed 4.12% until 3 Sep 2026 · repay any time at face value",
    "description": "string",
    "implications": [
    "string"
    ],
    "tags": [
    "string"
    ]
    }
    }