ThesaurosDocs
Partner API

Yield history

Use observed protocol rates to inform the Earn experience.

Partner API

These records have protocol scope. APY uses decimal fractions and can be absent when there are no observations. Use USDC or USDT0; these asset identifiers differ from the sandbox.

Authentication · Errors · Amounts and units

Response examples below come from a local test account. IDs, balances and timestamps are sample data. Replace IDs and credentials with values from your account.

Blended APY history for an asset

GET /yield/history/{asset}

Protocol-wide blended APY across active Thesauros vaults for the asset. The series is identical for every caller and contains no partner-attributed data, so a partner binding is not required — any key with read or partner:read works.

Access: read, partner:read.

SDK methods: TypeScript client.rates.history(…); Python client.rates.history(…).

Parameters

| Name | Location | Type | Required | Description |

| --- | --- | --- | --- | --- |

| asset | path | "USDC", "USDT0" | Yes | |

Request example

bash
curl --fail-with-body -X GET "$THESAUROS_API_BASE/yield/history/USDC" \
  -H "Authorization: Bearer $THESAUROS_API_KEY"

Response · 200

Field Type Required Description
object string Yes
data YieldHistory Yes
View example response
json
{
  "object": "yield_history",
  "data": {
    "object": "yield_history",
    "scope": "protocol",
    "asset": "USDC",
    "blend_apy": 0.0526,
    "observations": 0,
    "history": [],
    "breakdown": [
      {
        "vault_id": "vault_morpho_base_usdc",
        "name": "Morpho Blue USDC Yield",
        "provider": "morpho",
        "chain": "base",
        "risk_tier": "core",
        "apy": 0.068,
        "apy_7d_avg": null,
        "allocation_pct": 0.22,
        "tvl_usd": 21700000
      },
      {
        "vault_id": "vault_aave_base_usdc",
        "name": "Aave V3 USDC Core",
        "provider": "aave",
        "chain": "base",
        "risk_tier": "bluechip",
        "apy": 0.052,
        "apy_7d_avg": null,
        "allocation_pct": 0.28,
        "tvl_usd": 48200000
      },
      {
        "vault_id": "vault_compound_base_usdc",
        "name": "Compound V3 USDC Base",
        "provider": "compound",
        "chain": "base",
        "risk_tier": "core",
        "apy": 0.048,
        "apy_7d_avg": null,
        "allocation_pct": 0.05,
        "tvl_usd": 18100000
      },
      {
        "vault_id": "vault_compound_arb_usdc",
        "name": "Compound V3 USDC",
        "provider": "compound",
        "chain": "arbitrum",
        "risk_tier": "bluechip",
        "apy": 0.045,
        "apy_7d_avg": null,
        "allocation_pct": 0.18,
        "tvl_usd": 33900000
      },
      {
        "vault_id": "vault_treasury_base_usdc",
        "name": "Tokenized Treasury USDC",
        "provider": "treasury",
        "chain": "base",
        "risk_tier": "bluechip",
        "apy": 0.039,
        "apy_7d_avg": null,
        "allocation_pct": 0.12,
        "tvl_usd": 74500000
      }
    ]
  }
}

For failed requests, inspect error.code, error.message and the request ID. Error handling.

Build with us.

Bring your product flow. We'll map the integration together.

Discuss your integration
Continue readingAnalytics

Find an integration guide, API method or SDK example.

Thesauros documentationSearch runs in your browser