Chord Account and health API

Your key, and the service's own health.

GitHub OpenAPI

Operations 3

GET /relayers Relayer gas health #
GET /me Your key's plan and usage #
GET /health Service health #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/getchord-xyz:getchord-xyz-account-and-health-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

getchord-xyz-account-and-health-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Chord Account and health API
  version: '2026-10-05'
  summary: Trade, data and agent endpoints for eight EVM chains (Ethereum 1, Arbitrum One 42161, Base 8453, BNB Chain 56, Avalanche 43114, Monad 143, Arc 5042, Robinhood Chain 4663) and Solana (data and swaps).
  description: 'Chord is a non-custodial trading app and on-chain data index. The API has three kinds of endpoint:


    - **Trade**: `/quote` finds the best route across every venue on the chain; `/swap` turns it into a transaction you sign yourself. Chord never holds funds or keys.

    - **Read**: every swap on the chain, rolled up by token, venue and hour, from Chord''s own index — tokens, launches, holders, top wallets, portfolio PnL, liquidity positions and pools. No key needed. Avalanche, Base, BNB Chain, Arbitrum One and Ethereum have the same rollups under `/chains/{chain}/*`; Solana has its own data family under `/chains/solana/*` (base58 addresses, case-sensitive) and its swaps under `/sol/trade/*`.

    - **Agent**: the analyst (`/ask`) and the streams.


    Amounts are decimal strings in the token''s smallest unit. Timestamps are Unix seconds unless the field is `updatedAt` (milliseconds). `GET /portfolio/{wallet}` and `/portfolio/{wallet}/activity` differ on both: amounts there are in whole tokens and every time is in milliseconds. Reads answer anonymous callers at 60 requests a minute per IP; an `X-API-Key` header raises that to your plan. Every non-2xx body is `{ error, message }`.'
  contact:
    name: Chord
    url: https://getchord.xyz/developer
  x-logo:
    url: https://getchord.xyz/chord/pwa-192x192.png?v=20261019
servers:
- url: https://api.getchord.xyz/v1
  description: Production
tags:
- name: Account and health
  description: Your key, and the service's own health.
paths:
  /relayers:
    get:
      tags:
      - Account and health
      operationId: relayers
      summary: Relayer gas health
      description: 'For each chain Chord''s relayer pays gas on (Monad gasless swaps, Robinhood Permit2 swaps, Arc CCTP mints): its address, native balance, current gas price and the estimated transactions that balance still covers. `ok` = above the floor; the cross-chain planner stops routing through a relayer that is not ok.'
      parameters:
      - name: force
        in: query
        required: false
        schema:
          type: string
          enum:
          - '1'
        description: Re-read now instead of the 60 s cache.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  minTx:
                    type: integer
                    description: The floor.
                  relayers:
                    type: array
                    items:
                      type: object
                      properties:
                        chainId:
                          type: integer
                          description: ''
                        name:
                          type: string
                          description: ''
                        symbol:
                          type: string
                          description: ''
                        role:
                          type: string
                          description: ''
                        configured:
                          type: boolean
                          description: ''
                        address:
                          type:
                          - string
                          - 'null'
                          pattern: ^0x[a-fA-F0-9]{40}$
                          description: EVM address, hex, case-insensitive.
                        balance:
                          type:
                          - string
                          - 'null'
                          pattern: ^\d+$
                          description: Amount in the token's smallest unit, as a decimal string. Never a float.
                        gasPrice:
                          type:
                          - string
                          - 'null'
                          pattern: ^\d+$
                          description: Amount in the token's smallest unit, as a decimal string. Never a float.
                        gasPerTx:
                          type: integer
                          description: ''
                        txRemaining:
                          type:
                          - integer
                          - 'null'
                          description: ''
                        ok:
                          type: boolean
                          description: ''
                        checkedAt:
                          type: integer
                          description: Unix time, milliseconds — when the server built this answer.
                        error:
                          type: string
                          description: ''
                  updatedAt:
                    type: integer
                    description: Unix time, milliseconds — when the server built this answer.
  /me:
    get:
      tags:
      - Account and health
      operationId: me
      summary: Your key's plan and usage
      description: The limits Chord applies to an API key and the calls counted against them. Keys are made at getchord.xyz/ask under Settings, API. Not metered, and answered when the key's calls are used up.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  email:
                    type:
                    - string
                    - 'null'
                    description: ''
                  tier:
                    type:
                    - string
                    - 'null'
                    enum:
                    - free
                    - build
                    - grow
                    - builder
                    - pro
                    - null
                    description: 'The plan in effect now: a paid plan past its end reads `free`. `null` for an unlimited key or a key with no plan on it.'
                  unlimited:
                    type: boolean
                    const: true
                    description: Present only on a key issued by the Chord team with no rate or call cap.
                  limits:
                    type: object
                    properties:
                      rpm:
                        type:
                        - integer
                        - 'null'
                        description: Requests a minute. `null` = no cap.
                      monthly:
                        type:
                        - integer
                        - 'null'
                        description: Calls in any 30 days. `null` = no cap.
                      priceUsd:
                        type:
                        - number
                        - 'null'
                        description: ''
                      label:
                        type: string
                        description: ''
                  usage:
                    type: object
                    properties:
                      today:
                        type: integer
                        description: ''
                      month:
                        type: integer
                        description: Calls in the trailing 30 days, today included.
                    description: 'The calls the cap counts: every key of the account when the key belongs to one.'
                  quota:
                    type: integer
                    description: A key's own call cap, in place of its plan's.
                  tierUntil:
                    type: integer
                    description: When the paid plan ends (ms).
                  expiresAt:
                    type: integer
                    description: When the key stops working (ms).
              example:
                email: you@example.com
                tier: build
                limits:
                  rpm: 100
                  monthly: 16000
                  priceUsd: 99
                  label: Build
                usage:
                  today: 812
                  month: 9210
                tierUntil: 1764547200000
        '401':
          description: Missing or unknown credential (`UNAUTHORIZED`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - ApiKey: []
  /health:
    get:
      tags:
      - Account and health
      operationId: health
      summary: Service health
      description: Engine, cache and pool-sync state. `503` when the routing engine is unreachable.
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: ''
                  version:
                    type: string
                    description: ''
                  uptime:
                    type: number
                    description: Seconds.
                  engine:
                    type: object
                    properties:
                      status:
                        type: string
                        description: ''
                      latencyMs:
                        type: integer
                        description: ''
                  redis:
                    type: object
                    properties:
                      status:
                        type: string
                        description: ''
                  poolCount:
                    type: integer
                    description: ''
                  lastSyncBlock:
                    type: integer
                    description: ''
              example:
                status: ok
                version: 0.1.0
                uptime: 494.311362193
                engine:
                  status: ok
                  latencyMs: 1
                redis:
                  status: ok
                poolCount: 1649
                lastSyncBlock: 106412042
        '503':
          description: The lane behind this endpoint is not ready or not enabled here (`NOT_READY`, `CHAIN_NOT_ENABLED`, `NOT_ENABLED`, `*_UNAVAILABLE`). Retry later; do not treat it as an empty answer.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Stable machine code, e.g. `INVALID_PARAMS`, `NOT_READY`, `RATE_LIMIT_EXCEEDED`.
        message:
          type: string
          description: For humans.
        statusCode:
          type: integer
          description: HTTP status, when included.
      description: Every non-2xx body.
      required:
      - error
      example:
        error: INVALID_PARAMS
        message: amount must be an integer string in the token's smallest unit
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: Optional on every read. A key from getchord.xyz/developer raises the rate limit to your plan and meters usage per key. Required for `?only=` on quotes and for the Ask agent API.
    Session:
      type: http
      scheme: bearer
      description: A Google sign-in session minted by the app (`nts_…`). Only the browser surfaces use it; agents use `ApiKey`.