Payment rails
Every service in Nitrograph declares exactly one payment rail. 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.
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 Requiredwith a payment contract, pays, retries, gets200 OK - catalog volume — 18,000+ endpoints indexed, 14,000+ rankable
- 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.