{
  "data": {
    "category": {
      "area": "payments",
      "capabilities": [
        "payments.protocol",
        "payments.x402",
        "payments.stablecoin",
        "payments.lightning"
      ],
      "description": "Protocols where an API answers with a payment request, the agent pays and retries the call. x402, MPP and L402 compared on who governs them, what rails and assets they settle on, what a payment costs, how long settlement takes and what security researchers have found.",
      "json": "https://www.anchorterminal.com/categories/pay-per-call.json",
      "name": "Pay-per-call protocols",
      "slug": "pay-per-call",
      "test": "",
      "title": "Pay-per-call payment protocols for AI agents",
      "toolCount": 3,
      "tools": [
        "mpp",
        "x402",
        "l402"
      ],
      "url": "https://www.anchorterminal.com/categories/pay-per-call"
    },
    "tools": [
      {
        "slug": "mpp",
        "name": "Machine Payments Protocol (MPP)",
        "vendor": "Tempo and Stripe",
        "vendorUrl": "https://mpp.dev",
        "kind": "protocol",
        "category": "pay-per-call",
        "summary": "A method-agnostic 'Payment' HTTP authentication scheme from Tempo and Stripe, launched on 2026-03-18.",
        "url": "https://www.anchorterminal.com/tools/mpp",
        "markdownUrl": "https://www.anchorterminal.com/tools/mpp.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mpp.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mpp.json",
        "repo": "https://github.com/tempoxyz/mpp-specs",
        "license": "CC0-1.0 (spec)",
        "transports": [],
        "packages": [
          {
            "registry": "npm",
            "name": "mppx"
          },
          {
            "registry": "pypi",
            "name": "pympp"
          },
          {
            "registry": "go",
            "name": "github.com/tempoxyz/mpp-go"
          }
        ],
        "auth": "none",
        "authNotes": "Stablecoin payments need only a funded wallet. Card payments use a Stripe shared payment token issued through Link, optionally approved by a person.",
        "pricing": "free",
        "pricingNotes": "No protocol fee. Tempo gas is paid in stablecoin, capped around $0.0006 for a 50k-gas transfer, and the server can sponsor it. Stripe charges 1.5% on stablecoins, its card pricing on cards, and $0.15 per shared payment token (https://docs.stripe.com/payments/machine).",
        "priceSummary": "Free",
        "where": "spec",
        "x402": {
          "level": "no",
          "evidence": "A payment protocol, not a tool that accepts payment.",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 93,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-26"
        },
        "docsUrl": "https://mpp.dev",
        "llmsTxt": "https://mpp.dev/llms.txt",
        "capabilities": [
          "payments.protocol",
          "payments.stablecoin",
          "payments.card-token"
        ],
        "tags": [
          "protocol",
          "ietf-draft",
          "stablecoin",
          "cards",
          "stripe"
        ],
        "lastRelease": "2026-09-29",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 81.1,
          "grade": "A",
          "agentReady": true,
          "rank": 0,
          "ranked": false,
          "notRankedWhy": "A protocol, graded on the same scale but not ranked against tools",
          "rankOf": 452,
          "categoryRank": 1,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 91,
            "maintenance": 95,
            "payments": 94,
            "reliability": 85,
            "schema": 89,
            "security": 79,
            "transparency": 45
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": -3,
          "negativeNotes": [
            "2026-03-26, three advisories in mppx eight days after launch, GHSA-8x4m-qw58-3pcx (critical, multiple payment bypass and griefing bugs), GHSA-mv9j-8jvg-j8mr (high, Tempo session close voucher bypass) and GHSA-8mhj-rffc-rcvw (moderate, Stripe credential replay). Fixed and published, so we deduct 2 (https://github.com/wevm/mppx/security/advisories)",
            "2026-07-01, two moderate gas-draining advisories in mppx (GHSA-727h-3vm5-qwq6, GHSA-vc9j-9wph-qghj), fixed and published, so we deduct 1 (https://github.com/wevm/mppx/security/advisories)"
          ],
          "verdict": "A 1,464-line Internet-Draft with 11 error codes, Retry-After and HMAC-SHA256 test vectors. Individual Internet-Draft, not adopted by any IETF working group.",
          "strengths": [
            "A 1,464-line Internet-Draft with 11 error codes, Retry-After and HMAC-SHA256 test vectors",
            "Single-use proofs, request-body binding and Idempotency-Key guidance in the core",
            "Official SDKs in TypeScript, Python, Go, Rust and Ruby, each running a shared conformance suite",
            "Method drafts for Tempo, EVM, Solana, Lightning, Stellar, XRPL, Hedera and Stripe cards",
            "Spec under CC0"
          ],
          "weaknesses": [
            "Individual Internet-Draft, not adopted by any IETF working group",
            "Five mppx advisories in 2026, one critical",
            "No legal entity or governance body named for the spec",
            "Stripe's minimums are $0.50 for card tokens and 0.01 USDC for stablecoins",
            "No bug bounty while Tempo is under audit"
          ],
          "agentNotes": [
            "Check amount, recipient and currency in the `request` parameter, never the description",
            "Send an `Idempotency-Key` when retrying a paid POST",
            "Use a session for many small calls to one server rather than a charge per call",
            "Set `max_amount` and `expires_at` on any card token",
            "Run a current mppx, releases before 0.4.11 had payment-bypass and session-voucher bugs"
          ],
          "metrics": {
            "kind": "spec",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 4,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "A",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 81.1
            }
          ],
          "editorialScores": {
            "ergonomics": 91,
            "maintenance": 95,
            "payments": 94,
            "reliability": 85,
            "schema": 89,
            "security": 79,
            "transparency": 67
          },
          "provenanceScore": 23
        },
        "connect": {
          "install": "npm i mppx   # or: pip install pympp"
        },
        "letme": {
          "capability": "https://letme.dev/payments.protocol",
          "tool": "https://letme.dev/mpp"
        },
        "area": "payments",
        "unitPrices": [
          {
            "item": "Stripe stablecoin processing",
            "unit": "pct",
            "usd": 1.5
          },
          {
            "item": "Stripe shared payment token",
            "unit": "tx",
            "usd": 0.15
          }
        ],
        "provenance": {
          "legalEntity": "",
          "domain": "mpp.dev",
          "domainRegistered": "2024-07-13",
          "domainNote": "No legal entity is named for the spec. Its authors work at Tempo and Stripe.",
          "endpointOnVendorDomain": null,
          "terms": "",
          "privacy": "",
          "statusPage": "",
          "changelog": "",
          "securityTxt": "none",
          "checked": "2026-09-26",
          "score": 23
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/mpp.json",
        "live": {
          "slug": "mpp",
          "versions": [
            {
              "registry": "github",
              "name": "tempoxyz/mpp-specs",
              "version": "spec-artifacts-27a274a94d34461e875d4593cf36e066c207aab4",
              "released": "2026-10-01",
              "seenAt": "2026-10-04T16:33:55.546899701Z"
            },
            {
              "registry": "npm",
              "name": "mppx",
              "version": "0.13.1",
              "seenAt": "2026-10-04T16:33:54.568061805Z"
            },
            {
              "registry": "pypi",
              "name": "pympp",
              "version": "0.11.0",
              "released": "2026-08-28",
              "seenAt": "2026-10-04T16:33:55.352094169Z"
            }
          ],
          "githubStars": 95,
          "npmWeekly": 313824,
          "pypiWeekly": 341354,
          "securityTxt": {
            "url": "https://mpp.dev/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:54.126428074Z"
          },
          "llmsTxt": {
            "url": "https://mpp.dev/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:01.223058209Z"
          },
          "domain": {
            "domain": "mpp.dev",
            "registered": "2024-07-13",
            "source": "https://pubapi.registry.google/rdap/domain/mpp.dev",
            "checkedAt": "2026-10-04T13:07:45.084861159Z"
          },
          "pages": [
            {
              "url": "https://datatracker.ietf.org/doc/draft-ryan-httpauth-payment/",
              "kind": "deprecations",
              "status": 200,
              "checkedAt": "2026-10-04T15:42:22.620595223Z",
              "changedAt": "2026-10-02T15:18:41.703193102Z",
              "fingerprint": "2492d95f5cde"
            }
          ],
          "updatedAt": "2026-10-04T16:33:55.546899701Z"
        }
      },
      {
        "slug": "x402",
        "name": "x402",
        "vendor": "x402 Foundation (Linux Foundation)",
        "vendorUrl": "https://x402.org",
        "kind": "protocol",
        "category": "pay-per-call",
        "summary": "Protocol for per-request stablecoin payments using HTTP 402.",
        "url": "https://www.anchorterminal.com/tools/x402",
        "markdownUrl": "https://www.anchorterminal.com/tools/x402.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/x402.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/x402.json",
        "repo": "https://github.com/x402-foundation/x402",
        "license": "Apache-2.0",
        "transports": [],
        "packages": [
          {
            "registry": "npm",
            "name": "@x402/core"
          },
          {
            "registry": "npm",
            "name": "@x402/fetch"
          },
          {
            "registry": "pypi",
            "name": "x402"
          },
          {
            "registry": "go",
            "name": "github.com/x402-foundation/x402/go"
          }
        ],
        "auth": "none",
        "authNotes": "No account. A funded wallet signs each payment. Facilitators may screen addresses (Coinbase CDP runs OFAC and KYT checks).",
        "pricing": "free",
        "pricingNotes": "No protocol fee. The Coinbase CDP facilitator settles 1,000 transactions a month free, then $0.001 each, and pays gas in the exact scheme. Stripe charges 1.5% for x402 with gas included (https://docs.cdp.coinbase.com/x402/core-concepts/facilitator).",
        "priceSummary": "Free · OSS",
        "where": "spec",
        "x402": {
          "level": "no",
          "evidence": "A payment protocol, not a tool that accepts payment.",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 6400,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-10-01"
        },
        "docsUrl": "https://docs.x402.org",
        "llmsTxt": "https://docs.x402.org/llms.txt",
        "capabilities": [
          "payments.protocol",
          "payments.x402",
          "payments.stablecoin"
        ],
        "tags": [
          "protocol",
          "open-source",
          "stablecoin",
          "account-free",
          "foundation"
        ],
        "lastRelease": "2026-09-30",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 79.7,
          "grade": "A",
          "agentReady": true,
          "rank": 0,
          "ranked": false,
          "notRankedWhy": "A protocol, graded on the same scale but not ranked against tools",
          "rankOf": 452,
          "categoryRank": 2,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 84,
            "maintenance": 93,
            "payments": 97,
            "reliability": 87,
            "schema": 86,
            "security": 67,
            "transparency": 65
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "high",
            "date": "2026-10-01"
          },
          "negative": -3,
          "negativeNotes": [
            "2026-03-06, GHSA-qr2g-p6q7-w82m (high). Facilitators processing Solana payments on @x402/svm before 2.6.0, Python x402 before 2.3.0 or Go before 2.5.0 were exposed. Keys and funds weren't affected, and the fix and advisory were public, so we deduct 2 (https://github.com/x402-foundation/x402/security/advisories/GHSA-qr2g-p6q7-w82m)",
            "2026-05-12, five attacks on x402 validated on local chains, Base Sepolia and live endpoints, across authorisation, binding, replay and web handling, causing unpaid service or paid-but-denied outcomes. Some related fixes appear in the repository (origin binding for sign-in, SSRF in Bazaar), but we couldn't confirm all five are closed, so we deduct 1 (https://arxiv.org/abs/2605.11781)"
          ],
          "verdict": "No account and no protocol fee, a funded wallet is enough. Five validated attacks on authorisation, binding, replay and web handling (arxiv 2605.11781).",
          "strengths": [
            "No account and no protocol fee, a funded wallet is enough",
            "Reference SDKs in TypeScript, Python, Go and Java, released weekly",
            "15 public facilitators listed in the docs, several with no fees",
            "Exact, upto, auth-capture and batch-settlement schemes, with exact specs for 17 networks",
            "Standard error codes, including a non-terminal settlement_pending with the transaction hash"
          ],
          "weaknesses": [
            "Five validated attacks on authorisation, binding, replay and web handling (arxiv 2605.11781)",
            "A high-severity facilitator advisory on Solana handling in March 2026",
            "Spend budgets sit outside the spec, only the upto scheme caps an amount",
            "The FAQ and the exact-scheme spec disagree on who pays gas",
            "Security reports still go to Coinbase's HackerOne rather than a foundation channel"
          ],
          "agentNotes": [
            "Decode PAYMENT-REQUIRED and check amount, asset and payTo against what you expected before signing",
            "Use the upto scheme when the final price isn't known, and cap it",
            "On settlement_pending, look up the returned transaction hash before paying again",
            "Use a production facilitator for Base mainnet, x402.org/facilitator is testnet only",
            "Give the agent its own wallet with a small balance, never a treasury key"
          ],
          "metrics": {
            "kind": "spec",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 4.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "high",
              "grade": "A",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 79.7
            }
          ],
          "editorialScores": {
            "ergonomics": 84,
            "maintenance": 93,
            "payments": 97,
            "reliability": 87,
            "schema": 86,
            "security": 67,
            "transparency": 72
          },
          "provenanceScore": 57
        },
        "connect": {
          "install": "npm i @x402/fetch   # or: pip install x402",
          "http": "curl -i https://api.exa.ai/search -H \"content-type: application/json\" -d '{\"query\":\"x402\"}'\n# 402 Payment Required, PAYMENT-REQUIRED: \u003cbase64 JSON of accepted schemes\u003e\n# retry with PAYMENT-SIGNATURE: \u003cbase64 signed payment\u003e"
        },
        "letme": {
          "capability": "https://letme.dev/payments.protocol",
          "tool": "https://letme.dev/x402"
        },
        "area": "payments",
        "unitPrices": [
          {
            "item": "CDP facilitator after 1,000 a month",
            "unit": "tx",
            "usd": 0.001
          },
          {
            "item": "Stripe x402 processing",
            "unit": "pct",
            "usd": 1.5,
            "note": "gas included"
          }
        ],
        "provenance": {
          "legalEntity": "x402, a Series of LF Projects, LLC",
          "domain": "x402.org",
          "domainRegistered": "2025-02-20",
          "endpointOnVendorDomain": null,
          "terms": "",
          "privacy": "",
          "statusPage": "",
          "changelog": "https://github.com/x402-foundation/x402/blob/main/typescript/packages/core/CHANGELOG.md",
          "securityTxt": "none",
          "checked": "2026-09-26",
          "score": 57
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/x402.json",
        "live": {
          "slug": "x402",
          "versions": [
            {
              "registry": "npm",
              "name": "@x402/core",
              "version": "2.28.0",
              "seenAt": "2026-10-04T16:44:18.101478139Z"
            },
            {
              "registry": "npm",
              "name": "@x402/fetch",
              "version": "2.28.0",
              "seenAt": "2026-10-04T16:44:18.955956326Z"
            },
            {
              "registry": "pypi",
              "name": "x402",
              "version": "2.25.0",
              "released": "2026-09-29",
              "seenAt": "2026-10-04T16:44:20.597190614Z"
            }
          ],
          "githubStars": 6676,
          "npmWeekly": 444623,
          "pypiWeekly": 58360,
          "securityTxt": {
            "url": "https://x402.org/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:45.958029226Z"
          },
          "llmsTxt": {
            "url": "https://docs.x402.org/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:22.474993098Z"
          },
          "domain": {
            "domain": "x402.org",
            "registered": "2025-02-20",
            "source": "https://rdap.publicinterestregistry.org/rdap/domain/x402.org",
            "checkedAt": "2026-10-04T13:06:17.301998006Z"
          },
          "pages": [
            {
              "url": "https://raw.githubusercontent.com/x402-foundation/x402/main/typescript/packages/core/CHANGELOG.md",
              "kind": "changelog",
              "status": 304,
              "checkedAt": "2026-10-04T15:48:03.220900718Z",
              "changedAt": "2026-09-30T13:10:50.25107695Z",
              "fingerprint": "c6db0dd5efbf"
            },
            {
              "url": "https://docs.x402.org/guides/migration-v1-to-v2.md",
              "kind": "deprecations",
              "status": 200,
              "checkedAt": "2026-10-04T15:44:17.260567247Z",
              "changedAt": "2026-10-02T15:20:40.840729903Z",
              "fingerprint": "c1eede7ddb9c"
            }
          ],
          "updatedAt": "2026-10-04T16:44:20.783852364Z"
        }
      },
      {
        "slug": "l402",
        "name": "L402",
        "vendor": "Lightning Labs",
        "vendorUrl": "https://l402.tech",
        "kind": "protocol",
        "category": "pay-per-call",
        "summary": "HTTP 402 with macaroons and Lightning invoices, formerly LSAT.",
        "url": "https://www.anchorterminal.com/tools/l402",
        "markdownUrl": "https://www.anchorterminal.com/tools/l402.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/l402.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/l402.json",
        "repo": "https://github.com/lightninglabs/L402",
        "license": "MIT (per l402.tech)",
        "transports": [],
        "packages": [
          {
            "registry": "go",
            "name": "github.com/lightninglabs/aperture"
          },
          {
            "registry": "go",
            "name": "github.com/lightninglabs/lnget"
          },
          {
            "registry": "npm",
            "name": "@getalby/lightning-tools"
          }
        ],
        "auth": "none",
        "authNotes": "No account. A funded Lightning node or wallet pays the invoice, and the preimage proves payment.",
        "pricing": "free",
        "pricingNotes": "No protocol fee. The payer pays Lightning routing fees.",
        "priceSummary": "Free",
        "where": "spec",
        "x402": {
          "level": "no",
          "evidence": "A payment protocol, not a tool that accepts payment.",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 89,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-26"
        },
        "docsUrl": "https://docs.lightning.engineering/the-lightning-network/l402",
        "capabilities": [
          "payments.protocol",
          "payments.lightning"
        ],
        "tags": [
          "protocol",
          "bitcoin",
          "lightning",
          "account-free"
        ],
        "lastRelease": "2026-03-25",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 60.5,
          "grade": "C",
          "agentReady": false,
          "rank": 0,
          "ranked": false,
          "notRankedWhy": "A protocol, graded on the same scale but not ranked against tools",
          "rankOf": 452,
          "categoryRank": 3,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 61,
            "maintenance": 27,
            "payments": 97,
            "reliability": 55,
            "schema": 65,
            "security": 58,
            "transparency": 50
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Stateless verification, the macaroon commits to the invoice's payment hash. Bearer credentials, so an intercepted token can be reused unless bound by caveats.",
          "strengths": [
            "Stateless verification, the macaroon commits to the invoice's payment hash",
            "Caveats let a client narrow a token's expiry and scope before handing it on",
            "A short RFC-style spec plus an agent spec of about 560 tokens",
            "Aperture serves L402 and MPP from one proxy",
            "No account and no protocol fee"
          ],
          "weaknesses": [
            "Bearer credentials, so an intercepted token can be reused unless bound by caveats",
            "No tagged release since 25 March 2026, and l402sdk has never been released",
            "No `LICENSE` file in the spec repository",
            "No error codes beyond 402 and 401",
            "Named production users are Lightning Labs' own Loop and Pool"
          ],
          "agentNotes": [
            "Run lnget with `--max-cost` and `--max-fee` set",
            "Check the invoice amount before paying, the server can ask for anything",
            "Accept both `LSAT` and `L402` in challenges, servers still send both",
            "Reuse a paid token for later calls until its caveats expire rather than paying again",
            "Keep macaroons and preimages out of logs, they're bearer credentials"
          ],
          "metrics": {
            "kind": "spec",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "C",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 60.5
            }
          ],
          "editorialScores": {
            "ergonomics": 61,
            "maintenance": 27,
            "payments": 97,
            "reliability": 55,
            "schema": 65,
            "security": 58,
            "transparency": 44
          },
          "provenanceScore": 55
        },
        "connect": {
          "install": "go install github.com/lightninglabs/lnget@latest"
        },
        "letme": {
          "capability": "https://letme.dev/payments.protocol",
          "tool": "https://letme.dev/l402"
        },
        "area": "payments",
        "provenance": {
          "legalEntity": "Lightning Labs, Inc.",
          "domain": "lightning.engineering",
          "domainRegistered": "2016-11-22",
          "domainNote": "We couldn't read the registry record for l402.tech, so this uses Lightning Labs' own domain.",
          "endpointOnVendorDomain": null,
          "terms": "",
          "privacy": "",
          "statusPage": "",
          "changelog": "",
          "securityTxt": "none",
          "checked": "2026-09-26",
          "score": 55
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/l402.json",
        "live": {
          "slug": "l402",
          "versions": [
            {
              "registry": "npm",
              "name": "@getalby/lightning-tools",
              "version": "9.0.1",
              "seenAt": "2026-10-04T16:31:03.778496818Z"
            }
          ],
          "githubStars": 91,
          "npmWeekly": 34567,
          "securityTxt": {
            "url": "https://lightning.engineering/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:53.393565232Z"
          },
          "domain": {
            "domain": "lightning.engineering",
            "registered": "2016-11-22",
            "source": "https://rdap.identitydigital.services/rdap/domain/lightning.engineering",
            "checkedAt": "2026-10-04T13:06:44.931012068Z"
          },
          "updatedAt": "2026-10-04T16:31:04.633930376Z"
        }
      }
    ]
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/categories/pay-per-call",
    "json": "https://www.anchorterminal.com/categories/pay-per-call.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/categories/pay-per-call.md",
    "slim": "https://www.anchorterminal.com/categories/pay-per-call.min.md"
  },
  "markdown": "Protocols where an API answers with a payment request, the agent pays and retries the call. x402, MPP and L402 compared on who governs them, what rails and assets they settle on, what a payment costs, how long settlement takes and what security researchers have found.\n\n- Tools ranked: 3 · agent-ready (BB or better): 2 · accept x402: 0 · hosted endpoints: 0 · desk reviews by the panel: 6\n- JSON: https://www.anchorterminal.com/api/v1/tools.json (list) · https://www.anchorterminal.com/api/v1/rankings.json (ranked) · https://www.anchorterminal.com/api/v1/x402.json (payable) · https://www.anchorterminal.com/api/v1/capabilities.json (by capability)\n- Grades run AA, A, BB, B, C, D, E, F · methodology: https://www.anchorterminal.com/benchmark/\n\n- Capabilities in this category: payments.protocol, payments.x402, payments.stablecoin, payments.lightning\n- https://letme.dev/payments.protocol picks the top-graded tool in this list and says how to call it direct; calling through letme comes later (https://www.anchorterminal.com/letme/index.md)\n\n## Ranking\n\n| # | Tool | Vendor | Kind | Category | Grade | Score | Confidence | x402 | Auth | Where | Reviews | Page |\n| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |\n| not ranked, protocol | Machine Payments Protocol (MPP) | Tempo and Stripe | Payment protocol | Pay per call | A | 81.1 | medium | no | None | spec | 4/5 (2) | https://www.anchorterminal.com/tools/mpp.md |\n| not ranked, protocol | x402 | x402 Foundation (Linux Foundation) | Payment protocol | Pay per call | A | 79.7 | high | no | None | spec | 4.5/5 (2) | https://www.anchorterminal.com/tools/x402.md |\n| not ranked, protocol | L402 | Lightning Labs | Payment protocol | Pay per call | C | 60.5 | medium | no | None | spec | 3/5 (2) | https://www.anchorterminal.com/tools/l402.md |\n\nScores are from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/), with Performance and Task success pending. p95 latency and context cost come from our probes, which haven't run yet.\n\n## Summaries\n\n### Machine Payments Protocol (MPP), A (81.1), graded, not ranked against tools\n\nA method-agnostic 'Payment' HTTP authentication scheme from Tempo and Stripe, launched on 2026-03-18. A 1,464-line Internet-Draft with 11 error codes, Retry-After and HMAC-SHA256 test vectors. Individual Internet-Draft, not adopted by any IETF working group.\n\n- Page: https://www.anchorterminal.com/tools/mpp · Markdown: https://www.anchorterminal.com/tools/mpp.md · JSON: https://www.anchorterminal.com/api/v1/tools/mpp.json\n- Capabilities: payments.protocol, payments.stablecoin, payments.card-token\n\n### x402, A (79.7), graded, not ranked against tools\n\nProtocol for per-request stablecoin payments using HTTP 402. No account and no protocol fee, a funded wallet is enough. Five validated attacks on authorisation, binding, replay and web handling (arxiv 2605.11781).\n\n- Page: https://www.anchorterminal.com/tools/x402 · Markdown: https://www.anchorterminal.com/tools/x402.md · JSON: https://www.anchorterminal.com/api/v1/tools/x402.json\n- Capabilities: payments.protocol, payments.x402, payments.stablecoin\n\n### L402, C (60.5), graded, not ranked against tools\n\nHTTP 402 with macaroons and Lightning invoices, formerly LSAT. Stateless verification, the macaroon commits to the invoice's payment hash. Bearer credentials, so an intercepted token can be reused unless bound by caveats.\n\n- Page: https://www.anchorterminal.com/tools/l402 · Markdown: https://www.anchorterminal.com/tools/l402.md · JSON: https://www.anchorterminal.com/api/v1/tools/l402.json\n- Capabilities: payments.protocol, payments.lightning\n\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Pay-per-call protocols",
        "url": ""
      }
    ],
    "description": "3 pay-per-call protocols ranked by the Anchor benchmark. Leader Machine Payments Protocol (MPP) (A). Protocols where an API answers with a payment request, the agent pays and retries the call. x402, MPP and L402 compared on who governs them, what rails and assets they settle on, what a payment costs, how long settlement takes and what security researchers have found.",
    "facts": [
      "Machine Payments Protocol (MPP) A",
      "x402 A",
      "L402 C"
    ],
    "h1": "Pay-per-call payment protocols for AI agents",
    "image": "https://www.anchorterminal.com/assets/og/categories-pay-per-call.png",
    "path": "/categories/pay-per-call",
    "published": "",
    "section": "tools",
    "title": "Pay-per-call payment protocols for AI agents, ranked | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/categories/pay-per-call"
  },
  "tokens": {
    "markdown": 1100,
    "slim": 280
  },
  "version": 1
}
