Skip to main content

LenderLoopSupport

The loop support of ONE lender, per action — the lender → loopable list. null = no route exists: the loop endpoints refuse the (lender, action) pair up front and no row or pair of that lender declares the capability. Served as loop on every /v1/data/lending/lenders item; the per-row capabilities[] entries are a projection of the same table.

familystringrequired

Which family row of the matrix answered (stable, lower-kebab): aave-v2, aave-v3, aave-v4, compound-v3, compound-v2-venus, compound-v2, silo, fluid, gearbox-v3, euler-v2, init, dolomite, morpho-blue, lista-dao, midnight, exactly, llamalend, twyne, flying-tulip, curvance, fraxlend, resupply, term, teller, liquity-v2, river, inverse, cooler, dss, frankencoin, termmax.

Example: aave-v3
openstringnullablerequired

Route for /v1/actions/loop/leverage, or null.

Possible values: [composer, bundler3, native, two-step, null]

closestringnullablerequired

Route for /v1/actions/loop/close, or null.

Possible values: [composer, bundler3, native, two-step, null]

collateralSwapstringnullablerequired

Route for /v1/actions/loop/collateral-swap, or null.

Possible values: [composer, bundler3, native, two-step, null]

debtSwapstringnullablerequired

Route for /v1/actions/loop/debt-swap, or null.

Possible values: [composer, bundler3, native, two-step, null]

marketGatestring

A per-market descriptor field that must ALSO be true for a given market of this lender — see MarketCapability.marketGate.

notesstring

What a null is missing, or what a non-null route depends on — protocol facts, for the human reading the table.

LenderLoopSupport
{
"family": "aave-v3",
"open": "composer",
"close": "composer",
"collateralSwap": "composer",
"debtSwap": "composer",
"marketGate": "string",
"notes": "string"
}