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.