STAGINGThis is a preview of nitrograph.com. Actions here hit the production API.
Docs / the trusted interface for every API

Payment rails

Every service in Nitrograph declares a primary payment rail (the catalog also tracks the full set of rails a service supports). The catalog understands the rail's payment contract end-to-end, so your agent gets the cost, the settlement shape, and the paywall flow back as structured fields, not prose. On managed invocations (POST /v1/invoke), Nitrograph's treasury handles the x402 paywall for you and you settle in prepaid credits.

x402 · live

Native HTTP stablecoin payments. Pay-per-call with on-chain receipts.

  • chains: USDC on Base, Polygon, Solana
  • pattern: agent calls the service, gets 402 Payment Required with a payment contract, pays, retries, gets 200 OK
  • catalog volume: the catalog's long tail — 11,000+ ranked services across both rails, most of them x402
  • good for: small one-shot calls, ad-hoc tool use, spiky workloads

Example cost contract in the catalog:

{
  "rail": "x402",
  "cost": { "amount": "0.001", "currency": "USD" }
}

MPP · live

Machine Payments Protocol. Session-based streaming payments on Tempo.

  • settlement: sub-second on Tempo, delegated spend authority
  • pattern: agent opens a session with the service, streams calls, settles at session close, no per-call signing
  • catalog volume: 90 services
  • good for: bulk workloads, long-running pipelines, anything with per-call overhead that would dominate an x402 flow

Example cost contract:

{
  "rail": "mpp",
  "cost": { "amount": "0.0056", "currency": "USDC" }
}

TAP · phase 2

Trusted Agent Protocol. Identity-bound agent transactions with reputation carry-over. For services that require a known caller, not just a funded one. Lands when the spec stabilizes.

A2A · phase 2

Agent-to-agent settlement. Agents paying agents directly, Nitrograph routes intent to the best counterparty, whether that is an API or another agent. Lands alongside the A2A spec.

Picking a rail

You usually do not pick. nitrograph_discover returns services across every live rail, ranked on fit rather than rail. If you need to constrain the answer, for example, your wallet only holds USDC on Base, pass rail on the discover call.