API reference
Get the treasury
GET
/ api/ v1/ treasuryThe workspace's accounts and reserve position, its obligations from the latest cycle snapshot, the latest liquidity forecast, and up to 20 recent treasury moves. Obligations stay null before any snapshot exists; the API does not invent zeroes.
Send a workspace API key as Authorization: Bearer ….
Parameters
No parameters.
Try it
The key is kept in memory only, for this page.
Code samples
cURL
curl "https://www.vestiarion.xyz/api/v1/treasury" \
-H "Authorization: Bearer $VESTIARION_API_KEY"Response
Example200 · application/json
{
"data": {
"accounts": [
{
"id": "55ce33e5-4b1c-47e6-838b-2446b80300c7",
"name": "Base Client Wallet",
"kind": "chain",
"chain": "BASE-SEPOLIA",
"token": "USDC",
"address": "0x4d10b4076a4975650e80d087fc9c99610ca76266",
"balance": 0,
"apy": 0
},
{
"id": "6f32681d-2f32-4db2-9841-c44f9be25965",
"name": "Arc Operating Wallet",
"kind": "operating",
"chain": "ARC-TESTNET",
"token": "USDC",
"address": "0x2fafdda3f973e8f993911f1c2196d5e72d51d71d",
"balance": 22.765,
"apy": 0
},
{
"id": "02a3c356-9571-4d5e-992a-5672dedba590",
"name": "USYC Reserve",
"kind": "reserve",
"chain": "ARC-TESTNET",
"token": "USYC",
"address": "0x8c99d5b1ee35e7d02887f5064a1b3f1a78a0ab66",
"balance": 0,
"apy": 0.045
}
],
"reservePosition": 0,
"obligations": {
"asOf": "2026-09-24T18:33:03.344+00:00",
"dueWithin7Days": 11.2,
"dueWithin14Days": 11.2
},
"latestForecast": {
"id": "73400ece-0f38-4695-9bad-3816650b71fb",
"asOf": "2026-09-24T18:33:03.226+00:00",
"horizonDays": 14,
"projectedInflow": 9,
"projectedOutflow": 11.2,
"liquidBalance": 22.765,
"recommendation": "Liquidity healthy."
},
"recentActions": []
}
}dataobjectThe workspace's accounts, reserve, obligations, latest forecast and recent treasury moves.
5 fields in data
accountsarray of object8 fields in accounts
idstringnamestringkindstringOne of
operatingreservechainchainstringtokenstringaddressstring · nullablebalancenumberapynumber
reservePositionnumberThe sum of the reserve accounts' balances.
obligationsobjectFrom the latest cycle snapshot; null before any snapshot exists, never an invented zero.
3 fields in obligations
asOfstring · nullabledueWithin7Daysnumber · nullabledueWithin14Daysnumber · nullable
latestForecastobject · nullable7 fields in latestForecast
idstringasOfstringhorizonDaysnumberprojectedInflownumberprojectedOutflownumberliquidBalancenumberrecommendationstring · nullable
recentActionsarray of objectUp to 20 treasury moves, newest first.
7 fields in recentActions
idstringactionstringOne of
sweep_to_usycredeem_from_usycrebalanceamountnumberfromAccountIdstring · nullabletoAccountIdstring · nullablereasoningstring · nullablecreatedAtstring
Errors
| Status | Code | When |
|---|---|---|
| 401 | unauthorized | No key, or a malformed, unknown or revoked one: "A valid API key is required." |
| 403 | forbidden | The key's scopes do not cover this route: "This key cannot do that." Or, on a write, the person who created the key can no longer add records: "This key's issuer can no longer add records in this workspace." |
| 500 | internal | An unexpected server error. Implementation details are not exposed. |