# MPP: The Internet Payments Protocol The open protocol for internet payments. - [CLI Playground](/_cli) - [Page Not Found](/404) - [Brand](/brand): MPP brand assets and guidelines - [Frequently asked questions](/faq): Common questions about the Machine Payments Protocol - [Machine Payments Protocol](/overview): The open protocol for internet-native payments - [Payment methods](/payment-methods/): Available methods and how to choose one - [Protocol overview](/protocol/): Standardizing HTTP 402 for machine-to-machine payments - [Quickstart](/quickstart/): Get started with MPP in minutes - [SDKs & Tools](/sdk/): Official implementations in multiple languages - [Building with AI](/guides/building-with-ai): Use llms-full.txt to give your coding agent complete MPP context. - [Accept one-time payments](/guides/one-time-payments): Charge per request with a payment-gated API - [Accept pay-as-you-go payments](/guides/pay-as-you-go): Session-based billing with payment channels - [Accept streamed payments](/guides/streamed-payments): Per-token billing over Server-Sent Events - [Charge](/intents/charge): Immediate one-time payments - [Custom](/payment-methods/custom): Build your own payment method - [Stripe](/payment-methods/stripe/): Cards, wallets, and other Stripe supported payment methods - [Tempo](/payment-methods/tempo/): Stablecoin payments on the Tempo blockchain - [Challenges](/protocol/challenges): Server-issued payment requirements - [Credentials](/protocol/credentials): Client-submitted payment proofs - [HTTP 402 payment required](/protocol/http-402): The status code that signals payment is required - [Receipts](/protocol/receipts): Server acknowledgment of successful payment - [Transports](/protocol/transports/): HTTP and MCP bindings for payment flows - [Client quickstart](/quickstart/client): Handle payment-gated resources automatically - [presto](/quickstart/presto): Make paid HTTP requests from the command line - [Server quickstart](/quickstart/server): Charge for resources and verify payment credentials - [Python SDK](/sdk/python/): The pympp Python library - [Rust SDK](/sdk/rust/): The mpp Rust library - [Getting started](/sdk/typescript/): The mppx TypeScript library - [presto](/tools/presto): Command-line HTTP client for MPP - [Stripe charge](/payment-methods/stripe/charge): One-time payments using Stripe Payment Tokens - [Tempo charge](/payment-methods/tempo/charge): One-time TIP-20 token transfers - [Session](/payment-methods/tempo/session): Low-cost high-throughput payments - [HTTP transport](/protocol/transports/http): Payment flows using standard HTTP headers - [MCP transport](/protocol/transports/mcp): Payment flows for AI tool calls - [Client](/sdk/python/client): Handle 402 responses automatically - [Core Types](/sdk/python/core): Challenge, Credential, and Receipt primitives - [Server](/sdk/python/server): Protect endpoints with payment requirements - [Client](/sdk/rust/client): Handle 402 responses automatically - [Server](/sdk/rust/server): Protect endpoints with payment requirements - [CLI Reference](/sdk/typescript/cli): Built-in command-line tool for paid HTTP requests - [Method.from](/sdk/typescript/Method.from) - [presto examples](/tools/presto/examples): Real-world usage patterns - [tempo](/sdk/typescript/client/Method.tempo): Register all Tempo intents - [Method.tempo.charge](/sdk/typescript/client/Method.tempo.charge): One-time payments - [Method.tempo.session](/sdk/typescript/client/Method.tempo.session): Low-cost high-throughput payments - [Mppx.create](/sdk/typescript/client/Mppx.create) - [Mppx.restore](/sdk/typescript/client/Mppx.restore) - [Transport.from](/sdk/typescript/client/Transport.from) - [Transport.http](/sdk/typescript/client/Transport.http) - [Transport.mcp](/sdk/typescript/client/Transport.mcp) - [BodyDigest.compute](/sdk/typescript/core/BodyDigest.compute) - [BodyDigest.verify](/sdk/typescript/core/BodyDigest.verify) - [Challenge.deserialize](/sdk/typescript/core/Challenge.deserialize) - [Challenge.from](/sdk/typescript/core/Challenge.from) - [Challenge.fromHeaders](/sdk/typescript/core/Challenge.fromHeaders) - [Challenge.fromMethod](/sdk/typescript/core/Challenge.fromMethod) - [Challenge.fromResponse](/sdk/typescript/core/Challenge.fromResponse) - [Challenge.meta](/sdk/typescript/core/Challenge.meta) - [Challenge.serialize](/sdk/typescript/core/Challenge.serialize) - [Challenge.verify](/sdk/typescript/core/Challenge.verify) - [Credential.deserialize](/sdk/typescript/core/Credential.deserialize) - [Credential.from](/sdk/typescript/core/Credential.from) - [Credential.fromRequest](/sdk/typescript/core/Credential.fromRequest) - [Credential.serialize](/sdk/typescript/core/Credential.serialize) - [Expires](/sdk/typescript/core/Expires) - [Method.from](/sdk/typescript/core/Method.from) - [Method.toClient](/sdk/typescript/core/Method.toClient) - [Method.toServer](/sdk/typescript/core/Method.toServer) - [PaymentRequest.deserialize](/sdk/typescript/core/PaymentRequest.deserialize) - [PaymentRequest.from](/sdk/typescript/core/PaymentRequest.from) - [PaymentRequest.serialize](/sdk/typescript/core/PaymentRequest.serialize) - [Receipt.deserialize](/sdk/typescript/core/Receipt.deserialize) - [Receipt.from](/sdk/typescript/core/Receipt.from) - [Receipt.fromResponse](/sdk/typescript/core/Receipt.fromResponse) - [Receipt.serialize](/sdk/typescript/core/Receipt.serialize) - [Elysia](/sdk/typescript/middlewares/elysia): Payment middleware for Elysia - [Express](/sdk/typescript/middlewares/express): Payment middleware for Express - [Hono](/sdk/typescript/middlewares/hono): Payment middleware for Hono - [Next.js](/sdk/typescript/middlewares/nextjs): Payment middleware for Next.js - [Method.tempo.charge](/sdk/typescript/server/Method.tempo.charge) - [Method.tempo.session](/sdk/typescript/server/Method.tempo.session): Low-cost high-throughput payments - [Mppx.create](/sdk/typescript/server/Mppx.create) - [Mppx.toNodeListener](/sdk/typescript/server/Mppx.toNodeListener) - [Transport.from](/sdk/typescript/server/Transport.from) - [Transport.http](/sdk/typescript/server/Transport.http) - [Transport.mcp](/sdk/typescript/server/Transport.mcp) - [Transport.mcpSdk](/sdk/typescript/server/Transport.mcpSdk)