Markets

Get the lending markets Scrooge tracks, with their current rates.

List markets

MethodPathAuth
GET/marketsAPI key

Parameters

ParameterMeaning
chainOnly markets on this chain: solana, ethereum.
protocolOnly markets of this protocol: Kamino, MarginFi, Save, Jupiter Lend, Jupiter, Hylo, Loopscale, Aave v3, Morpho Blue.

Each parameter is optional. A value outside its list returns 422.

Response

FieldMeaning
successAlways true on this response.
dataThe markets, one object each.
freshness.maxAgeSecondsSeconds until the data can next change; 0 once that time has passed.
sourcesThe data sources and whether each holds data. A source without data adds no markets.

Each market in data has these fields:

FieldMeaning
idThe market's id on its chain.
slugNot present on this endpoint.
protocolThe protocol that runs the market.
marketGroupThe protocol's name for the group the market is in, or null.
labelThe market's name, built from its assets, or null.
labelCollateralThe collateral asset of the pair in the name, or null.
labelLltvBpsThe liquidation LTV of the pair in the name, or null.
nameSharedtrue when another market in the list has the same name.
assetThe asset the market holds, and in what form.
chainThe chain the market is on.
riskThe market's risk class. No market is classified yet.
supplyApyBpsThe supply APY, or null.
borrowApyBpsThe borrow APY, or null.
apyDisplayBoundBpsThe rate above which the protocol shows only this bound, or null.
utilizationBpsThe share of the supplied amount that is borrowed, or null.
tvlTotal value locked: its value, currency and source, or null.
tvlReadFailureWhen the TVL could not be read, an object whose readAtUnixSeconds is the time of the failed read; otherwise null.
protocolWarningsThe warnings the protocol publishes for the market and when they were read, or null.
suppliedBaseUnitsThe amount supplied, as a decimal string in the asset's smallest unit, or null.
assetDecimalsThe asset's decimals, or null.
historyAlways null on this endpoint.
borrowHistoryAlways null on this endpoint.
maxLtvBpsThe maximum LTV, or null.
liquidationThresholdBpsThe liquidation threshold, or null.
operationalStateThe state the protocol publishes for the market, or null.
observedAtWhen the market's values were read.

Fields whose name ends in Bps are in basis points, where 100 is 1%. Times are Unix seconds.

Example

curl "$SCROOGE_API_URL/markets?chain=ethereum" \
  -H "Authorization: Bearer $SCROOGE_API_KEY"

The example response is shortened to one market.

{
  "success": true,
  "data": [
    {
      "id": "0x90ef0c5a0dc7c4de4ad4585002d44e9d411d212d2f6258e94948beecf8b4c0d5",
      "protocol": "Morpho Blue",
      "marketGroup": null,
      "label": "sUSDe / PYUSD",
      "labelCollateral": {
        "kind": "unverified",
        "chain": "ethereum",
        "mint": "0x9D39A5DE30e57443BfF2A8307A4256c8797A3497",
        "claimedSymbol": "sUSDe"
      },
      "labelLltvBps": 9150,
      "nameShared": false,
      "asset": {
        "kind": "spot",
        "asset": {
          "kind": "unverified",
          "chain": "ethereum",
          "mint": "0x6c3ea9036406852006290770BEdFcAbA0e23A0e8",
          "claimedSymbol": "PYUSD"
        }
      },
      "chain": "ethereum",
      "risk": {
        "kind": "unclassified"
      },
      "supplyApyBps": 367,
      "borrowApyBps": 413,
      "apyDisplayBoundBps": 100000,
      "utilizationBps": 8906,
      "tvl": {
        "value": 109657883.20646952,
        "currency": {
          "kind": "unit",
          "namespace": "iso-4217",
          "unit": "USD"
        },
        "source": {
          "kind": "venue-figure",
          "readAtUnixSeconds": 1792873003
        }
      },
      "tvlReadFailure": null,
      "protocolWarnings": {
        "source": "Morpho Blue",
        "readAtUnixSeconds": 1792872177,
        "warnings": []
      },
      "suppliedBaseUnits": "109621052328718",
      "assetDecimals": 6,
      "history": null,
      "borrowHistory": null,
      "maxLtvBps": 9150,
      "liquidationThresholdBps": 9150,
      "operationalState": "NoStatusMechanism",
      "observedAt": 1792873000
    }
  ],
  "freshness": {
    "maxAgeSeconds": 900
  },
  "sources": [
    {
      "sourceId": "kamino",
      "kind": "observed"
    },
    {
      "sourceId": "aave",
      "kind": "observed"
    },
    {
      "sourceId": "morpho",
      "kind": "observed"
    }
  ]
}