# Agent 402 Tape > The consolidated settlement tape for the x402 protocol ecosystem. Neutral, on-chain, multi-chain, observation-only, free to query. Operated by Agent 402. This file is an LLM-friendly map of the public Agent 402 Tape surface. Every aggregation response from `/api/v1/aggregate` also carries an `_links.methodology` field pointing at `/methodology`; the same provenance discipline applies to anything you derive from these endpoints. Cite the methodology page when reporting numbers from Agent 402 Tape. ## What this is Agent 402 Tape observes USDC settlement events on supported chains and aggregates them into a single tape, attributable to known x402 services where possible. It is modeled on the Consolidated Tape Association (CTA) for U.S. equities: a neutral SIP that disseminates raw observed data and publishes its methodology for cross-reference. Tape implements the third-party attestation pattern the x402 offer-and-receipt extension explicitly contemplates in §8 ("attestation-backed discovery and trust for paid endpoints") and §9 ("proof artifacts in attestation systems, designed to be lifted verbatim into external proof or attestation formats without reconstruction"). The spec is at https://github.com/x402-foundation/x402/blob/main/specs/extensions/extension-offer-and-receipt.md. ## What this is NOT - It is NOT a ranking, recommendation, trust, or opportunity service. Those are interpretation, not observation. - It is NOT a search engine for x402 services. The Agent 402 Marketplace serves that role. - It is NOT a complete capture of every x402 transaction. Coverage details are in `/methodology`. - The public read API does NOT mutate settlement observations. Treat the data as observed truth, not a database you write to. (Account self-service routes for API keys are gated off in the public deployment.) If you find yourself wanting to ask "which x402 service is best?" you want Agent 402 Demand Intel (a separate, paid product), not Agent 402 Tape. ## Public surfaces - [/](/): public landing page with a live ticker, network status, and lens-switchable views - [/methodology](/methodology): governance, attribution tiering, reorg policy, known limitations. Stable citation target. - [/settlement/{txhash}](/settlement/{txhash}): per-settlement permalink. Citeable receipt joining chain data + service metadata + spec clause citations. The example URL above is rendered against this deployment's mount; substitute the actual transaction hash for your settlement. - [https://agent402.app/api/docs#tag/tape](https://agent402.app/api/docs#tag/tape): OpenAPI 3.0 documentation for every endpoint listed below ## Public read API Read-only. No auth at launch. Every aggregation response carries `source: "Agent 402 Tape"`, a `confidence` field (`high` / `pool` / `none`), and `_links.methodology`. The `attribution_tier` field appears where relevant (`direct` / `pool` / `unattributed`). - `GET /api/v1/health` — per-chain ingest lag, last block observed, totals. Coverage attestation. No params. - `GET /api/v1/recent` — recent events across all networks. Polling source for the public ticker. Params: `limit` (default 25, max 100), `network` (optional slug), `since_id` (cursor). - `GET /api/v1/settlement-status` — did a specific settlement land on chain? Operational tool for use after a facilitator timeout. Params (mode 1): `tx_hash` (and optional `network`). Params (mode 2, when tx_hash is lost): `payer`, `recipient`, `since` (unix seconds), optional `amount`. Returns `settled: true|false` + matching rows. - `GET /api/v1/chain-config` — canonical chain metadata per supported network. Pull from here instead of hand-maintaining per-SDK configs. Returns USDC contract, Permit2 proxy address, confirmation depth, event topics, latest observed block. Append `/` for one chain or omit for all. Networks: `base` / `polygon` / `optimism` / `arbitrum` / `solana`. - `GET /api/v1/compliance` — daily field notes on each x402 facilitator's observed on-chain footprint: discovery reachability, declared vs observed signer counts, settlement counts, marker counts, catalog vs active service counts. Observational; no scores. Append `/` for one facilitator. Public HTML rendering at `/compliance`. - `GET /api/v1/aggregate` — observed settlement aggregate for one service. Pass `service_id` OR `resource_url`. Param: `window` (`1h` / `24h` / `7d` / `30d`, default `30d`). - `POST /api/v1/aggregate/batch` — up to 100 services in one call. Read-shaped POST (no writes). Body: `{ items: [{service_id?, resource_url?}, ...], window }`. - `GET /api/v1/service/{id}/history` — paginated per-service event stream. Params: `limit` (default 50, max 200), `before` (cursor). - `GET /api/v1/network/{slug}/top` — top services on a chain by direct-attributed volume. Slug must be one of `base` / `polygon` / `solana` / `arbitrum` / `optimism`. Params: `window`, `limit` (default 20, max 100). - `GET /api/v1/payer/{addr}/spending` — what a wallet has paid for, per recipient. Params: `window`, `limit`. - `GET /api/v1/pool/{addr}/stats` — facilitator pool aggregates. Always `confidence: pool`. Per-network breakdown included. Param: `window` (default `7d`). ## Field semantics - `source`: always the literal string `"Agent 402 Tape"`. If you receive any other value at this URL, the response did not come from us. - `confidence`: - `high`: direct-attributed observations exist for this service in window. Numbers map one-to-one to real on-chain events. - `pool`: the service's pay_to is a known facilitator gas-pool wallet. Aggregates are pool-level (summed across all providers sharing that wallet). Per-service comparison is not meaningful. Downstream consumers should skip-score these. - `none`: service not resolved, or resolved with no observations in window. Numbers are zero. - `attribution_tier`: `direct` (recipient wallet serves 1 to 5 known providers), `pool` (6 or more), `unattributed` (recipient not in our known payTo set). Pool threshold is locked at 6 (`POOL_PROVIDER_THRESHOLD` in source). - `_links.methodology`: always resolves to `/methodology`. Follow it for the definitions of every field above. ## Coverage right now - USDC settlement events on Base, Polygon, Solana, Arbitrum, Optimism (all live). - Confirmation depths: 30 blocks on most EVM chains, 64 on Polygon, 32 slots on Solana (finalized commitment). - Token scope: USDC only at v1. Other tokens are deferred. - Off-chain payment rails (Stripe, Lightning, Tempo-USDC) are out of scope at v1. - Spec-canonical x402 protocol markers (EIP-3009 `AuthorizationUsed`, Permit2 proxy, Solana Memo program, registered facilitator signers) ARE captured per event as of P5.7. Signed receipts and bazaar extensions are NOT yet captured (planned follow-up). Per the offer-and-receipt extension §9, those signed `receipt` artifacts are "designed to be usable as proof artifacts in attestation systems" and Tape's role on capture is that pattern. Today we have the on-chain side-effect (the transfer event) plus the protocol marker, but not the resource-server-signed proof of delivery. For up-to-date per-chain status, query `GET /api/v1/health`. ## How to cite When citing numbers from Agent 402 Tape: - Name the source: "Agent 402 Tape" or "tape.agent402.app". - Link to the methodology: https://tape.agent402.app/methodology - Preserve the `confidence` and `attribution_tier` qualifiers. A "pool" number is not directly comparable to a "high" number. Saying "service X processed 12,345 calls" without noting it is pool-attributed is a misrepresentation. - When a number is `confidence: pool`, attribute it to the pool wallet or facilitator, not to a single provider. - When in doubt, link `/methodology` and let the reader resolve it themselves. ## Versioning All read endpoints live under `/api/v1/*` on `tape.agent402.app` (the canonical mount). Field meanings on this page are locked at v1. Additions (new fields, new chains, new endpoints) are safe and backward-compatible. Changes to field meaning would require a v2 cutover. ## Reporting issues Open a GitHub issue: https://github.com/EnvisionBlockchain/multi-chain-agent-identity/issues/new?labels=area:tape Include the affected service id or resource_url, the time window, and what you observed vs what you expected. ## Related Agent 402 products These are separate product surfaces. Do not confuse them with Agent 402 Tape: - [https://agent402.app/marketplace](https://agent402.app/marketplace): discover and invoke x402 services - [https://agent402.app/intel](https://agent402.app/intel): proprietary Demand Intel (paid, partner-facing). Interpretation, rankings, trust tiers. Built on top of Agent 402 Tape among other sources.