Testnet laboratory

Agentic payments need a common operating layer.

Three rails, one durable contract: let an agent discover a price, authorize spend, settle safely, and leave an operational receipt a human can audit. x402 is live here on Base Sepolia; MPP and Visa CLI keep explicit adapter slots until their merchant paths are available.

01
discover
02
challenge
03
authorize
04
settle
05
receipt
06
audit
Live settlement ledger

Watch the payment become evidence.

This timeline follows server-recorded events from the actual x402 request. Wallet approval happens in the checkout tab; verification, settlement, and receipt state stream back from Cloudflare.

attempt 5f34ce6f…289f92
01
discover
attempt created
02
challenge
HTTP 402 issued
03
approve
waiting for wallet
04
verify
signature accepted
05
settle
CDP facilitator
06
receipt
Cloudflare ledger
next step
Inspect the challenge, then open wallet checkout.

Keep this page open. Checkout runs in a second tab while verification, settlement, and the durable receipt animate here.

Checkout follows challenge
observer state
ready for a new transaction

Inspect the challenge, then open wallet checkout. The transaction hash appears here only after the facilitator reports settlement.

event stream
no server events yet
transport = durable-object
live testnet
Rail 01

x402 + Coinbase CDP

A real one-cent payment challenge, wallet authorization, facilitator settlement, Bazaar catalog submission, and transaction-keyed receipt. Once indexed in Coinbase Bazaar, the stable endpoint appears automatically on Agentic Market. Test assets only—this path cannot select Base mainnet.

access pending
Rail 02

MPP + Stripe cards

The Machine Payments Protocol adapter will project its Challenge, Credential, and Payment-Receipt flow into the same core receipt. The target merchant method is Stripe cards through Shared Payment Tokens; no card data is collected by this demo.

adapter.status = "placeholder"
settlement = "disabled"
next_gate = "Stripe merchant access"
preview pending
Rail 03

Visa CLI

A future Visa-backed agent rail with explicit user authorization and spending controls. The adapter remains non-executable until merchant listing and endpoint verification are accepted; it does not reuse Coinbase settlement or claim Visa readiness.

adapter.status = "placeholder"
authorization = "human required"
next_gate = "Visa CLI preview acceptance"
Shared contract

Receipts, not checkout buttons.

Every adapter should end in the same operational evidence: what was requested, what was authorized, what settled, what resource was delivered, and whether the attempt was a replay. The x402 demo stores that receipt by transaction hash in a strongly consistent Cloudflare Durable Object. It never issues a bearer or TTL access token.

Durable evidence
Transaction, request fingerprint, amount, parties, environment, and settlement time.
Fail-closed boundaries
Testnet and production are separate capabilities; unavailable rails cannot simulate success.
railtransportsettlementreceipt projectionstatus
x402HTTP 402 + PAYMENT-* headersUSDC on Base SepoliaPAYMENT-RESPONSE + durable envelopelive testnet
MPP / StripeChallenge + Credential + ReceiptStripe card / Shared Payment TokenMPP Payment-Receiptadapter placeholder
Visa CLIAgent tool + explicit authorizationVisa-backed card railmerchant/provider receipt projectionpreview pending