Agent skill
mpp-tempo-method
Configure Tempo blockchain as an MPP payment method — USDC stablecoin payments with sub-second finality, 100,000+ TPS, and no gas volatility. Use when setting up crypto-native payment rails for machine payments.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/mpp-tempo-method
SKILL.md
MPP Tempo Payment Method
Before writing code
Fetch live docs:
- Fetch
https://docs.stripe.com/payments/machine/mppfor Stripe's Tempo integration guide - Web-search
tempo blockchain usdc machine payments mppfor current Tempo chain details - Web-search
site:github.com stripe-samples machine-payments tempofor Tempo payment sample code - Fetch
https://mpp.dev/overviewfor the Tempo payment method specification
Conceptual Architecture
What Tempo Is
Tempo is a purpose-built blockchain for stablecoin payments and high-frequency transactions, incubated by Stripe and Paradigm. It is the primary crypto payment rail for MPP.
Key Properties
| Property | Value |
|---|---|
| Chain ID | 4217 (mainnet) |
| Throughput | 100,000+ TPS |
| Finality | Sub-second |
| Gas model | No native gas token (predictable fees, no gas volatility) |
| Currency | USDC |
| USDC Contract | 0x20c000000000000000000000b9537d11c60e8b50 |
| Minimum charge | 0.01 USDC |
Server-Side Configuration
import { Mppx, tempo } from 'mppx/server';
const mppx = Mppx.create({
secretKey: process.env.MPP_SECRET_KEY,
methods: [
tempo.charge({
chainId: 4217, // Tempo mainnet
currency: '0x20C000000000000000000000b9537d11c60E8b50', // USDC
recipient: process.env.TEMPO_RECIPIENT_ADDRESS,
}),
],
});
Payment Flow (Tempo)
- Server returns 402 with Tempo-specific challenge (includes deposit address)
- Client sends USDC on Tempo chain to the deposit address
- Transaction confirms in sub-second
- Client constructs credential with on-chain proof (tx hash)
- Server verifies the on-chain transaction
- Server returns resource with receipt
Stripe Integration for Tempo
When using Stripe as the merchant backend, Tempo payments land directly in your Stripe balance:
// Stripe PaymentIntent for crypto (requires preview API version)
const paymentIntent = await stripe.paymentIntents.create({
amount: 1,
currency: 'usd',
payment_method_types: ['crypto'],
payment_method_options: {
crypto: {
mode: 'deposit',
deposit_options: {
network: ['tempo']
}
}
}
}, {
apiVersion: '2026-03-04.preview' // Required preview version
});
The response includes next_action.crypto_display_details.deposit_addresses.tempo.address.
Stripe Settlement Properties
- Payments land in your Stripe balance in fiat
- Standard Stripe metrics, reporting, and multi-currency payouts apply
- Individual charges can be as low as 0.01 USDC
- Stripe uses a unique deposit address per payment for privacy
- Refunds return stablecoins to the originating wallet
Geographic Availability
Available to developers with a US legal entity in all states except New York and Texas.
Tempo vs Other Chains
| Property | Tempo | Base (x402) | Solana (x402) |
|---|---|---|---|
| Protocol | MPP | x402 | x402 |
| Finality | Sub-second | ~2 seconds | ~400ms |
| Gas model | No gas token | ETH gas | SOL gas |
| Stripe integration | Native | Via facilitator | Via facilitator |
| Sessions | Yes | No | No |
Best Practices
- Use environment variables for recipient address and private keys
- Monitor wallet balances for receiving addresses
- Implement refund logic using the Stripe Refunds API
- Set up Stripe webhook listeners for
payment_intent.succeededevents - Consider multi-chain support (Tempo + Stripe SPT) for maximum client compatibility
Fetch the latest Stripe machine payments docs and Tempo blockchain documentation for current contract addresses, API versions, and chain configuration before implementing.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?