Skip to main content
The Machine Payments Protocol (MPP) is an open protocol for machine-to-machine payments, neutral to the underlying payment method. Tempo-enabled Proceeds paywalls expose an MPP endpoint alongside their x402 endpoint. Use MPP when your callers are agents — code that needs to discover, pay for, and use third-party APIs without manual signup or API keys.

Endpoint

https://myproceeds.xyz/api/mpp/pay/{serviceId}/{slug}

Flow

MPP follows the same 402 shape as x402, with explicit primitives for credentials and receipts.
  1. Client requests the MPP URL.
  2. Proceeds responds with 402 Payment Required and a WWW-Authenticate: Payment header advertising supported methods.
  3. Client signs a payment using one of the advertised methods (Tempo today).
  4. Client retries with Authorization: Payment <credential>.
  5. Proceeds returns 200 OK with a Payment-Receipt header.

curl

curl -i https://myproceeds.xyz/api/mpp/pay/{serviceId}/{slug}

JavaScript

import { Mppx, tempo } from 'mppx/client'

const mppClient = Mppx.create({
  methods: [tempo.charge({ account })],
})

const response = await mppClient.fetch(
  'https://myproceeds.xyz/api/mpp/pay/{serviceId}/{slug}'
)

const data = await response.json()

Use from an agent

To pay an MPP Proceeds URL from an agent in Claude Code, Cursor, or Codex, use a managed MPP client rather than wiring the flow by hand:
  • Tempo Wallet — MPP-native with built-in spend controls.
  • AgentCash — one USDC balance across x402 and MPP.
See Pay with an agent for setup.

When to use MPP

  • Your callers are AI agents or other autonomous code.
  • You want explicit Credential and Receipt primitives for traceable machine payments.
  • Your service is on Tempo or you want first-class Tempo support.

More on MPP

Read the protocol at mpp.dev.