Website for the Machine Payments Protocol
mpp is a growing TypeScript project in the AI payments / x402 ecosystem. It currently has 77 GitHub stars and 142 forks.
The open protocol for machine-to-machine payments.
MPP, the Machine Payments Protocol, is an open standard for machine-to-machine payments co-authored by Tempo and Stripe. Paid HTTP services typically require API keys, billing accounts, or checkout flows to be set up before a client can make a request. MPP lets agents, apps, and people pay inline with the request through an HTTP 402 Payment Required flow. Common use cases include agentic payments, usage-based billing, and machine-to-machine commerce.
You can get started today by reading the protocol overview, jumping straight to the quickstart, or exploring the SDKs.
This repository contains the source for mpp.dev. It is the primary home for MPP documentation, protocol explainers, SDK references, and the directory of live MPP-enabled services. Start here if you are new to MPP, regardless of the language or platform you use.
pnpm install # Install dependencies
pnpm run dev # Start development server
pnpm run build # Production build
pnpm run check:sdk-drift # Validate SDK reference pages against mppx exports
pnpm run preview # Preview production build
The service directory at mpp.dev/services is curated for live, production-ready MPP services.
If you want your service included in the curated mpp.dev/services list, open a PR and complete this checklist:
schemas/services.tspnpm check:typespnpm buildWe prioritize services that are high quality and novel. We may not approve services that duplicate existing functionality or aren't yet production-ready.
schemas/services.ts: add a new entry to the services array:{
id: "my-service",
name: "My Service",
url: "https://example.com",
serviceUrl: "https://api.example.com",
description: "What your service does.",
categories: ["ai"],
integration: "first-party",
tags: ["llm", "chat"],
docs: {
homepage: "https://docs.example.com",
llmsTxt: "https://docs.example.com/llms.txt",
},
provider: { name: "Example Inc.", url: "https://example.com" },
realm: MPP_REALM,
intent: "charge",
payment: TEMPO_PAYMENT,
endpoints: [
{ route: "POST /v1/completions", desc: "Generate completions", amount: "5000" },
{ route: "GET /v1/models", desc: "List models" },
],
}
Contributions to documentation, the service directory, and site improvements are welcome.
pnpm check:typespnpm buildpnpm checkvocs.config.ts): pnpm check:sdk-driftpnpm test:e2e| Change type | Process |
|---|---|
| Typo or editorial fix | Direct PR to main |
| New documentation page | Follow existing page structure in src/pages/ |
| New service listing | Register on MPPScan for immediate discovery; open a PR to include it in the curated mpp.dev/services list |
| Service update | Edit the service entry in schemas/services.ts, regenerate, PR |
| New component | Follow patterns in src/components/ |
| Site configuration | Open an issue first for discussion |
| Repository | Language |
|---|---|
| wevm/mppx | TypeScript |
| tempoxyz/pympp | Python |
| tempoxyz/mpp-rs | Rust |
| tempoxyz/mpp-go | Go |
| stripe/mpp-rb | Ruby |
| tempoxyz/mpp-specs | Protocol specifications |
See SECURITY.md for reporting vulnerabilities.
Licensed under either of Apache License, Version 2.0 or MIT License at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in these crates by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
TypeScript Interface for Machine Payments Protocol
Alephant is an open-source AI Agent Gateway for routing, tracking, and controlling LLM usage across AI agents, members, and workflows, and for publishing agent capabilities as paid endpoints with x402 and MPP payment rails.
Specifications for the Machine Payments Protocol - powered by the "Payment" HTTP authentication scheme
Rust SDK for the Machine Payments Protocol
Building blocks for Agentic payments (x402, MPP, AP2) for TypeScript, Rust, Go, Python, Ruby, PHP, Lua, Kotlin and Swift.
Building blocks for Agentic payments (x402, MPP, AP2) for TypeScript, Rust, Go, Python, Ruby, PHP, Lua, Kotlin and Swift.