Agent Payments (MPP)
Pay for inference per token using the Machine Payments Protocol. No account, no API key, no card. Your agent pays as it consumes.
Flow
Agent vram.supply
│ │
│ POST /v1/chat/completions │
│ (no Authorization header) │
├──────────────────────────────────────────►│
│ │
│ 402 Payment Required │
│ WWW-Authenticate: Payment id="…", │
│ method="tempo", intent="session", │
│ request="<amount, currency, recipient>"│
│◄──────────────────────────────────────────┤
│ │
│ Open Tempo session channel │
│ (deposit USDC into on-chain escrow) │
│ │
│ POST /v1/chat/completions │
│ Authorization: Payment <credential> │
├──────────────────────────────────────────►│
│ │
│ 200 OK (SSE stream) │
│ data: {"choices":[{"delta":…}]} │
│ …tokens stream, vouchers verified… │
│ event: payment-receipt │
│ data: [DONE] │
│◄──────────────────────────────────────────┤
Challenge
The 402 response includes a WWW-Authenticate: Payment header:
WWW-Authenticate: Payment
id="ch_abc123",
realm="vram.supply",
method="tempo",
intent="session",
expires="2026-03-19T12:05:00Z",
request="eyJhbW91bnQiOiIzIiwiY3Vycm..."
# Decoded request:
{
"amount": "3", // per-token price in USDC base units (6 decimals)
"currency": "0x20c0…", // pathUSD on Tempo
"recipient": "0x848A…", // platform wallet
"suggestedDeposit": "1000000", // $1 USDC
"unitType": "llm_token"
}Credential
Retry the request with Authorization: Payment <base64url credential>:
{
"challenge": { "id": "ch_abc123", "realm": "vram.supply", … },
"source": "0x1234…", // payer's Tempo address
"payload": {
"action": "voucher",
"channelId": "0x6d0f…",
"cumulativeAmount": "50000",
"signature": "0xabc…"
}
}Session Lifecycle
| Phase | What Happens | On-chain? |
|---|---|---|
| Open | Deposit USDC into escrow → get channelId | Yes (~500ms) |
| Stream | Sign cumulative vouchers as tokens arrive | No (signature only) |
| Top up | Add more USDC without closing the channel | Yes |
| Close | Server settles final voucher, unused deposit refunded | Yes |
Pricing
- Per-token price is in the challenge
amountfield — visible before you pay. - Price includes the 5% platform fee (provider cost + markup).
- Same models and providers as the Stripe card path.