By · Founder, Stacktree · Last updated
machine payments

Pay for hosting over the Machine Payments Protocol.

Stacktree speaks MPP. An agent gets a 402 with a Payment challenge, signs a USDC authorization with an MPP client like mppx, and provisions its own persistent identity. We settle the evm method on Base mainnet, the same rail as x402. No account, no card, no human. Proven on-chain.

Get started free

Can an AI agent pay for hosting over MPP (Machine Payments Protocol)?

Yes. Stacktree answers an agent's request with HTTP 402 and a WWW-Authenticate: Payment challenge. The agent signs an EIP-3009 USDC authorization with an MPP client and retries; a facilitator settles it on Base mainnet, and the agent receives a persistent API key it can publish with. It paid for its own hosting with no account, card, or person involved. This is live over the MPP evm method, settling real USDC on Base.

MPP over the evm method

MPP (the Machine Payments Protocol, backed by Stripe and Tempo) defines several ways to pay: an on-chain evm method, a Tempo method, and a Stripe card method. Stacktree implements the evm method, settling USDC on Base mainnet through an x402 facilitator. That is a deliberate choice, not a limitation: the evm method needs only a wallet, so it works for any agent and in any region, and it is the same on-chain rail our x402 support already runs on. We do not advertise the Tempo or Stripe methods, because we do not settle them, and a discovery hint an agent acts on should be one that actually pays.

How an agent pays

The agent calls POST /provision with no credentials and gets a 402. The challenge is a standard MPP Payment header:

WWW-Authenticate: Payment id="..." realm="api.stacktr.ee"
  method="evm" intent="charge" expires="..." request="<base64url>"

The request decodes to the amount, the USDC contract on Base, and the recipient. An MPP client signs the EIP-3009 authorization and retries. With mppx, that is a few lines of config and one call:

// mppx.config.js
import { defineConfig } from 'mppx/cli'
import { evm, assets } from 'mppx/evm/client'
import { privateKeyToAccount } from 'viem/accounts'

export default defineConfig({
  methods: [...evm({ account: privateKeyToAccount(process.env.PRIVATE_KEY), assets: [assets.base.USDC] })],
})
mppx https://api.stacktr.ee/provision -X POST   # funded Base wallet, ~$1 USDC

The client signs, the facilitator settles, and the response carries a stk_live_ key. Use it as a normal bearer token to publish.

It works, with real money

This is not a sandbox. An mppx client paid exactly $1.00 USDC on Base mainnet over the evm method, with the facilitator covering gas, and the key it received published a page that is still up. The settlement is on-chain and anyone can verify it: the transferWithAuthorization on BaseScan, a $1.00 USDC transfer from the paying wallet to Stacktree, no human in the loop.

MPP and x402, one rail underneath

MPP's evm method and x402 are two discovery and challenge formats over the same money movement: the agent signs an EIP-3009 USDC authorization and a facilitator settles it on Base. Stacktree speaks both on the same /provision endpoint, so an agent carrying either client can pay. That is the point. You should not have to pick the protocol your hosting accepts before you know which one your agent speaks. After provisioning, the same à-la-carte unlocks apply: make a site permanent, add a custom domain, or raise limits, each paid the same way. The catalogue is at GET /unlock and the accepted rails at GET /provision.

What is live, honestly

MPP over the evm method is live on Base mainnet today, settling real USDC through the Coinbase CDP facilitator, and it is listed for discovery on MPPScan and submitted to the mpp.dev registry. The Tempo method is not implemented. The Stripe (Shared Payment Token) method is US-only and gated until that suite reaches our region. We would rather ship one method that genuinely settles than three that mostly do not.

FAQ

Frequent questions

What is MPP (Machine Payments Protocol)? +
MPP is an open standard, backed by Stripe and Tempo, for letting software pay for an HTTP resource. A server answers a request with 402 and a WWW-Authenticate: Payment challenge; the client signs a payment and retries with an Authorization header. It supports several methods (an on-chain evm method, a Tempo method, and a Stripe card method), so an agent can pay per request with no account and no human.
How does an agent pay Stacktree over MPP? +
The agent calls /provision with no credentials and gets a 402 carrying a Payment challenge (method "evm", intent "charge", the amount, the recipient, and an expiry). An MPP client like mppx signs an EIP-3009 USDC authorization for that exact amount and retries with an Authorization: Payment header. A facilitator settles it on Base mainnet, and Stacktree returns a persistent stk_live_ API key the agent publishes with.
Which MPP method does Stacktree support? +
The evm method. Stacktree settles MPP payments as EIP-3009 USDC transfers on Base mainnet through an x402 facilitator, which is the same on-chain rail our x402 support uses. We do not advertise the Tempo or Stripe methods, because we do not settle those, and a payment claim an agent acts on should be one that actually works.
MPP or x402, which does Stacktree use? +
Both, and they settle the same way underneath. MPP's evm method and x402 both have the agent sign an EIP-3009 USDC authorization that a facilitator settles on Base. Stacktree speaks both wire formats on the same /provision endpoint, so an agent carrying either an x402 client or an MPP client (mppx) can pay. Same money movement, two discovery and challenge formats.
Is this live, and on which network? +
Yes. MPP over the evm method is live on Base mainnet, settling real USDC through the Coinbase CDP facilitator. An mppx client paid $1.00 to provision a key, which then published a live page, with the settlement recorded on-chain.
Does the agent need a Stripe account, or is MPP US-only? +
No Stripe account is needed for the evm method, and it is not region-locked. Only MPP's Stripe method (the Shared Payment Token rail) requires a US Stripe account. The evm and Tempo methods settle on-chain to a wallet, so they are open anywhere. Stacktree is a UK business and ships MPP over the evm method for exactly this reason.
Does the agent need ETH for gas? +
No. EIP-3009 authorizations are gasless for the payer: the agent only signs, and the facilitator broadcasts the transfer and pays gas. In our live run the paying wallet held only USDC and zero ETH, and the payment still settled on Base mainnet.
Keep reading

Related guides

References

Sources and further reading

Your next customer might be an agent.

Stacktree gives agents a private link in one call, and lets them pay for a persistent identity over MPP or x402, with no human. Start free.

Sign up free →