Vaults
Read available vault records and their observed rate history.
Partner APIAuthentication · 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.
Vaults with observed trailing APY averages and risk tier
GET /vaults
Scope: read or partner:read (protocol-level). apy_7d_avg/apy_30d_avg come from recorded hourly observations and are null until enough exist.
Access: read, partner:read.
SDK methods: TypeScript client.vaults.list(…); Python client.vaults.list(…).
Parameters
| Name | Location | Type | Required | Description |
| --- | --- | --- | --- | --- |
| asset | query | "USDC", "USDT0" | No | Filter by asset symbol. |
| network | query | "arbitrum", "base", "plasma", "monad", "mainnet" | No | Filter to one chain. Omit for every chain — no server state is switched. |
Request example
curl --fail-with-body -X GET "$THESAUROS_API_BASE/vaults" \
-H "Authorization: Bearer $THESAUROS_API_KEY"
Response · 200
| Field | Type | Required | Description |
|---|---|---|---|
object |
string |
Yes | |
data |
VaultDto[] | Yes |
View example response
{
"object": "list",
"data": [
{
"object": "vault",
"id": "vault_plasma_usdt0",
"name": "Thesauros USDT0 Vault",
"provider": "morpho",
"asset": "USDT0",
"chain": "plasma",
"apy": 0.076,
"apy_7d_avg": null,
"apy_30d_avg": null,
"tvl_usd": 12800000,
"capacity_usd": 40000000,
"risk_tier": "core",
"status": "active",
"allocation_pct": 0.07
},
{
"object": "vault",
"id": "vault_morpho_base_usdc",
"name": "Morpho Blue USDC Yield",
"provider": "morpho",
"asset": "USDC",
"chain": "base",
"apy": 0.068,
"apy_7d_avg": null,
"apy_30d_avg": null,
"tvl_usd": 21700000,
"capacity_usd": 60000000,
"risk_tier": "core",
"status": "active",
"allocation_pct": 0.22
},
{
"object": "vault",
"id": "vault_aave_base_usdc",
"name": "Aave V3 USDC Core",
"provider": "aave",
"asset": "USDC",
"chain": "base",
"apy": 0.052,
"apy_7d_avg": null,
"apy_30d_avg": null,
"tvl_usd": 48200000,
"capacity_usd": 120000000,
"risk_tier": "bluechip",
"status": "active",
"allocation_pct": 0.28
},
{
"object": "vault",
"id": "vault_compound_base_usdc",
"name": "Compound V3 USDC Base",
"provider": "compound",
"asset": "USDC",
"chain": "base",
"apy": 0.048,
"apy_7d_avg": null,
"apy_30d_avg": null,
"tvl_usd": 18100000,
"capacity_usd": 55000000,
"risk_tier": "core",
"status": "active",
"allocation_pct": 0.05
},
{
"object": "vault",
"id": "vault_compound_arb_usdc",
"name": "Compound V3 USDC",
"provider": "compound",
"asset": "USDC",
"chain": "arbitrum",
"apy": 0.045,
"apy_7d_avg": null,
"apy_30d_avg": null,
"tvl_usd": 33900000,
"capacity_usd": 90000000,
"risk_tier": "bluechip",
"status": "active",
"allocation_pct": 0.18
},
{
"object": "vault",
"id": "vault_treasury_base_usdc",
"name": "Tokenized Treasury USDC",
"provider": "treasury",
"asset": "USDC",
"chain": "base",
"apy": 0.039,
"apy_7d_avg": null,
"apy_30d_avg": null,
"tvl_usd": 74500000,
"capacity_usd": 250000000,
"risk_tier": "bluechip",
"status": "active",
"allocation_pct": 0.12
}
]
}
For failed requests, inspect error.code, error.message and the request ID. Error handling.
Observed APY series for one vault
GET /apy/history
Scope: read or partner:read (protocol-level). vault is required; days is 1-90 (default 7). Points are the recorded hourly observations, oldest first.
Access: read, partner:read.
SDK methods: TypeScript client.vaults.history(…); Python client.vaults.history(…).
Parameters
| Name | Location | Type | Required | Description |
| --- | --- | --- | --- | --- |
| vault | query | string | No | Vault id. Required. |
| days | query | number | No | Window in days, 1-90 (default 7). |
Request example
curl --fail-with-body -X GET "$THESAUROS_API_BASE/apy/history?vault=vault_plasma_usdt0" \
-H "Authorization: Bearer $THESAUROS_API_KEY"
Response · 200
| Field | Type | Required | Description |
|---|---|---|---|
object |
string |
Yes | |
data |
ApyHistoryDto | Yes |
View example response
{
"object": "apy_history",
"data": {
"object": "apy_history",
"vault_id": "vault_plasma_usdt0",
"name": "Thesauros USDT0 Vault",
"asset": "USDT0",
"chain": "plasma",
"days": 7,
"apy_avg": null,
"observations": 0,
"points": []
}
}
For failed requests, inspect error.code, error.message and the request ID. Error handling.