# MPP in production: how AI agents pay Stacktree over Tempo

Source: https://stacktr.ee/blog/ai-agents-pay-over-mpp-tempo

[Skip to content](#main) [Stacktree](/)[Developers](/developers)[Agents](/agents)[Docs](/docs)[Use cases](/use-cases)[Pricing](/pricing)[Blog](/blog)[Dashboard](https://app.stacktr.ee)[Sign in →](https://app.stacktr.ee)      By [ Steve Smith ](/about) · Founder, Stacktree  ·  Last updated June 27, 2026          blog

#  AI agents pay us over MPP and Tempo, in production

   MPP is the agent-payment standard Stripe and Tempo are building, and Stacktree is an early live example of it. An agent pays fifty cents over MPP or x402, with no account and no card, and gets a private page back. Here is how it works, why the onchain method is permissionless, and the on-chain receipt.

  [ Get started free ](https://app.stacktr.ee/?join=1&from=seo_blog_ai_agents_pay_over_mpp_tempo)   install npx stacktree-install
Copy
     No card · 3 pages free · about a minute

##  Can an AI agent pay for a service over MPP, with no account or card?

Yes. An agent calls a Stacktree endpoint with no credentials and gets back HTTP 402 with payment terms. It pays fifty cents in stablecoin, over MPP on Tempo or x402 on Base or Solana, and the page it asked to host is published. MPP is the agent-payment standard from Stripe and Tempo, and its onchain method settles directly on Tempo with just a wallet on each side. No card, no login, no human.

We have been building toward agents as customers for a while. A few weeks ago an agent [paid us a dollar over x402](/blog/agent-paid-to-provision-itself) to provision itself. Since then we wired up MPP, the standard Stripe and Tempo are building for agent payments, and put it live alongside x402 on one endpoint. This is what it actually looks like to take an agent's money over MPP today.

     See it in one call, no account

```
`curl -X POST https://api.stacktr.ee/sites -F file=@index.html
# &rarr; a private URL, live for 24h. Claim it free to keep it.`
```

If your agents emit HTML, they need a durable publish target: publish once, then
`update_site`
on every revision keeps the same URL forever. MCP, REST, and skills all speak it:
        the map is at [agent.txt](https://stacktr.ee/agent.txt).

[
Get an API key free
](https://app.stacktr.ee/?join=1&from=bridge_blog_ai_agents_pay_over_mpp_tempo)

## On this page

  -   01  [ What we shipped ](#shipped)
-   02  [ What MPP is, and why the onchain method is the interesting part ](#mpp)
-   03  [ Multi-rail: agents pay with whatever they hold ](#multi-rail)
-   04  [ What is live ](#whats-live)

## What we shipped

 There is one endpoint, a payment front-door at `agents.stacktr.ee`, and it takes agent money three ways. An agent posts the HTML it wants hosted and gets back a 402 with the price, the assets, and the recipient. It can pay fifty cents over MPP on Tempo, or over x402 on Base or Solana, whichever it holds. On settlement the page is published to a private link and the response hands back the URL. No account, no card, no person. The endpoint is listed on mppscan and x402scan, the directories agents use to find paid resources, so an agent can discover it and pay it without ever being told it exists.

 We proved it with real money on mainnet, not a sandbox. An agent paid fifty cents over x402 on Base, and the settlement is [a USDC transfer on BaseScan](https://basescan.org/tx/0x3c428dba338b3783279bbf9f33299b54584f2cacfd302ae34aed5444fb8272d1) you can verify. Another agent paid the same fifty cents over MPP on Tempo, and that settlement landed in our wallet the same way.

## What MPP is, and why the onchain method is the interesting part

 MPP, the Machine Payments Protocol, is the standard Stripe and Tempo are building so software can pay a merchant per request. It answers a real gap in the agent economy: an agent has no card and no checkout to click, so it needs a machine-readable way to pay. MPP gives it one, and it supports more than one method underneath.

 The method we run is the onchain one, and it is the part worth understanding, because it is permissionless. To accept an MPP payment on Tempo, a provider needs a receiving wallet, the public Tempo RPC, and a key it generates itself. That is the whole setup. There is no account to apply for and no regional approval to wait on, so a small company anywhere in the world can start taking agent payments over MPP the same afternoon it decides to. For anyone building on the merchant side of agent payments, that is the unlock: the onchain method turns accepting stablecoin from agents into a few lines of config rather than an onboarding process.

 Gas is handled for the payer, too, so the agent only signs; it does not need to hold the chain's native token to pay. It signs an authorization, the settlement broadcasts, and the stablecoin moves. From the agent's point of view, paying is a single signed message.

## Multi-rail: agents pay with whatever they hold

 We did not pick one rail, because agents do not all hold the same thing. Some carry stablecoin on Base, some on Solana, some settle over Tempo. So the front-door advertises all three on one endpoint and lets the agent choose. It reads the 402, sees the options, and pays with whatever is in its wallet. From the agent's side it is one call; from ours it is three rails sharing a single publish flow. The aim is to never be the reason an agent cannot pay: if it holds stablecoin somewhere we accept, it can publish.

## What is live

 All three rails are live on the endpoint today: x402 on Base, x402 on Solana, and MPP on Tempo, settling real stablecoin on mainnet, with the receipts landing in our wallet. The endpoint is public and discoverable, so the fastest way to see it is to point an agent at it and watch it pay.

 The broader bet is the same one as the first piece, now a rail further along. Your next customer may not be a person. It may be an agent with a wallet and a job to do, and MPP and x402 are how it pays you for the work. Being an early example of that, rather than waiting to see how it settles out, is the whole reason we shipped it.

FAQ

## Frequent questions

     What is MPP (Machine Payments Protocol)? +  MPP is an agent-payment standard from Stripe and Tempo. It gives software, including AI agents, a machine-readable way to pay a merchant per request. It supports more than one method underneath; the onchain method settles stablecoin directly on Tempo with a wallet on each side.   What is Tempo? +  Tempo is a payments-focused blockchain (chain id 4217) that MPP's onchain method settles on. A merchant needs only a receiving wallet and the public Tempo RPC to accept a payment, and gas is handled for the payer, so the agent only signs.   How is MPP different from x402? +  Both let software pay per request with stablecoin and no account. x402 revives the HTTP 402 status code and settles on chains like Base and Solana. MPP is Stripe and Tempo's standard and settles its onchain method on Tempo. We accept both on one endpoint, so an agent can pay with whatever it holds.   Can any business accept MPP payments? +  The onchain method is permissionless. Any provider, in any region, can accept a Tempo settlement with just a receiving wallet and the public RPC, with no account to apply for and no onboarding to wait on. That is what let a small company like ours start taking agent payments over MPP the same day we decided to.   How does an AI agent pay for a service? +  The agent calls an endpoint with no credentials and gets back HTTP 402 Payment Required with the price, asset, network, and recipient. It pays in stablecoin, over MPP on Tempo or x402 on Base or Solana, and retries. No card, no login, no human in the loop.   Is this live, and which rails work today? +  All three rails are live on one endpoint: x402 on Base, x402 on Solana, and MPP on Tempo, settling real stablecoin on mainnet, with the receipts landing in our wallet. The endpoint is public: you can point an agent at it, read the 402, and pay it yourself.
Keep reading

## Related guides

   -  [ An agent paid $1 to provision itself The first piece: a real x402 payment on Base, end to end. ](/blog/agent-paid-to-provision-itself)
-  [ MPP vs x402 The two ways software pays per request, and why we accept both. ](/blog/mpp-vs-x402)
-  [ MPP on Stacktree How an agent pays over the Machine Payments Protocol, in plain terms. ](/mpp)
-  [ Stacktree for agents Publish a private link in one call, and pay for it with no human in the loop. ](/agents)

References

## Sources and further reading

   -  [ The Base settlement on BaseScan ↗ The real fifty-cent USDC transfer that published a page over x402 on Base mainnet. Verify it yourself. ](https://basescan.org/tx/0x3c428dba338b3783279bbf9f33299b54584f2cacfd302ae34aed5444fb8272d1)
-  [ MPP (Machine Payments Protocol) ↗ The agent-payment standard from Stripe and Tempo whose onchain method this endpoint accepts. ](https://mpp.dev)
-  [ Tempo ↗ The payments blockchain (chain id 4217) the MPP onchain method settles on. ](https://tempo.xyz)
-  [ x402 protocol ↗ The open HTTP 402 payment standard the Base and Solana rails implement. ](https://github.com/coinbase/x402)
-  [ mppscan ↗ The directory where agents discover MPP-payable resources, including this endpoint. ](https://mppscan.com)

##  Your next customer might be an agent with a wallet.

 Stacktree takes agent payments over MPP and x402 on one endpoint, and gives the agent a private link in return. Start free.

 [ Sign up free → ](https://app.stacktr.ee/?join=1&from=cta_blog_ai_agents_pay_over_mpp_tempo)   install npx stacktree-install
Copy
       Private hosting for the HTML your agents make.

[](https://betalist.com/startups/stacktree?utm_campaign=badge-stacktree&utm_medium=badge&utm_source=badge-featured)[Featured on](https://devhunt.org/tool/stacktree)[](https://buildlist.io)[Get started free](https://app.stacktr.ee/?join=1)

## Product

- [Page video](/page-video)
- [Ask this page](/ask-this-page)
- [Client spaces](/client-spaces)
- [Templates](/templates)
- [Example deliverables](/examples)
- [Custom domains](/custom-domains)
- [Client feedback](/client-feedback-loop)
- [One-time links](/one-time-view-links)
- [See how pages get read](/page-engagement)
- [Made with Stacktree](/made-with)
- [Security](/security)
- [Watch the demo](/demo)

## Agents

- [All integrations](/agents)
- [Claude Code](/claude-code)
- [OpenAI Codex](/codex)
- [Cursor](/cursor)
- [Claude.ai connector](/claude-ai-connector)
- [Claude Cowork](/what-is-claude-cowork)
- [Meta Muse](/muse)
- [MCP server](/mcp-publish-html)
- [Deploy from Claude Code](/deploy-html-from-claude-code)
- [Skills](/skills)
- [Slack app](/slack)
- [n8n node](/n8n)
- [Agent payments (x402)](/x402)

## Alternatives

- [All comparisons](/alternatives)
- [Head-to-head comparisons](/compare)
- [Tiiny Host](/tiiny-host-alternative)
- [GitHub Pages (private)](/github-pages-private-alternative)
- [Vercel](/vercel-alternative-for-agents)
- [ngrok](/ngrok-alternative-for-html)
- [Display.dev](/display-dev-alternative)
- [Static.app](/static-app-alternative)
- [OpenAI Codex Sites](/openai-codex-sites-alternative)
- [here.now](/here-now-alternative)
- [Shippage](/shippage-ai-alternative)
- [Best private hosting](/best-private-html-hosting)

## Use cases

- [All use cases](/use-cases)
- [Share with clients](/share-with-clients)
- [Send a file to a client](/share-html-file-with-client)
- [Share Claude artifacts](/share-claude-artifacts)
- [Share Jupyter notebooks](/share-jupyter-notebook-html)
- [Host Storybook privately](/host-storybook-privately)
- [Architecture diagrams](/share-architecture-diagrams)
- [AI-generated reports](/host-ai-reports)
- [Internal HTML tools](/internal-tool-hosting)
- [Private HTML hosting](/private-html-hosting)
- [Vibe-coded page hosting](/vibe-coding-hosting)
- [Leave a website builder](/website-builder-migration)

## Learn

- [Blog](/blog)
- [Glossary](/glossary)
- [FAQ](/faq)
- [Where AI output should live](/where-ai-output-lives)
- [Agent-loop hosting](/agent-loop-hosting)
- [Why agents need a publish primitive](/blog/why-agents-need-a-publish-primitive)
- [MCP servers explained](/blog/mcp-servers-explained-for-developers)
- [What changed in the 2026-07 MCP spec](/blog/mcp-2026-spec-changes)
- [Sites in Codex explained](/blog/sites-in-codex-explained)
- [Private-by-default hosting](/blog/private-by-default-html-hosting)
- [An agent paid us $1 (x402)](/blog/agent-paid-to-provision-itself)
- [When a loop hits a paywall](/blog/loop-engineering-paywall)
- [Pricing](/pricing)
- [Self-host (new)](/self-host)
- [Changelog](/changelog)
- [Docs](https://stacktr.ee/docs)
- [About](/about)
© 2026 Stacktree · stacktr.ee

[Privacy](/privacy)[Terms](/terms)[Security](/security)[Dashboard](https://app.stacktr.ee)[npm](https://www.npmjs.com/package/stacktree-mcp)[Sitemap](/sitemap.xml)[llms.txt](/llms.txt)[API spec](/openapi.json)

---
Full markdown summary of the Stacktree marketing surface: https://stacktr.ee/llms-full.txt
