> ## Documentation Index
> Fetch the complete documentation index at: https://01resolved.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Account Registry

> Tracked treasury accounts, their balances, groups, and the known counterparties a project transacts with.

These endpoints power the **Account Registry** view on a project's Financials tab: active accounts by group and sub-group, legacy accounts, and known counterparties. List endpoints identify the project with `slug`; detail endpoints take a numeric `id` in the path.

***

## GET /v1/dao/account-registry

Returns all wallets tracked for a DAO with balances, labels, and custody type. Powers the **Account Registry** tab.

**Parameters:** `slug` (required)

```bash theme={null}
curl -H "x-api-key: YOUR_KEY" \
  "https://api.01resolved.com/v1/dao/account-registry?slug=solomon"
```

<Accordion title="Example Response">
  ```json theme={null}
  {
    "data": [
      {
        "address": "Bo24B7DDVtpa9VxZ4LN8FrAT7TM3cgkri41a5GjFg5Dk",
        "name": "Team Performance Package",
        "custodyType": "Program",
        "chain": "Solana",
        "isActive": true,
        "entityType": "DAO",
        "trackingMode": "full",
        "notes": "Team will have a 18-month cliff and unlock tokens in equal tranches at performance milestones."
      }
    ]
  }
  ```
</Accordion>

| Field | Description |
| - | - |
| `name` | Labeled wallet name (e.g. `Vault`, `FutarchyAMM`, `DAO Main`) |
| `custodyType` | How the wallet is controlled (e.g. `Multi-sig`, `Program`) |
| `isActive` | Whether this wallet is currently active |
| `entityType` | Classification of the wallet (e.g. `DAO`) |
| `trackingMode` | Level of tracking applied (`full` or `partial`) |
| `notes` | Human-readable notes about the wallet's purpose |

***

## GET /v1/group

Returns account registry groups and their subgroups. Powers the **Group** and **Sub-group** columns in the Account Registry tab.

**Parameters:** `slug` (required)

```bash theme={null}
curl -H "x-api-key: YOUR_KEY" \
  "https://api.01resolved.com/v1/group?slug=solomon"
```

<Accordion title="Example Response">
  ```json theme={null}
  {
    "data": [
      {
        "id": 1,
        "name": "Treasury",
        "subgroups": [
          { "id": 1, "name": "Main", "order": 0 },
          { "id": 2, "name": "LP", "order": 1 },
          { "id": 3, "name": "Vesting", "order": 2 }
        ]
      },
      {
        "id": 2,
        "name": "Operations",
        "subgroups": [
          { "id": 9, "name": "Payroll", "order": 0 },
          { "id": 10, "name": "Security", "order": 1 },
          { "id": 11, "name": "Infrastructure", "order": 2 },
          { "id": 12, "name": "Legal", "order": 3 },
          { "id": 13, "name": "Grants", "order": 4 },
          { "id": 14, "name": "Other Expense", "order": 5 }
        ]
      }
    ]
  }
  ```
</Accordion>

| Field | Description |
| - | - |
| `name` | Top-level group label (e.g. `Treasury`, `Operations`) |
| `subgroups[].name` | Sub-group label (e.g. `Main`, `LP`, `Payroll`, `Legal`) |
| `subgroups[].order` | Display order within the group |

***

## GET /v1/account

Returns the flat account list for a project. A lighter alternative to `/v1/dao/account-registry` that includes the numeric `id` needed by the account detail and balance endpoints.

**Parameters:** `slug` (required), `q`, `entityType`, `isActive`

<Warning>
  Without `slug`, this endpoint returns accounts across **all** projects. Always pass `slug` to scope results to one project.
</Warning>

```bash theme={null}
curl -H "x-api-key: YOUR_KEY" \
  "https://api.01resolved.com/v1/account?slug=solomon"
```

<Accordion title="Example Response">
  ```json theme={null}
  {
    "data": [
      {
        "id": 1486,
        "project": "solomon",
        "address": "Bo24B7DDVtpa9VxZ4LN8FrAT7TM3cgkri41a5GjFg5Dk",
        "name": "Team Performance Package",
        "venue": "",
        "chain": "Solana",
        "creationTime": "2025-11-17T17:00:00.000Z",
        "deactivatedTime": null,
        "custodyType": "Program",
        "entityType": "DAO",
        "trackingMode": "full"
      },
      {
        "id": 507,
        "project": "solomon",
        "address": "DzYtzoNvPbyFCzwZA6cSm9eDEEmxEB9f8AGkJXUXgnSA",
        "name": "FutarchyAMM",
        "venue": "",
        "chain": "Solana",
        "creationTime": "2025-11-17T17:00:00.000Z",
        "deactivatedTime": null,
        "custodyType": "Program",
        "entityType": "DAO",
        "trackingMode": "balance_only"
      }
    ]
  }
  ```
</Accordion>

| Field | Description |
| - | - |
| `id` | Numeric account ID. Used in `/v1/account/{id}` and the balance endpoints |
| `name` | Labeled wallet name (e.g. `Vault`, `FutarchyAMM`, `DAO Main`) |
| `custodyType` | How the wallet is controlled. See the custody types table below |
| `deactivatedTime` | When the account was retired, or `null` if still active |
| `trackingMode` | `full` (movements and balances) or `balance_only` (balances only) |
| `venue` | Exchange or platform holding the account, for off-chain accounts |

**Custody types.** The `custodyType` field takes one of five values, also available from `GET /v1/account/custody-types`:

| Value | Meaning |
| - | - |
| `Self-custody` | Single-signer wallet controlled directly |
| `Multi-sig` | Requires multiple signers to move funds |
| `Program` | Controlled by an onchain program, not a keypair |
| `Third-party custody` | Held by an external custodian |
| `Offchain` | Not held onchain (e.g. a bank or exchange account) |

***

## GET /v1/account/active

Returns active accounts only, with token holdings and treasury totals inlined. Paginated.

**Parameters:** `slug` (required), `limit`, `page`

```bash theme={null}
curl -H "x-api-key: YOUR_KEY" \
  "https://api.01resolved.com/v1/account/active?slug=solomon&limit=10"
```

<Accordion title="Example Response">
  ```json theme={null}
  {
    "meta": { "totalItems": 9, "totalPages": 1, "currentPage": 1 },
    "data": {
      "totalNativeTokenValue": 11442884.96,
      "totalValue": 5823289.51,
      "accounts": [
        {
          "id": 1486,
          "name": "Team Performance Package",
          "address": "Bo24B7DDVtpa9VxZ4LN8FrAT7TM3cgkri41a5GjFg5Dk",
          "custodyType": "Program",
          "entityType": "DAO",
          "trackingMode": "full",
          "nativeTokenValue": "8444330.95334507058",
          "totalValue": "0.3465847128627088434",
          "subGroups": [
            { "subGroup": "Vesting", "group": "Treasury", "subGroupId": 7, "groupId": 1 }
          ],
          "tokens": [
            {
              "name": "Solomon",
              "symbol": "SOLO",
              "amount": "12900000",
              "usdPrice": "0.6545992987089202",
              "value": "8444330.95334507058",
              "decimals": 6,
              "address": "SoLo9oxzLDpcq1dpqAgMwgce5WqkRDtNXK7EPnbmeta"
            }
          ]
        }
      ]
    }
  }
  ```
</Accordion>

| Field | Description |
| - | - |
| `totalNativeTokenValue` | Combined USD value of the project's own token across all active accounts |
| `totalValue` | Combined USD value of all **non-native** holdings. This is the treasury figure that feeds NAV |
| `accounts[].nativeTokenValue` | USD value of the project's own token held in this account |
| `accounts[].totalValue` | USD value of everything **except** the native token in this account |
| `accounts[].subGroups` | Group and sub-group assignment from `/v1/group` |
| `accounts[].tokens` | Every token held, with amount, price, and USD value |

<Note>
  `totalValue` excludes the project's own token. A project cannot count treasury-held supply of its own token as backing, so NAV uses this figure rather than the sum of all holdings.
</Note>

***

## GET /v1/account/grouped

Returns accounts bucketed into display groups. Powers the grouped account selector.

**Parameters:** `slug` (required)

```bash theme={null}
curl -H "x-api-key: YOUR_KEY" \
  "https://api.01resolved.com/v1/account/grouped?slug=solomon"
```

<Accordion title="Example Response">
  ```json theme={null}
  {
    "data": [
      {
        "group": { "key": "active", "label": "Active Accounts" },
        "accounts": [
          {
            "id": 536,
            "address": "98SPcyUZ2rqM2dgjCqqSXS4gJrNTLSNUAAVCF38xYj9u",
            "name": "DAO Main",
            "custodyType": "Multi-sig",
            "chain": "Solana",
            "entityType": "DAO"
          }
        ]
      }
    ]
  }
  ```
</Accordion>

| Field | Description |
| - | - |
| `group.key` | Machine-readable group key (e.g. `active`) |
| `group.label` | Display label for the group (e.g. `Active Accounts`) |
| `accounts` | Accounts belonging to this group, in display order |

***

## GET /v1/account/legacy

Returns retired and replaced accounts, including what replaced them and the proposal that authorized the change.

**Parameters:** `slug` (required), `limit`, `page`

```bash theme={null}
curl -H "x-api-key: YOUR_KEY" \
  "https://api.01resolved.com/v1/account/legacy?slug=coal"
```

<Accordion title="Example Response">
  ```json theme={null}
  {
    "meta": { "totalItems": 1, "currentPage": 1 },
    "data": [
      {
        "id": 516,
        "project": "coal",
        "address": "623DCqsjWSLjiPeTmAFZho5vcTVNbJRkkErF3bxupR4d",
        "name": "Main (Old)",
        "chain": "solana",
        "custodyType": "Self-custody",
        "entityType": "DAO",
        "trackingMode": "full",
        "proposalTitle": null,
        "proposalAddress": null,
        "proposalId": null,
        "replacedByName": null,
        "subGroups": []
      }
    ]
  }
  ```
</Accordion>

| Field | Description |
| - | - |
| `replacedByName` | Name of the account that superseded this one, if any |
| `proposalTitle` | Governance proposal that authorized the migration, if any |
| `proposalAddress` | Onchain public key of that proposal. Pass to `/v1/proposal/{publicKey}` |

***

## GET /v1/account/\{id}

Returns full detail for a single account, including notes and group assignment.

**Parameters:** `id` (path, required)

```bash theme={null}
curl -H "x-api-key: YOUR_KEY" \
  "https://api.01resolved.com/v1/account/1486"
```

<Accordion title="Example Response">
  ```json theme={null}
  {
    "data": {
      "account": {
        "id": 1486,
        "project": "solomon",
        "address": "Bo24B7DDVtpa9VxZ4LN8FrAT7TM3cgkri41a5GjFg5Dk",
        "name": "Team Performance Package",
        "custodyType": "Program",
        "isActive": true,
        "notes": "Team will have a 18-month cliff and unlock tokens in equal tranches at the following performance milestones: 2x/4x/8x/16/32x ICO price.",
        "contractLink": "",
        "proposalTitle": null,
        "proposalPublicKey": null,
        "replacedBy": null,
        "entityType": "DAO",
        "trackingMode": "full",
        "subGroups": [
          {
            "subGroup": "Vesting",
            "group": "Treasury",
            "subGroupId": 7,
            "groupId": 1
          }
        ]
      }
    }
  }
  ```
</Accordion>

| Field | Description |
| - | - |
| `account.notes` | Human-readable description of the account's purpose |
| `account.contractLink` | Link to the controlling contract, for `Program` custody accounts |
| `account.replacedBy` | Account that superseded this one, if retired |
| `account.subGroups` | Group and sub-group assignment from `/v1/group` |

***

## GET /v1/account/\{id}/balance/onchain

Returns current onchain token holdings for a single account, with live USD prices.

**Parameters:** `id` (path, required)

```bash theme={null}
curl -H "x-api-key: YOUR_KEY" \
  "https://api.01resolved.com/v1/account/1486/balance/onchain"
```

<Accordion title="Example Response">
  ```json theme={null}
  {
    "data": {
      "tokens": [
        {
          "name": "Solomon",
          "symbol": "SOLO",
          "amount": "12900000",
          "usdPrice": "0.6545992987089202",
          "value": "8444330.95334507058",
          "decimals": 6,
          "address": "SoLo9oxzLDpcq1dpqAgMwgce5WqkRDtNXK7EPnbmeta"
        },
        {
          "name": "Solana",
          "symbol": "SOL",
          "amount": "0.004510081",
          "usdPrice": "72.72",
          "value": "0.32797309032",
          "decimals": 9,
          "address": "11111111111111111111111111111111"
        }
      ],
      "nativeTokenValue": "8444330.95334507058",
      "totalValue": "8444331.2999297834427088434"
    }
  }
  ```
</Accordion>

| Field | Description |
| - | - |
| `tokens[].amount` | Human-readable token amount, already adjusted for `decimals` |
| `tokens[].value` | USD value of this holding. Formula: `amount × usdPrice` |
| `tokens[].address` | Token mint address. Native SOL uses the system program address |
| `nativeTokenValue` | USD value of the project's own token in this account |
| `totalValue` | USD value of **all** holdings in this account, native token included |

<Warning>
  `totalValue` here includes the native token, unlike the project-level `totalValue` in `/v1/account/active`. Do not sum this field across accounts to derive NAV.
</Warning>

***

## GET /v1/account/\{id}/balance/offchain

Returns manually recorded off-chain holdings for a single account, such as exchange or bank balances. Same response shape as the onchain endpoint.

**Parameters:** `id` (path, required)

```bash theme={null}
curl -H "x-api-key: YOUR_KEY" \
  "https://api.01resolved.com/v1/account/1486/balance/offchain"
```

<Accordion title="Example Response">
  ```json theme={null}
  {
    "data": {
      "tokens": [],
      "nativeTokenValue": "0",
      "totalValue": "0"
    }
  }
  ```
</Accordion>

## Accounts with no recorded off-chain holdings return empty arrays. Most onchain-only projects have none.

## GET /v1/counterparty

Returns known counterparties for a project: labeled external addresses that appear as the other side of treasury movements. Powers the **Known Counterparties** table.

**Parameters:** `slug` (required), `limit`, `page`, `q`, `entityType`

<Warning>
  Without `slug`, this endpoint returns counterparties across **all** projects. Always pass `slug` to scope results to one project.
</Warning>

```bash theme={null}
curl -H "x-api-key: YOUR_KEY" \
  "https://api.01resolved.com/v1/counterparty?slug=solomon&limit=10"
```

<Accordion title="Example Response">
  ```json theme={null}
  {
    "meta": { "totalItems": 4, "totalPages": 1, "currentPage": 1 },
    "data": [
      {
        "id": 116,
        "name": "Jupiter (DCA Keeper) - 2",
        "project": "solomon",
        "type": "routing",
        "notes": "Buyback execution",
        "entityType": "DAO",
        "contractLink": "",
        "counterpartyAddresses": [
          {
            "address": "JD38n7ynKYcgPpF7k1BhXEeREu1KqptU93fVGy3S624k",
            "chain": "Solana"
          }
        ]
      }
    ]
  }
  ```
</Accordion>

| Field | Description |
| - | - |
| `id` | Numeric counterparty ID. Used in `/v1/counterparty/{id}` |
| `name` | Labeled counterparty name (e.g. `Jupiter (DCA Keeper) - 2`, `Meteora Pool Authority`) |
| `type` | Counterparty category (e.g. `routing`, `protocol`) |
| `notes` | Description of what this counterparty is used for. Shown as **Description** in the UI |
| `entityType` | Which side of the project the counterparty transacts with (`DAO` or `OpCo`) |
| `counterpartyAddresses` | Every known address for this counterparty, with its chain |

<Note>
  A counterparty can hold multiple addresses. Match movements on any address in `counterpartyAddresses`, not on the first entry alone.
</Note>

***

## GET /v1/counterparty/\{id}

Returns full detail for a single counterparty, including its address list.

**Parameters:** `id` (path, required)

```bash theme={null}
curl -H "x-api-key: YOUR_KEY" \
  "https://api.01resolved.com/v1/counterparty/116"
```

<Accordion title="Example Response">
  ```json theme={null}
  {
    "data": {
      "name": "Jupiter (DCA Keeper) - 2",
      "type": "routing",
      "address": "JD38n7ynKYcgPpF7k1BhXEeREu1KqptU93fVGy3S624k",
      "network": "Solana",
      "notes": "Buyback execution",
      "contractLink": "",
      "entityType": "DAO",
      "addresses": [
        {
          "address": "JD38n7ynKYcgPpF7k1BhXEeREu1KqptU93fVGy3S624k",
          "network": "Solana"
        }
      ]
    }
  }
  ```
</Accordion>

| Field | Description |
| - | - |
| `address` | Primary address for this counterparty |
| `network` | Chain the primary address sits on |
| `addresses` | All known addresses, each with its `network` |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.