One request, one payment,
settled on Solana.

HTTP 402 made real. Any API route can ask for a micro-payment; an autonomous agent reads the challenge, signs a Solana transfer under its budget policy, and the gateway settles it on-chain before answering.

Try with curl
Merchant (payTo)
…SOL
Demo agent wallet
…SOL
Settled payments
0
0 payers
Volume
0SOL
…

Paywalled endpoints

loading…
Tick the routes the agent should buy, then Run the agent. Or pay from your own wallet: connect Phantom (set to the same network) and press Pay with wallet on a route.

Agent log

—idlewaiting for a run

On-chain ledger

#WhenResourcePayerAmountSlotSignature
no payments yet

How it works

01
Challenge
GET a paid route → 402 with accepts[]: price, payTo, asset, nonce, expiry.
02
Policy
Agent checks network, per-call cap and session budget before spending anything.
03
Sign
Builds a transfer to payTo + a Memo carrying the nonce, signs locally, never sends it itself.
04
Verify
Gateway decodes X-PAYMENT, proves amount, destination, memo and signature off-chain.
05
Settle
Broadcasts, waits for confirmation, burns the nonce, answers with X-PAYMENT-RESPONSE.
Any client works. The challenge is plain JSON:
curl -i http://localhost:4020/api/pulse