Repository navigation
v4.119.0
MPP on Tempo: pay the chain you can cover
Run402 offers MPP on Tempo on more than one chain per purchase: Tempo mainnet and the Moderato testnet, in the seller's order of preference (mainnet first on paid tiers and image generation, Moderato first on the free prototype tier). Each 402 and /.well-known/x402 list the chains a purchase accepts.
SDK / CLI / MCP
- Chain selection. On an
mpp-rail wallet, the SDK reads pathUSD on each offered Tempo chain and pays the first challenge, in the seller's order, that the wallet covers (price plus a $0.005 fee headroom). A faucet-funded wallet pays Moderato; a mainnet-funded wallet pays mainnet. No chain setting. - Clear shortfall. When no offered chain is covered, the SDK raises
X402_INSUFFICIENT_FUNDSbefore signing anything, listing every offered chain (details.requirements,details.balances,token: "pathUSD"), withfund_walletnext actions for Tempo mainnet and, when Moderato is accepted,run402 wallets fund. A failed balance read raises the RPC error instead. - Balances per network.
run402 statusandrun402 initaddbalances.on_chain_by_networkbesideon_chain_usd_micros(now the rail's token summed over both of its networks, ininitas instatus), so test money and real money are never visible only as one sum. MCPrunsnippets see the same field throughr.status().
Changed output
run402 wallets balanceandrun402 wallets fundreportonchainunder snake_case keys:base_mainnet_usd_micros,base_sepolia_usd_micros,tempo_mainnet_pathusd_micros(new),tempo_moderato_pathusd_micros. The hyphenated keys (base-sepolia_usd_micros,tempo-moderato_pathusd_micros, ...) are gone; update any script that parsed them.
Docs
- CLI and MCP references and
SKILL.mddescribe MPP on Tempo by the chains each 402 offers, and document the balance keys.