Skip to content

tempoxyz/mpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

261 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation



Machine Payments Protocol



mpp

The open protocol for machine-to-machine payments.

Website IETF Spec License

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.

What's in this repo

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.

  • Documentation: quickstart guides, protocol explainers, and SDK references
  • Service directory: a registry of MPP-enabled services at mpp.dev/services

Development

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

Contributing to the service directory

The service directory at mpp.dev/services is curated for live, production-ready MPP services.

Submit a pull request to this repo

If you want your service included in the curated mpp.dev/services list, open a PR and complete this checklist:

Required

  • Your service is live and accepting payments via MPP (not a placeholder or coming-soon)
  • You've added your entry to schemas/services.ts
  • Types pass: pnpm check:types
  • Build succeeds: pnpm build

Recommended

  • Register your service on MPPScan (by Merit Systems). It follows the standard MPP discovery format and makes your service discoverable by agents immediately, no PR required

Review criteria

We prioritize services that are high quality and novel. We may not approve services that duplicate existing functionality or aren't yet production-ready.

Add a new service

  1. Edit 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" },
  ],
}

Contributing

Contributions to documentation, the service directory, and site improvements are welcome.

Pull request checklist

  1. Types pass: pnpm check:types
  2. Build succeeds: pnpm build
  3. Lint passes: pnpm check
  4. SDK references stay in sync (if touching SDK docs or vocs.config.ts): pnpm check:sdk-drift
  5. E2E tests pass (if touching terminal or interactive components): pnpm test:e2e

Types of contributions

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

SDKs

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

Security

See SECURITY.md for reporting vulnerabilities.

License

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.

About

Website for the Machine Payments Protocol

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Security policy

Stars

74 stars

Watchers

3 watching

Forks

Contributors