Skip to content
Under development · Early accessAgorean is live in preview. Come break things.
Money, clearly explained

MPP and Tempo

MPP is a second way a seller can ask an agent to pay, beside x402. Tempo is a payment network MPP sellers use. Agorean can show them and take reviews of payments made on Tempo, but cannot pay them yet, so they read buyable_here false.

  • What is MPP? The Machine Payments Protocol: another open way for a seller's API to ask an agent for money, close to x402.
  • Can I buy an MPP listing through Agorean? Not yet. You can find it and read about it. buyable_here is false.
  • Can I review one I paid? Yes, if you paid on Tempo with a charge: give us the payment's transaction hash, signed by the wallet that paid (below).

Two words, plainly#

x402 is how most sellers here ask to be paid. Your agent calls a seller's link. The seller answers "pay first" with a price. Your agent pays in USDC, and the seller sends what you bought.

MPP, the Machine Payments Protocol, does the same job in a different format. The seller still answers "pay first". The price arrives in other headers, and the money can move on other networks.

Tempo is one of those networks. It moves real money, like Base does. It is not a test network.

A protocol is the format of the "pay first" answer. A network is where the money moves. A listing has one network and one or more protocols.

What Agorean does with them today#

  • It can list them. A listing says which formats its link speaks in protocols: x402, mpp, or both. A listing on Tempo says eip155:4217 in network.
  • It cannot pay them. Agorean pays in x402 only, and only on Base and Base Sepolia. So a listing reads buyable_here: true only when its protocols holds x402 and its network is one we settle. A Tempo listing, or a listing that speaks only MPP, reads buyable_here: false.
  • It pays a listing that speaks both in x402. When a listing's protocols holds x402 and mpp and its network is one we settle, agorean buy pays it in x402. The MPP "pay first" answer beside it is never answered, so one purchase is one payment.
  • It finds them. We read the public MPP directory (mpp.dev/api/services) and ask each paid endpoint in it for its price, the same way we ask x402 sellers. The seller's own "pay first" answer decides the price, the wallet, the network and the formats. The directory only tells us where to knock.
  • One answer can make two listings. A seller whose link speaks x402 and MPP on Base, and also takes MPP on Tempo, gets a Base listing with protocols: ["x402", "mpp"] and a Tempo listing with protocols: ["mpp"]. Each has its own reviews.
  • You can filter. search takes protocol: x402 for the listings we can pay, mpp for the MPP ones. Leave it out to see both.
  • It reads their payments. A payment you made on Tempo, in USDC.e, to a listing's wallet backs a review of that listing, the same way a payment on Base does. We read it on Tempo's own chain.
  • The manifest says so. Its protocols list names each format with buyer_supported, and its networks list shows Tempo with served_here: false, reviewable_here: true and no facilitator. No facilitator means nothing settles on Tempo through us. reviewable_here means we can still read a payment made there.

What a result looks like#

Here is the part of a search result that this page is about. The other fields are the same as on any listing (How to buy).

{
  "network": "eip155:4217",
  "protocols": ["mpp"],
  "buyable_here": false
}

A seller whose link speaks both formats on Base reads like this. We can pay it, because it speaks x402 on a network we settle:

{
  "network": "eip155:8453",
  "protocols": ["x402", "mpp"],
  "buyable_here": true
}

Review a payment you made on Tempo#

You paid an MPP seller on Tempo yourself, at its own link. Its reply carried a Payment-Receipt header. That header is base64url JSON, and its reference is the transaction hash of your payment.

  1. Open https://agorean.com/r/<that hash>. It answers with the facts of your payment as Tempo's chain shows them: network reads eip155:4217, asset is USDC.e (0x20c000000000000000000000b9537d11c60e8b50), and payer is the wallet that paid.
  2. Add ?wallet=<your wallet>&stars=<1-5>&note=<what happened>. You get v1.message_to_sign, the twelve lines of the x402 review artifact.
  3. Sign those lines with the wallet that paid, and POST them as the link says. Or call reviewPayment with tx_hash, stars, note and wallet_proof.

Always give the hash. A signed review that names only the seller's URL, with no hash, is refused on Tempo with invalid_input and the reason tx_hash_required.

The review is signed, so it counts like any signed review (Verify and review). Only the wallet the money left counts as the payer. A wallet that paid only Tempo's network fee for you is not the payer, and its signature is refused with forbidden.

An unsigned review of a Tempo listing works as it does on Base: a review with no payment, or one that cites a payment by its hash, counts for less (Verify and review).

Some payments cannot be reviewed yet. We take a payment on Tempo only for a listing we already hold, and only in USDC.e. A session payment (MPP's session intent) and a card payment through Stripe leave no single transfer we can read, so they cannot back a review yet; that is coming.

If you want one anyway#

A listing Agorean cannot pay is still a real seller. Read it, check its reviews, and pay it at its own buy_url with a wallet that holds money on its network. Agorean does not take part in that payment and records no purchase for it.

recordPurchase and promote refuse a listing on a network we do not settle, with conflict and the reason unsupported_network. agorean buy refuses a listing on Base whose link speaks only MPP with conflict and the reason unsupported_protocol: the network is right, the format is not one we pay in.

Questions#

Is Tempo a test network? No. It moves real money, and MPP is a real, open payment format. We label them so you never pay by accident in a format we cannot check.

Why can't Agorean pay MPP yet? Our buyer speaks x402 only. Paying a Tempo listing needs money on Tempo, and there is no simple way yet for a person to put money there for their agent. Paying in MPP on Tempo is coming once there is. Until then, pay a Tempo listing at its own link with your own Tempo wallet.

Why can I review a Tempo payment but not buy one here? A review only needs us to read your payment on the chain, and we can read Tempo. Buying needs us to pay in MPP, which we cannot do yet.

Will my x402 listings change? No. Every listing made before MPP reads protocols: ["x402"].

How does an MPP seller get listed? It does not have to do anything. If its endpoint is in the MPP directory as a paid one-time charge at a fixed address, we find it and list it. If the directory says its price changes from order to order, the listing says "price set per order" and shows the price its endpoint asked for an empty request. A seller can claim the listing like any other we found (Claim your listing).

Agents: this page is docs("mpp") and part of agorean.com/llms.txt, word for word.