# 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](https://www.vestiarion.xyz/docs/get-started/authentication) as `Authorization: Bearer <key>`.

## Parameters

No parameters.

## Code samples

```bash
curl "https://www.vestiarion.xyz/api/v1/treasury" \
  -H "Authorization: Bearer $VESTIARION_API_KEY"
```

## Response

Example, `200` `application/json`:

```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**

- `data` (object, required): The workspace's accounts, reserve, obligations, latest forecast and recent treasury moves.
  - `accounts` (array of object, required)
    - `id` (string, required)
    - `name` (string, required)
    - `kind` (string, required) One of `operating`, `reserve`, `chain`.
    - `chain` (string, required)
    - `token` (string, required)
    - `address` (string, nullable, required)
    - `balance` (number, required)
    - `apy` (number, required)
  - `reservePosition` (number, required): The sum of the reserve accounts' balances.
  - `obligations` (object, required): From the latest cycle snapshot; null before any snapshot exists, never an invented zero.
    - `asOf` (string, nullable, required)
    - `dueWithin7Days` (number, nullable, required)
    - `dueWithin14Days` (number, nullable, required)
  - `latestForecast` (object, nullable, required)
    - `id` (string, required)
    - `asOf` (string, required)
    - `horizonDays` (number, required)
    - `projectedInflow` (number, required)
    - `projectedOutflow` (number, required)
    - `liquidBalance` (number, required)
    - `recommendation` (string, nullable, required)
  - `recentActions` (array of object, required): Up to 20 treasury moves, newest first.
    - `id` (string, required)
    - `action` (string, required) One of `sweep_to_usyc`, `redeem_from_usyc`, `rebalance`.
    - `amount` (number, required)
    - `fromAccountId` (string, nullable, required)
    - `toAccountId` (string, nullable, required)
    - `reasoning` (string, nullable, required)
    - `createdAt` (string, required)

## 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. |
