---
title: "List Accounts"
method: GET
path: "/v0/accounts"
tags: ["Accounts"]
---

# List Accounts

`GET /v0/accounts`

<Callout intent="warning">
  The endpoints exposed here are currently in **Beta**! As we continue to build our initial offering, these endpoints may implement breaking changes. Be sure to check back for our change log regularly as a precaution.
</Callout>

List every account registered to the authenticated organization. An account is either a bank account (fiat source/destination) or a blockchain wallet (on-chain source/destination); both appear in the same paginated list, distinguished by the `kind` discriminator.

Wallet accounts carry a `networks` array, one entry per network, each with its `entitlements` and their status (see [Wallet entitlements](/api/endpoints/accounts/overview#wallet-entitlements)). Bank accounts return the full `accountNumber` alongside `routingNumber`, `bankName`, and the `beneficiary` name on the wire.

Narrow the list with `kind`, `network`, and a `createdAt` range; every filter you send must hold (see [Filtering list endpoints](/api#filtering-list-endpoints)). `network` matches wallets only, so pairing it with `kind=bank` returns an empty page.

## Query parameters

- `cursor` string
- `limit` integer
- `createdAt.gt` string, date-time
- `createdAt.gte` string, date-time
- `createdAt.lt` string, date-time
- `createdAt.lte` string, date-time
- `kind` 'bank' | 'wallet' — Return only accounts of this kind.
- `network` V0AccountsGetParametersNetworkSchemaItems[]

## Headers

- `Authorization` string, required

## Response `200`

OK

- AccountsGetResponse200
  - `data` V0AccountsGetResponsesContentApplicationJsonSchemaDataItems[], required — Page of accounts, newest first, tie-broken by id.
    - union
      - V0AccountsGetResponsesContentApplicationJsonSchemaDataItems0 — Customer-owned blockchain address (CustomerAddress).
        - `id` string, uuid, required — Stable UUID identifying this account; safe to cache or display.
        - `address` string, required — On-chain address. EIP-55 checksummed for EVM (`ethereum`), base58 for Solana.
        - `addressFormat` 'ethereum' | 'solana', required — Address syntax family. `ethereum` covers every EVM chain (Ethereum, Base, Polygon, Arbitrum, etc.); per-chain authorization is enforced separately via the account's chain entitlements.
        - `createdAt` string, date-time, required — ISO-8601 UTC timestamp when this address was added to the org.
        - `kind` 'wallet', required — Discriminator: this is a customer-owned blockchain address.
        - `name` string, required — User-set label. Free-form; may be empty if the user hasn't set one.
        - `networks` V0AccountsGetResponsesContentApplicationJsonSchemaDataItemsOneOf0NetworksItems[], required — The networks this address is registered on, each with its per-type entitlement states.
          - `chain` 'arbitrum' | 'avalanche' | 'base' | 'binance-smart-chain' | 'core' | 'ethereum' | 'fraxtal' | 'gnosis' | 'immutable' | 'injective' | 'katana' | 'mantle' | 'monad' | 'plume' | 'polygon-pos' | 'solana' | 'sui', required — Network the wallet is registered on (kebab-case public network id).
          - `entitlements` V0AccountsGetResponsesContentApplicationJsonSchemaDataItemsOneOf0NetworksItemsEntitlementsItems[], required — Entitlement states on this network, one per type the wallet holds on the chain.
            - `type` 'instant_settlement' | 'mint' | 'rewards', required — Entitlement type. `mint` is the mint capability gated by the per-chain compliance scan; `instant_settlement` is the instant-settlement whitelist; `rewards` is rewards eligibility.
            - `status` 'approved' | 'conditionally_approved' | 'pending_approval' | 'pending_removal' | 'rejected' | 'removed', required — Entitlement status. `pending_approval` is requested and under Agora review; `approved` is active. `conditionally_approved` applies to `mint` only: the address is usable now (screening and whitelisting are auto-initiated) while final approval is still pending internally. `instant_settlement` and `rewards` stay `pending_approval` until reviewed. The API never auto-approves.
      - V0AccountsGetResponsesContentApplicationJsonSchemaDataItems1 — Customer-owned bank account (WireDetail, status=verified).
        - `id` string, uuid, required — Stable UUID identifying this account; safe to cache or display.
        - `accountNumber` string, required — Full bank account number.
        - `bankName` string, required — Name of the receiving bank.
        - `beneficiary` string, required — Account-holder name on the wire. Part of the account's identity: distinguishes accounts that share a routing + account number (e.g. omnibus/custodian accounts holding several funds under one account number).
        - `createdAt` string, date-time, required — ISO-8601 UTC timestamp when this account was added to the org.
        - `currency` 'usd', required — Settlement currency. Today only `usd`; will extend as new currencies launch.
        - `kind` 'bank', required — Discriminator: this is a customer-owned bank account.
        - `name` string, required — User-set label. Free-form; may be empty if the user hasn't set one.
        - `routingNumber` string, required — ABA routing number identifying the receiving bank. A public bank identifier, returned in full.
  - `nextCursor` string, nullable, required — Opaque cursor for the next page. Pass back verbatim as the `cursor` query param to fetch the next page; null when no more results.

## Other responses

- `400` — One or more request parameters are invalid.
- `401` — Authentication is required.
- `403` — The account is not eligible for the requested route direction.
- `404` — Resource not found.
- `429` — Too many requests.
- `500` — An unexpected error occurred.

---

[API](https://skmtc.net/agora/apis/endpoints.md) · [All operations](https://skmtc.net/agora/apis/endpoints/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/agora/endpoints/revisions/72979de2c695/schema)
