---
title: "Agent traffic per chain"
method: GET
path: "/agent/stats"
tags: ["Agents and status"]
---

# Agent traffic per chain

`GET /agent/stats`

## Request

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

How much programmatic traffic a chain sees through Chord, by the surface it came through: `mcp` (the hosted MCP), `api` (an API key), `x402` and `wallet` (not live yet), `anon` (keyless scripts), and `web` (people in Chord's own app; their board reads are not counted). `agents` adds up everything that is not `web`. Counts are requests answered 2xx; `swapTx` is swap transactions BUILT; what executed is under `onchain`, read from the router's events on each chain. `callers` is distinct callers over the window. `since` is the first day with any count: the counters started on 2026-10-11, earlier days are unknown, not zero.

## Query parameters

- `chain` 'all' | 'monad' | 'robinhood' | 'arc' | 'avalanche' | 'base' | 'bnb' | 'arbitrum' | 'ethereum' | 'solana'
- `days` integer

## Response `200`

- object
  - `chain` string
  - `days` integer
  - `from` string: UTC day.
  - `to` string: UTC day.
  - `agents` AgentCounts: Counts for one surface or a sum of surfaces.
    - `calls` integer: Requests answered 2xx.
    - `reads` integer
    - `quotes` integer
    - `swapTx` integer: Swap transactions built, not executed.
    - `asks` integer: Questions to the analyst.
    - `callers` integer: Distinct callers in the window.
  - `web` AgentCounts: Counts for one surface or a sum of surfaces.
    - `calls` integer: Requests answered 2xx.
    - `reads` integer
    - `quotes` integer
    - `swapTx` integer: Swap transactions built, not executed.
    - `asks` integer: Questions to the analyst.
    - `callers` integer: Distinct callers in the window.
  - `bySource` object
    - `mcp` AgentCounts: Counts for one surface or a sum of surfaces.
      - `calls` integer: Requests answered 2xx.
      - `reads` integer
      - `quotes` integer
      - `swapTx` integer: Swap transactions built, not executed.
      - `asks` integer: Questions to the analyst.
      - `callers` integer: Distinct callers in the window.
    - `x402` AgentCounts: Counts for one surface or a sum of surfaces.
      - `calls` integer: Requests answered 2xx.
      - `reads` integer
      - `quotes` integer
      - `swapTx` integer: Swap transactions built, not executed.
      - `asks` integer: Questions to the analyst.
      - `callers` integer: Distinct callers in the window.
    - `wallet` AgentCounts: Counts for one surface or a sum of surfaces.
      - `calls` integer: Requests answered 2xx.
      - `reads` integer
      - `quotes` integer
      - `swapTx` integer: Swap transactions built, not executed.
      - `asks` integer: Questions to the analyst.
      - `callers` integer: Distinct callers in the window.
    - `cash` AgentCounts: Counts for one surface or a sum of surfaces.
      - `calls` integer: Requests answered 2xx.
      - `reads` integer
      - `quotes` integer
      - `swapTx` integer: Swap transactions built, not executed.
      - `asks` integer: Questions to the analyst.
      - `callers` integer: Distinct callers in the window.
    - `api` AgentCounts: Counts for one surface or a sum of surfaces.
      - `calls` integer: Requests answered 2xx.
      - `reads` integer
      - `quotes` integer
      - `swapTx` integer: Swap transactions built, not executed.
      - `asks` integer: Questions to the analyst.
      - `callers` integer: Distinct callers in the window.
    - `anon` AgentCounts: Counts for one surface or a sum of surfaces.
      - `calls` integer: Requests answered 2xx.
      - `reads` integer
      - `quotes` integer
      - `swapTx` integer: Swap transactions built, not executed.
      - `asks` integer: Questions to the analyst.
      - `callers` integer: Distinct callers in the window.
    - `web` AgentCounts: Counts for one surface or a sum of surfaces.
      - `calls` integer: Requests answered 2xx.
      - `reads` integer
      - `quotes` integer
      - `swapTx` integer: Swap transactions built, not executed.
      - `asks` integer: Questions to the analyst.
      - `callers` integer: Distinct callers in the window.
  - `daily` object[]: Oldest first; programmatic callers only.
    - `day` string
    - `calls` integer
    - `reads` integer
    - `quotes` integer
    - `swapTx` integer
    - `asks` integer
  - `since` string, nullable
  - `onchain` object, nullable: What actually executed on chain. Null for Solana (Chord has no router there) and when the record cannot be read.
    - `swaps` integer: Swaps executed through Chord's router in the window, from the router's own `Swap` events.
    - `wallets` integer: Distinct `sender` addresses. A swap relayed by another contract has that contract as sender.
    - `volumeUsd` number: USD of the swaps that have a dollar-stable leg (that leg's own amount).
    - `unpriced` integer: Swaps with no stable leg: counted in `swaps`, not in `volumeUsd`. Never estimated.
    - `bySource` object: Swaps whose transaction was built through a known surface in the two hours before it landed, by surface. The rest are unlabelled.
    - `daily` object[]: Oldest first.
      - `day` string
      - `swaps` integer
      - `volumeUsd` number
    - `coverage` object[]
      - `chain` integer
      - `fromBlock` integer, nullable: First block this record covers. Swaps before it are not known, not zero.
      - `cursor` integer, nullable: Last block read.
  - `updatedAt` string: ISO time.

## Other responses

- `400`: Invalid parameters — `error` names the check that failed (`INVALID_PARAMS`, `BAD_ADDRESS`, `BAD_LIMIT`, `BAD_HOURS`, …).
- `429`: Over the per-minute limit (`RATE_LIMIT_EXCEEDED`). Read `X-RateLimit-Reset` and back off.
- `503`: 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.

## Changes

- **2026-10-19** `d3bc4640fea0`: 1 info
  - added the optional property `bySource/cash` to the response with the `200` status

[Operation history](https://skmtc.dev/getchord/apis/chord-api/changes/agent/stats/get.md)

---

[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)
