# Read the Omnibus Sub-Ledger

What the omnibus owes each customer, per chain and asset, and your tenant's own position in it: the house.

## Overview

- **`claims`**: each customer's claim — `chainId`, `asset`, `accountId` (the customer's collection account), `balance` —, never negative, by chain, asset and account. A claim paid out in full stays, at `"0"`.
- **`house`**: your tenant's own position per chain and asset — the treasury's and the pool's opening balances and what reaches their wallets from outside the omnibus, what your funding addresses send to collection wallets, less the fees the omnibus's sends paid. An asset the house never moved has no row. It can be negative: the reconciliation then says `HOUSE_NEGATIVE`.
- Amounts in the asset's smallest unit, as text. How each claim moves: [Account Structures](https://docs.aureahub.com/docs/guide-account-structures.md) › The Sub-Ledger; every movement: [List Sub-Ledger Entries](https://docs.aureahub.com/docs/structures-ledger-entries.md).
- **Filters**: `accountId` (one customer — `house` is then empty), `chainId`, `asset` (`native` or a token's address, any case). Any other parameter answers `400` `STRUCTURE_REQUEST_INVALID`.
- **Empty until the omnibus processing comes**: `{ "claims": [], "house": [] }`.
- For `owner`, `tenantadmin`, `non_signing_admin`, `signer`, `approver`, `editor`, `viewer` and `auditor`, on their own tenant, with an access token.

## Endpoint

### `GET /v1/structures/{network}/ledger`

Authentication: bearer token required.

Each customer's claim on the omnibus per chain and asset, and the house's.

**Path parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `network` | string | yes | `mainnet` or `testnet` |

**Query parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `accountId` | string (uuid) | no | One customer's collection account |
| `chainId` | integer | no | One chain, e.g. `8453` |
| `asset` | string | no | `native`, or a token's contract address |

**Responses**

`200` OK

```json
{
  "claims": [
    { "chainId": 8453, "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "accountId": "3cb0a94e-6358-445d-99a2-021749a80e0a", "balance": "310000000" },
    { "chainId": 8453, "asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "accountId": "f22d2b25-338e-444c-93ef-71693565f346", "balance": "75500000" },
    { "chainId": 8453, "asset": "native", "accountId": "3cb0a94e-6358-445d-99a2-021749a80e0a", "balance": "4000000000000000" }
  ],
  "house": [
    { "chainId": 8453, "asset": "native", "balance": "48156800000000000" }
  ]
}
```

`200` Not enabled

```json
{
  "claims": [],
  "house": []
}
```

`400` Invalid

```json
{
  "statusCode": 400,
  "error": "BadRequestError",
  "message": "Invalid request",
  "details": {
    "code": "STRUCTURE_REQUEST_INVALID",
    "errors": ["asset: `native` or a token's EVM address"]
  }
}
```

**Example request**

```bash
curl "https://api.aureahub.com/v1/structures/mainnet/ledger?chainId=8453" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```

---

Web version: https://docs.aureahub.com/#structures-ledger
