{
  "dataset": "protocols",
  "record": {
    "id": "mpp",
    "name": "MPP",
    "full_name": "Machine Payments Protocol",
    "layer": "payments",
    "creator": "Stripe + Tempo",
    "status": "live (shipped 2026; IETF Internet-Draft)",
    "year": 2026,
    "one_liner": "Stripe and Tempo's open standard for billing AI agents over HTTP — agents discover prices, pay, subscribe and reconcile across stablecoins, cards and BNPL, with cryptographic receipts.",
    "spec_url": "https://stripe.com/blog/machine-payments-protocol",
    "snippet": "HTTP 402 + machine-readable price discovery → pay (stablecoin/card) → cryptographic receipt, in one cycle.",
    "abbreviation": "MPP",
    "also_known_as": [
      "Machine Payments Protocol",
      "Stripe/Tempo MPP"
    ],
    "canonical_spec_url": "https://stripe.com/blog/machine-payments-protocol",
    "entity_uri": "https://stripe.com/blog/machine-payments-protocol",
    "taxonomy_layer": "payments",
    "sub_layer": "machine-billing-over-http",
    "protocol_type": "settlement",
    "central_problem": "Gives AI agents a standard way to discover prices, pay for resources, manage subscriptions, and reconcile balances over HTTP across stablecoins, cards, and BNPL — with cryptographic receipts.",
    "maintainer": "Stripe + Tempo (co-authored); proposed to the IETF as a Standards Track Internet-Draft",
    "governance_body": {
      "value": "vendor (Stripe + Tempo); IETF Internet-Draft submitted",
      "verify_status": "verify-against-primary-at-build",
      "source_hint": "https://stripe.com/blog/machine-payments-protocol",
      "note": "Confirm IETF draft name/status against datatracker at build."
    },
    "license": {
      "value": null,
      "verify_status": "verify-against-primary-at-build",
      "source_hint": "https://stripe.com/blog/machine-payments-protocol",
      "note": "Confirm the MPP spec license at build."
    },
    "maturity_tag": "emerging",
    "current_spec_version": {
      "value": null,
      "verify_status": "verify-against-primary-at-build",
      "source_hint": "https://stripe.com/blog/machine-payments-protocol",
      "note": "Confirm current MPP spec/draft version at build."
    },
    "spec_date": {
      "value": "2026-03-18",
      "verify_status": "verify-against-primary-at-build",
      "source_hint": "https://stripe.com/blog/machine-payments-protocol",
      "note": "Announcement reported 2026-03-18; confirm against the primary Stripe blog at build."
    },
    "launch_date": {
      "value": "2026-03-18",
      "verify_status": "verify-against-primary-at-build",
      "source_hint": "https://stripe.com/blog/machine-payments-protocol",
      "note": "Reported ship date 2026-03-18; confirm at build."
    },
    "last_verified": "2026-06-15",
    "transport": "HTTP (formalizes the 402 status code); settlement via Stripe PaymentIntents with Tempo as default stablecoin chain",
    "core_mechanism": "MPP gives HTTP's 402 status code a formal specification so agents can, in one request-response cycle, discover pricing, pay for a resource (stablecoins via Tempo, cards via Stripe/Visa, Bitcoin via Lightning, or custom methods), and receive a cryptographic receipt. It is lifecycle-aware — subscriptions, streaming charges, cancellations, and balance reconciliation are first-class — with funds settling through Stripe PaymentIntents.",
    "discovery_endpoint": "HTTP 402 price-discovery response (per-resource); MPP Services Directory",
    "settlement_type": "stablecoin (Tempo) / card-rail (Stripe, Visa) / Bitcoin (Lightning) / custom",
    "adoption_metric": {
      "value": "100+ services listed in the MPP Services Directory (per the Stripe/Tempo announcement)",
      "source": "https://stripe.com/blog/machine-payments-protocol",
      "last_verified": "2026-06-15",
      "note": "Directory count is vendor-reported; confirm against the primary Stripe/Tempo source at build."
    },
    "notable_adopters": [
      {
        "value": "Stripe (co-author; PaymentIntents settlement)",
        "source": "https://stripe.com/blog/machine-payments-protocol"
      },
      {
        "value": "Tempo (co-author; default stablecoin chain)",
        "source": "https://stripe.com/blog/machine-payments-protocol"
      }
    ],
    "relationships": [
      {
        "predicate": "competes_with",
        "target": "x402",
        "note": "MPP and x402 both formalize HTTP 402 for agent payments; MPP adds lifecycle primitives (subscriptions, reconciliation) and multi-rail settlement."
      },
      {
        "predicate": "complements",
        "target": "ap2",
        "note": "Both target agent payments; MPP is an HTTP 402 billing protocol with Tempo settlement, AP2 is a mandate framework across rails."
      }
    ],
    "ideal_use_case": "Billing AI agents for API/resource access over HTTP with subscriptions, streaming charges, and multi-rail settlement.",
    "when_to_use": "When you need lifecycle-aware agent billing (not just one-shot payments) across stablecoins, cards, and BNPL with cryptographic receipts.",
    "when_not_to_use": "When a simple inline stablecoin micropayment (x402) or a mandate-routed checkout (AP2) is all you need.",
    "code_example": "HTTP/1.1 402 Payment Required\nMPP-Accepts: stablecoin; chain=tempo; price=0.02 USD\n\n# Agent pays and retries; server returns a cryptographic receipt:\nMPP-Receipt: <signed receipt>",
    "source": "Stripe + Tempo Machine Payments Protocol (shipped 2026-03-18; formalizes HTTP 402; price discovery + subscriptions + reconciliation; stablecoin via Tempo, cards via Stripe/Visa, Bitcoin via Lightning; Stripe PaymentIntents settlement; IETF Internet-Draft; 100+ services directory): https://stripe.com/blog/machine-payments-protocol . Listed for addition in research §2.",
    "agent_readiness_link": "agent-readiness/x402",
    "layer_legacy": "payment"
  }
}