Machine Payments Protocol (MPP) for agent-to-service payments. Pay for APIs, LLM inference, image generation, and web search via HTTP 402. Use when asked about machine payments, paying for API calls, MPP protocol, Tempo wallet, or agent commerce.
The open protocol for machine-to-machine payments. Agents pay for services in the same HTTP request — no API keys, no signups, no billing accounts.
402 Payment Required with supported payment methodsCredential (proof of payment)Receipt (proof of delivery)Paste this into your agent to set up Tempo Wallet:
Read https://tempo.xyz/SKILL.md and set up tempo
Or manually:
Install CLI:
exec command="curl -fsSL https://tempo.xyz/install | bash"
Connect wallet:
exec command="tempo wallet login"
List available services:
exec command="tempo wallet services"
Make a paid request:
exec command="tempo request -X POST --json '{\"prompt\": \"a sunset over the ocean\"}' https://fal.mpp.tempo.xyz/fal-ai/flux/dev"
Install:
exec command="npm install -g mppx"
Create account:
exec command="mppx account create"
Make a paid request:
exec command="mppx https://mpp.dev/api/ping/paid"
| Method | Type | Use Case |
|---|---|---|
| Tempo | Stablecoin (USDC) | Recommended. One-time charges and sessions |
| Stripe | Cards, wallets | Traditional payment methods |
| Lightning | Bitcoin (BOLT11) | Bitcoin payments over Lightning Network |
| Card | Encrypted tokens | Direct card payments |
| Custom | Build your own | Extend with custom payment flows |
| Intent | Description |
|---|---|
| Charge | One-time payment per request |
| Session | Pay-as-you-go with payment channels (low-cost, high-throughput) |
| Stream | Per-token billing over Server-Sent Events |
| Language | Package | Install |
|---|---|---|
| TypeScript | mppx | npm install mppx |
| Python | pympp | pip install pympp |
| Rust | mpp | cargo add mpp |
import { Mppx, Method } from 'mppx'
// Create payment-aware fetch
const mppx = await Mppx.create({
methods: [Method.tempo.charge(), Method.tempo.session()]
})
// Fetch automatically handles 402 → pay → retry
const res = await fetch('https://api.example.com/generate', {
method: 'POST',
body: JSON.stringify({ prompt: 'hello' })
})
Ottie agents can use MPP to:
steth-treasury for yield-funded autonomous spendingvenice-private-ai for private inference + MPP for paid public APIs