Skip to content
VestiarionDocs

API reference

Get the treasury

GET/api/v1/treasury

The 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

Example
200 · 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": []
  }
}
Fields
  • dataobject

    The workspace's accounts, reserve, obligations, latest forecast and recent treasury moves.

    5 fields in data
    • accountsarray of object
      8 fields in accounts
      • idstring
      • namestring
      • kindstring

        One ofoperatingreservechain

      • chainstring
      • tokenstring
      • addressstring · nullable
      • balancenumber
      • apynumber
    • reservePositionnumber

      The sum of the reserve accounts' balances.

    • obligationsobject

      From the latest cycle snapshot; null before any snapshot exists, never an invented zero.

      3 fields in obligations
      • asOfstring · nullable
      • dueWithin7Daysnumber · nullable
      • dueWithin14Daysnumber · nullable
    • latestForecastobject · nullable
      7 fields in latestForecast
      • idstring
      • asOfstring
      • horizonDaysnumber
      • projectedInflownumber
      • projectedOutflownumber
      • liquidBalancenumber
      • recommendationstring · nullable
    • recentActionsarray of object

      Up to 20 treasury moves, newest first.

      7 fields in recentActions
      • idstring
      • actionstring

        One ofsweep_to_usycredeem_from_usycrebalance

      • amountnumber
      • fromAccountIdstring · nullable
      • toAccountIdstring · nullable
      • reasoningstring · nullable
      • createdAtstring

Errors

StatusCodeWhen
401unauthorizedNo key, or a malformed, unknown or revoked one: "A valid API key is required."
403forbiddenThe 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."
500internalAn unexpected server error. Implementation details are not exposed.