FixedTermInfo
Canonical cross-protocol fixed-term market descriptor, served per lender key on fixed-rate / fixed-maturity markets (Lista brokered, Morpho Midnight, Term Finance, Exactly, Teller, TermMax). Absent on variable-rate lenders. The rate-card menu itself stays on markets[].terms[]; this carries the maturity, fee, early-repay and origination-window facts. Per-protocol repay/penalty economics are documented in FIXED_TERM_REPAY_TERMS.md.
Underlying fixed-term protocol shape.
Possible values: [lista, midnight, term, exactly, teller, termmax]
termSingle 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.
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).
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.
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.
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]
openCan 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.
trueCan 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.
trueSeconds until submissions close (revealTime − now). Absent unless a round is open. A snapshot — for a live countdown derive from revealTime, since responses are cached.
263000Ready-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.
Auction round id. Absent when status: "closed".
Submissions open, unix seconds. Absent when closed.
Submissions CLOSE and sealed prices begin revealing, unix seconds — the deadline to act. Absent when closed.
Round clears, unix seconds. Equal to revealTime on current deployments. Absent when closed.
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.
1000000000Minimum offer (lend) size for this round, loan-token BASE units.
1000000000{
"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"
}
}