---
title: "Every chain and the route of each capability"
method: GET
path: "/chains"
tags: ["Agents and status"]
---

# Every chain and the route of each capability

`GET /chains`

## Request

- Base URL: `https://api.getchord.xyz/v1`
- URL: `https://api.getchord.xyz/v1/chains`
- Auth: none declared

The directory an agent starts from. One entry per chain Chord serves, with its constants (native asset, wrapped native, dollar anchors with real decimals, explorer) and, for each capability, the route that serves it on that chain. A capability the chain does not have is `null`: the data routes grew chain by chain, so this is the one place that says where to read what. Solana is listed with `id: null` and base58, case-sensitive addresses; its `quote` and `swap` are `/sol/trade/quote` and `/sol/trade/send` while its trade lane is open to everyone. A chain that is not public yet appears only for a caller with an API key.

## Response `200`

- object
  - `chains` object[]
    - `key` 'monad' | 'robinhood' | 'arc' | 'avalanche' | 'base' | 'bnb' | 'arbitrum' | 'ethereum' | 'solana': Chain key, the value every `chain` parameter accepts.
    - `id` integer, nullable: EVM chain id; null for Solana.
    - `name` string
    - `short` string: Short label.
    - `addressFormat` 'evm' | 'base58': `evm` (0x, case-insensitive) or `base58` (case-sensitive).
    - `native` object
      - `symbol` string
      - `decimals` integer
    - `wrappedNative` string: The token the native asset is stored under.
    - `anchors` object[]
      - `symbol` string
      - `address` string
      - `decimals` integer: Read on chain. BNB Chain's dollar stables have 18.
      - `stableUsd` number, nullable: 1 for a dollar stable; null for a rate anchor.
    - `explorer` string
    - `blockTimeSec` number: Measured average.
    - `capabilities` object
      - `overview` object, nullable: The route that serves this capability on this chain, or null when the chain does not have it.
        - `method` string: `GET` or `POST`.
        - `path` string: Path under the host, with `{address}` / `{wallet}` placeholders to fill.
        - `query` object: Fixed query values; `{address}` / `{wallet}` / `{q}` inside a value are placeholders too.
      - `tokens` object, nullable: The route that serves this capability on this chain, or null when the chain does not have it.
        - `method` string: `GET` or `POST`.
        - `path` string: Path under the host, with `{address}` / `{wallet}` placeholders to fill.
        - `query` object: Fixed query values; `{address}` / `{wallet}` / `{q}` inside a value are placeholders too.
      - `search` object, nullable: The route that serves this capability on this chain, or null when the chain does not have it.
        - `method` string: `GET` or `POST`.
        - `path` string: Path under the host, with `{address}` / `{wallet}` placeholders to fill.
        - `query` object: Fixed query values; `{address}` / `{wallet}` / `{q}` inside a value are placeholders too.
      - `token` object, nullable: The route that serves this capability on this chain, or null when the chain does not have it.
        - `method` string: `GET` or `POST`.
        - `path` string: Path under the host, with `{address}` / `{wallet}` placeholders to fill.
        - `query` object: Fixed query values; `{address}` / `{wallet}` / `{q}` inside a value are placeholders too.
      - `trades` object, nullable: The route that serves this capability on this chain, or null when the chain does not have it.
        - `method` string: `GET` or `POST`.
        - `path` string: Path under the host, with `{address}` / `{wallet}` placeholders to fill.
        - `query` object: Fixed query values; `{address}` / `{wallet}` / `{q}` inside a value are placeholders too.
      - `candles` object, nullable: The route that serves this capability on this chain, or null when the chain does not have it.
        - `method` string: `GET` or `POST`.
        - `path` string: Path under the host, with `{address}` / `{wallet}` placeholders to fill.
        - `query` object: Fixed query values; `{address}` / `{wallet}` / `{q}` inside a value are placeholders too.
      - `wallet` object, nullable: The route that serves this capability on this chain, or null when the chain does not have it.
        - `method` string: `GET` or `POST`.
        - `path` string: Path under the host, with `{address}` / `{wallet}` placeholders to fill.
        - `query` object: Fixed query values; `{address}` / `{wallet}` / `{q}` inside a value are placeholders too.
      - `walletTrades` object, nullable: The route that serves this capability on this chain, or null when the chain does not have it.
        - `method` string: `GET` or `POST`.
        - `path` string: Path under the host, with `{address}` / `{wallet}` placeholders to fill.
        - `query` object: Fixed query values; `{address}` / `{wallet}` / `{q}` inside a value are placeholders too.
      - `smartMoney` object, nullable: The route that serves this capability on this chain, or null when the chain does not have it.
        - `method` string: `GET` or `POST`.
        - `path` string: Path under the host, with `{address}` / `{wallet}` placeholders to fill.
        - `query` object: Fixed query values; `{address}` / `{wallet}` / `{q}` inside a value are placeholders too.
      - `holders` object, nullable: The route that serves this capability on this chain, or null when the chain does not have it.
        - `method` string: `GET` or `POST`.
        - `path` string: Path under the host, with `{address}` / `{wallet}` placeholders to fill.
        - `query` object: Fixed query values; `{address}` / `{wallet}` / `{q}` inside a value are placeholders too.
      - `lpPools` object, nullable: The route that serves this capability on this chain, or null when the chain does not have it.
        - `method` string: `GET` or `POST`.
        - `path` string: Path under the host, with `{address}` / `{wallet}` placeholders to fill.
        - `query` object: Fixed query values; `{address}` / `{wallet}` / `{q}` inside a value are placeholders too.
      - `lpPositions` object, nullable: The route that serves this capability on this chain, or null when the chain does not have it.
        - `method` string: `GET` or `POST`.
        - `path` string: Path under the host, with `{address}` / `{wallet}` placeholders to fill.
        - `query` object: Fixed query values; `{address}` / `{wallet}` / `{q}` inside a value are placeholders too.
      - `quote` object, nullable: The route that serves this capability on this chain, or null when the chain does not have it.
        - `method` string: `GET` or `POST`.
        - `path` string: Path under the host, with `{address}` / `{wallet}` placeholders to fill.
        - `query` object: Fixed query values; `{address}` / `{wallet}` / `{q}` inside a value are placeholders too.
      - `swap` object, nullable: The route that serves this capability on this chain, or null when the chain does not have it.
        - `method` string: `GET` or `POST`.
        - `path` string: Path under the host, with `{address}` / `{wallet}` placeholders to fill.
        - `query` object: Fixed query values; `{address}` / `{wallet}` / `{q}` inside a value are placeholders too.
    - `mcp` string: The hosted MCP endpoint pinned to this chain.
  - `capabilities` string[]: Every capability name, in table order.
  - `updatedAt` string: ISO time.

## Other responses

- `429`: Over the per-minute limit (`RATE_LIMIT_EXCEEDED`). Read `X-RateLimit-Reset` and back off.

---

[API](https://skmtc.dev/getchord/apis/chord-api.md) · [All operations](https://skmtc.dev/getchord/apis/chord-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getchord/apis/chord-api/revisions/d3bc4640fea0?raw)
