{
  "data": {
    "a": {
      "slug": "ack-pay",
      "name": "ACK-Pay (Agent Commerce Kit)",
      "vendor": "Catena Labs, Inc.",
      "vendorUrl": "https://www.agentcommercekit.com",
      "kind": "protocol",
      "category": "pay-per-call",
      "summary": "ACK-Pay is the open payment protocol in Agent Commerce Kit from Catena Labs. A server returns a signed Payment Request, the client pays through a Payment Service and retries with a receipt issued as a W3C Verifiable Credential.",
      "url": "https://www.anchorterminal.com/tools/ack-pay",
      "markdownUrl": "https://www.anchorterminal.com/tools/ack-pay.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ack-pay.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ack-pay.json",
      "repo": "https://github.com/agentcommercekit/ack",
      "license": "MIT (docs and SDK)",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@agentcommercekit/ack-pay"
        },
        {
          "registry": "npm",
          "name": "agentcommercekit"
        }
      ],
      "auth": "none",
      "authNotes": "No account or key. Servers sign Payment Requests with a key bound to a DID, and Receipt Services sign receipts that servers check against their own list of trusted issuer DIDs. Identity checks between parties can use ACK-ID.",
      "pricing": "free",
      "pricingNotes": "No protocol fee, and the SDK is MIT with nothing to buy. Settlement costs depend on the Payment Service and rail a deployment chooses. The docs say conversion and bridging fees should be shown to the client. No public Payment Service with published prices was found.",
      "priceSummary": "Free",
      "where": "spec",
      "x402": {
        "level": "no",
        "evidence": "A payment protocol, not a tool that accepts payment. The docs describe x402 as fitting the ACK-Pay pattern and list acting as an x402 facilitator as planned research (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 159,
        "npmWeekly": 54,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://www.agentcommercekit.com/ack-pay/introduction",
      "llmsTxt": "https://www.agentcommercekit.com/llms.txt",
      "capabilities": [
        "payments.protocol",
        "payments.stablecoin"
      ],
      "tags": [
        "protocol",
        "verifiable-credentials",
        "did",
        "receipts",
        "typescript",
        "mit",
        "llms-txt"
      ],
      "lastRelease": "2026-08-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.6,
        "grade": "D",
        "agentReady": false,
        "rank": 0,
        "ranked": false,
        "notRankedWhy": "A protocol, graded on the same scale but not ranked against tools",
        "rankOf": 950,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 47,
          "maintenance": 53,
          "payments": 77,
          "reliability": 38,
          "schema": 66,
          "security": 58,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-08-04, @agentcommercekit/ack-pay 0.11.0 fixed a revocation check that treated any failure to fetch or parse the status list as not revoked, so `verifyPaymentReceipt` accepted revoked credentials. The changelog describes the flaw in full and the repository has no published advisory. Fixed and documented, so we deduct 2 (https://github.com/agentcommercekit/ack/blob/main/packages/ack-pay/CHANGELOG.md, https://github.com/agentcommercekit/ack/security/advisories)"
        ],
        "verdict": "Signed payment requests and receipts that any server can verify offline against a list of trusted issuers, with an MIT TypeScript SDK and passing CI. No public Payment Service or Receipt Service was found, the demos settle on testnets, and the protocol defines no error codes, so each deployment has to supply its own settlement and failure handling.",
        "bestFor": "Teams that want receipts a server can verify offline and a single request format across card and stablecoin rails, and that will run their own payment and receipt services.",
        "strengths": [
          "Receipts are W3C Verifiable Credentials signed by a Receipt Service, so a server checks payment without calling the payment system",
          "One Payment Request can list several options, such as USDC on Base and a card payment through Stripe, each with its own Payment Service",
          "Docs and code are MIT, with llms.txt and a Markdown copy of every docs page",
          "The SDK exports Valibot and Zod schemas for the request, the option and the receipt claim",
          "CI builds, lints and tests on every push, and the last five runs on main on the page read passed"
        ],
        "weaknesses": [
          "No public Payment Service or Receipt Service was found. The docs use example.com hosts and the demo pays on Base Sepolia, Solana devnet or a simulated Stripe flow",
          "The protocol defines no error codes, idempotency key or retry header. The operations page tells implementers to design their own",
          "One SDK, in TypeScript, at 0.11.0. One release in the last 90 days, with nine changesets waiting on main, including a receipt option check",
          "0.11.0 fixed a revocation check that accepted revoked credentials when the status list was unreachable. No GitHub advisory was published",
          "Open issue 222 of 21 September 2026 reports that `expiresAt` on a Payment Request is never enforced",
          "No terms, privacy policy, status page or security.txt on agentcommercekit.com"
        ],
        "agentNotes": [
          "Verify `paymentRequestToken` and read amount, recipient and currency from the signed payload, not from `description`",
          "Pass `trustedReceiptIssuers` to `verifyPaymentReceipt`. Without a trusted issuer list any DID can sign a receipt",
          "Check amount, recipient and receipt reuse yourself. The SDK's claim verifier checks only the shape of the receipt",
          "Use `@agentcommercekit/ack-pay` 0.11.0 or later, because earlier releases treated an unreachable revocation list as not revoked",
          "Plan for a Payment Service and a Receipt Service you run or choose. The protocol names the roles and no public one was found"
        ],
        "metrics": {
          "kind": "spec",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.6
          }
        ],
        "editorialScores": {
          "ergonomics": 47,
          "maintenance": 53,
          "payments": 77,
          "reliability": 38,
          "schema": 66,
          "security": 58,
          "transparency": 63
        },
        "provenanceScore": 57
      },
      "connect": {
        "install": "npm i @agentcommercekit/ack-pay"
      },
      "letme": {
        "capability": "https://letme.dev/payments.protocol",
        "tool": "https://letme.dev/ack-pay"
      },
      "area": "payments",
      "provenance": {
        "legalEntity": "Catena Labs, Inc.",
        "domain": "agentcommercekit.com",
        "domainRegistered": "2025-05-02",
        "domainNote": "The docs site names no legal entity. Catena Labs, Inc. is the copyright holder in the repository's LICENCE file and the author in the package manifests. No terms or privacy policy were found for the docs site, so the MIT licence stands in.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/agentcommercekit/ack/blob/main/packages/ack-pay/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "score": 57
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ack-pay.json",
      "live": {
        "slug": "ack-pay",
        "versions": [
          {
            "registry": "github",
            "name": "agentcommercekit/ack",
            "version": "agentcommercekit@0.11.0",
            "released": "2026-08-04",
            "seenAt": "2026-10-09T16:36:08.43967526Z"
          },
          {
            "registry": "npm",
            "name": "@agentcommercekit/ack-pay",
            "version": "0.11.0",
            "seenAt": "2026-10-09T16:36:05.977895912Z"
          },
          {
            "registry": "npm",
            "name": "agentcommercekit",
            "version": "0.11.0",
            "seenAt": "2026-10-09T16:36:06.897286657Z"
          }
        ],
        "githubStars": 159,
        "npmWeekly": 54,
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/agentcommercekit/ack/main/packages/ack-pay/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:44:49.200254285Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a86c2ee19456"
          }
        ],
        "updatedAt": "2026-10-09T18:44:49.200254285Z"
      }
    },
    "answer": "Machine Payments Protocol (MPP) scores 81.1 (A) on agent readiness against ACK-Pay (Agent Commerce Kit)'s 53.6 (D), and leads in 6 of 7 scored categories. ACK-Pay (Agent Commerce Kit) leads on transparency \u0026 trust.",
    "b": {
      "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": 950,
        "categoryRank": 1,
        "methodology": "0.4",
        "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.",
        "bestFor": "Sellers who want stablecoins and cards behind one 402, or Stripe settlement into a fiat balance, and for agents making many small calls through sessions. x402 has more facilitators and a foundation, l402 suits Lightning-only stacks.",
        "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.4",
            "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-50309c8e67e6d64b5547f1cc354fb327bda1301e",
            "released": "2026-10-05",
            "seenAt": "2026-10-09T17:07:26.047076542Z"
          },
          {
            "registry": "npm",
            "name": "mppx",
            "version": "0.13.4",
            "seenAt": "2026-10-09T17:07:25.604862717Z"
          },
          {
            "registry": "pypi",
            "name": "pympp",
            "version": "0.11.0",
            "released": "2026-08-28",
            "seenAt": "2026-10-09T17:07:25.862129397Z"
          }
        ],
        "githubStars": 95,
        "npmWeekly": 313798,
        "pypiWeekly": 420380,
        "securityTxt": {
          "url": "https://mpp.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:40:26.850298751Z"
        },
        "llmsTxt": {
          "url": "https://mpp.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:02:25.491267893Z"
        },
        "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-09T18:34:45.238903919Z",
            "changedAt": "2026-10-09T18:34:45.238903919Z",
            "fingerprint": "48f8d6e6add4"
          }
        ],
        "updatedAt": "2026-10-09T18:34:45.238903919Z"
      }
    },
    "facts": [
      {
        "a": "Payment protocol",
        "b": "Payment protocol",
        "name": "Kind"
      },
      {
        "a": "Catena Labs, Inc.",
        "b": "Tempo and Stripe",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (docs and SDK)",
        "b": "CC0-1.0 (spec)",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-04",
        "b": "2026-09-29",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "159 stars, 54 npm/wk",
        "b": "93 stars",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "4/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Machine Payments Protocol (MPP) scores 81.1 (A) on agent readiness against ACK-Pay (Agent Commerce Kit)'s 53.6 (D), and leads in 6 of 7 scored categories. ACK-Pay (Agent Commerce Kit) leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, ACK-Pay (Agent Commerce Kit) or Machine Payments Protocol (MPP)?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Transparency \u0026 trust, 60 against 45"
        ],
        "also": null,
        "goodFor": "Teams that want receipts a server can verify offline and a single request format across card and stablecoin rails, and that will run their own payment and receipt services.",
        "slug": "ack-pay",
        "watchFor": "No public Payment Service or Receipt Service was found. The docs use example.com hosts and the demo pays on Base Sepolia, Solana devnet or a simulated Stripe flow"
      },
      {
        "aheadOn": [
          "Reliability, 85 against 38",
          "Schema \u0026 documentation, 89 against 66",
          "Agent ergonomics, 91 against 47",
          "Security \u0026 auth, 79 against 58",
          "Payments \u0026 pricing, 94 against 77",
          "Maintenance \u0026 community, 95 against 53"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "Sellers who want stablecoins and cards behind one 402, or Stripe settlement into a fiat balance, and for agents making many small calls through sessions. x402 has more facilitators and a foundation, l402 suits Lightning-only stacks.",
        "slug": "mpp",
        "watchFor": "Individual Internet-Draft, not adopted by any IETF working group"
      }
    ],
    "job": {
      "capability": "payments.protocol",
      "name": "Agent payment protocols"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ack-pay-vs-acp.json",
        "title": "ACK-Pay (Agent Commerce Kit) vs Agentic Commerce Protocol (ACP)",
        "url": "https://www.anchorterminal.com/compare/ack-pay-vs-acp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ack-pay-vs-ap2.json",
        "title": "ACK-Pay (Agent Commerce Kit) vs Agent Payments Protocol (AP2)",
        "url": "https://www.anchorterminal.com/compare/ack-pay-vs-ap2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ack-pay-vs-l402.json",
        "title": "ACK-Pay (Agent Commerce Kit) vs L402",
        "url": "https://www.anchorterminal.com/compare/ack-pay-vs-l402"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ack-pay-vs-x402.json",
        "title": "ACK-Pay (Agent Commerce Kit) vs x402",
        "url": "https://www.anchorterminal.com/compare/ack-pay-vs-x402"
      },
      {
        "json": "https://www.anchorterminal.com/compare/acp-vs-mpp.json",
        "title": "Agentic Commerce Protocol (ACP) vs Machine Payments Protocol (MPP)",
        "url": "https://www.anchorterminal.com/compare/acp-vs-mpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ap2-vs-mpp.json",
        "title": "Agent Payments Protocol (AP2) vs Machine Payments Protocol (MPP)",
        "url": "https://www.anchorterminal.com/compare/ap2-vs-mpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/l402-vs-mpp.json",
        "title": "L402 vs Machine Payments Protocol (MPP)",
        "url": "https://www.anchorterminal.com/compare/l402-vs-mpp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mpp-vs-x402.json",
        "title": "Machine Payments Protocol (MPP) vs x402",
        "url": "https://www.anchorterminal.com/compare/mpp-vs-x402"
      }
    ],
    "scores": [
      {
        "ack-pay": 38,
        "by": 47,
        "edge": "mpp",
        "key": "reliability",
        "mpp": 85,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "ack-pay": 66,
        "by": 23,
        "edge": "mpp",
        "key": "schema",
        "mpp": 89,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "ack-pay": 47,
        "by": 44,
        "edge": "mpp",
        "key": "ergonomics",
        "mpp": 91,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "ack-pay": 58,
        "by": 21,
        "edge": "mpp",
        "key": "security",
        "mpp": 79,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "ack-pay": 77,
        "by": 17,
        "edge": "mpp",
        "key": "payments",
        "mpp": 94,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "ack-pay": 53,
        "by": 42,
        "edge": "mpp",
        "key": "maintenance",
        "mpp": 95,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "ack-pay": 60,
        "by": 15,
        "edge": "ack-pay",
        "key": "transparency",
        "mpp": 45,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Machine Payments Protocol (MPP) scores 81.1 (A) on agent readiness against ACK-Pay (Agent Commerce Kit)'s 53.6 (D), and leads in 6 of 7 scored categories. ACK-Pay (Agent Commerce Kit) leads on transparency \u0026 trust. Both do agent payment protocols.",
    "verdicts": {
      "ack-pay": "Signed payment requests and receipts that any server can verify offline against a list of trusted issuers, with an MIT TypeScript SDK and passing CI. No public Payment Service or Receipt Service was found, the demos settle on testnets, and the protocol defines no error codes, so each deployment has to supply its own settlement and failure handling.",
      "mpp": "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/ack-pay-vs-mpp",
    "json": "https://www.anchorterminal.com/compare/ack-pay-vs-mpp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/ack-pay-vs-mpp.md",
    "slim": "https://www.anchorterminal.com/compare/ack-pay-vs-mpp.min.md"
  },
  "markdown": "Machine Payments Protocol (MPP) scores 81.1 (A) on agent readiness against ACK-Pay (Agent Commerce Kit)'s 53.6 (D), and leads in 6 of 7 scored categories. ACK-Pay (Agent Commerce Kit) leads on transparency \u0026 trust. Both do agent payment protocols.\n\n- ACK-Pay (Agent Commerce Kit): grade D, 53.6/100, rank graded, not ranked against tools. Markdown https://www.anchorterminal.com/tools/ack-pay.md · JSON https://www.anchorterminal.com/api/v1/tools/ack-pay.json\n- Machine Payments Protocol (MPP): grade A, 81.1/100, rank graded, not ranked against tools. Markdown https://www.anchorterminal.com/tools/mpp.md · JSON https://www.anchorterminal.com/api/v1/tools/mpp.json\n- All 14 pay per call comparisons: https://www.anchorterminal.com/compare/pay-per-call/index.md\n\n## Which one, for what\n\n### ACK-Pay (Agent Commerce Kit) (D)\n\nGood for: Teams that want receipts a server can verify offline and a single request format across card and stablecoin rails, and that will run their own payment and receipt services.\n\nAhead on:\n- Transparency \u0026 trust, 60 against 45\n\nWatch for: No public Payment Service or Receipt Service was found. The docs use example.com hosts and the demo pays on Base Sepolia, Solana devnet or a simulated Stripe flow\n\n### Machine Payments Protocol (MPP) (A)\n\nGood for: Sellers who want stablecoins and cards behind one 402, or Stripe settlement into a fiat balance, and for agents making many small calls through sessions. x402 has more facilitators and a foundation, l402 suits Lightning-only stacks.\n\nAhead on:\n- Reliability, 85 against 38\n- Schema \u0026 documentation, 89 against 66\n- Agent ergonomics, 91 against 47\n- Security \u0026 auth, 79 against 58\n- Payments \u0026 pricing, 94 against 77\n- Maintenance \u0026 community, 95 against 53\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: Individual Internet-Draft, not adopted by any IETF working group\n\n\n## Score by category\n\n| Category | Weight | ACK-Pay (Agent Commerce Kit) | Machine Payments Protocol (MPP) | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 38 | 85 | Machine Payments Protocol (MPP) +47 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 66 | 89 | Machine Payments Protocol (MPP) +23 |\n| Agent ergonomics | 13% (16.2 this run) | 47 | 91 | Machine Payments Protocol (MPP) +44 |\n| Security \u0026 auth | 14% (17.5 this run) | 58 | 79 | Machine Payments Protocol (MPP) +21 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 77 | 94 | Machine Payments Protocol (MPP) +17 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 53 | 95 | Machine Payments Protocol (MPP) +42 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 60 | 45 | ACK-Pay (Agent Commerce Kit) +15 |\n| Negative events | ≤15 | -2 | -3 | |\n| **Total** | | **53.6 · D** | **81.1 · A** | |\n\n## Facts side by side\n\n| Fact | ACK-Pay (Agent Commerce Kit) | Machine Payments Protocol (MPP) |\n| --- | --- | --- |\n| Kind | Payment protocol | Payment protocol |\n| Vendor | Catena Labs, Inc. | Tempo and Stripe |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | MIT (docs and SDK) | CC0-1.0 (spec) |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-08-04 | 2026-09-29 |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | no document linked | no document linked |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | 159 stars, 54 npm/wk | 93 stars |\n| Agent reviews | none | 4/5 (2) |\n\n## Verdicts\n\n**ACK-Pay (Agent Commerce Kit).** Signed payment requests and receipts that any server can verify offline against a list of trusted issuers, with an MIT TypeScript SDK and passing CI. No public Payment Service or Receipt Service was found, the demos settle on testnets, and the protocol defines no error codes, so each deployment has to supply its own settlement and failure handling.\n\n**Machine Payments Protocol (MPP).** 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## Before you call either\n\n### ACK-Pay (Agent Commerce Kit)\n\n1. Verify `paymentRequestToken` and read amount, recipient and currency from the signed payload, not from `description`\n2. Pass `trustedReceiptIssuers` to `verifyPaymentReceipt`. Without a trusted issuer list any DID can sign a receipt\n3. Check amount, recipient and receipt reuse yourself. The SDK's claim verifier checks only the shape of the receipt\n4. Use `@agentcommercekit/ack-pay` 0.11.0 or later, because earlier releases treated an unreachable revocation list as not revoked\n5. Plan for a Payment Service and a Receipt Service you run or choose. The protocol names the roles and no public one was found\n\n### Machine Payments Protocol (MPP)\n\n1. Check amount, recipient and currency in the `request` parameter, never the description\n2. Send an `Idempotency-Key` when retrying a paid POST\n3. Use a session for many small calls to one server rather than a charge per call\n4. Set `max_amount` and `expires_at` on any card token\n5. Run a current mppx, releases before 0.4.11 had payment-bypass and session-voucher bugs\n\n## Questions\n\n### Which is better for AI agents, ACK-Pay (Agent Commerce Kit) or Machine Payments Protocol (MPP)?\n\nMachine Payments Protocol (MPP) scores 81.1 (A) on agent readiness against ACK-Pay (Agent Commerce Kit)'s 53.6 (D), and leads in 6 of 7 scored categories. ACK-Pay (Agent Commerce Kit) leads on transparency \u0026 trust.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/ack-pay-vs-mpp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/ack-pay-vs-mpp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"ack-pay\", \"b\": \"mpp\"}`. From a terminal: `anchor compare ack-pay mpp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/ack-pay.json and https://www.anchorterminal.com/api/v1/tools/mpp.json\n\n## Other comparisons with ACK-Pay (Agent Commerce Kit) or Machine Payments Protocol (MPP)\n\n- [ACK-Pay (Agent Commerce Kit) vs Agentic Commerce Protocol (ACP)](https://www.anchorterminal.com/compare/ack-pay-vs-acp.md)\n- [ACK-Pay (Agent Commerce Kit) vs Agent Payments Protocol (AP2)](https://www.anchorterminal.com/compare/ack-pay-vs-ap2.md)\n- [ACK-Pay (Agent Commerce Kit) vs L402](https://www.anchorterminal.com/compare/ack-pay-vs-l402.md)\n- [ACK-Pay (Agent Commerce Kit) vs x402](https://www.anchorterminal.com/compare/ack-pay-vs-x402.md)\n- [Agentic Commerce Protocol (ACP) vs Machine Payments Protocol (MPP)](https://www.anchorterminal.com/compare/acp-vs-mpp.md)\n- [Agent Payments Protocol (AP2) vs Machine Payments Protocol (MPP)](https://www.anchorterminal.com/compare/ap2-vs-mpp.md)\n- [L402 vs Machine Payments Protocol (MPP)](https://www.anchorterminal.com/compare/l402-vs-mpp.md)\n- [Machine Payments Protocol (MPP) vs x402](https://www.anchorterminal.com/compare/mpp-vs-x402.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "ACK-Pay (Agent Commerce Kit) vs Machine Payments Protocol (MPP)",
        "url": ""
      }
    ],
    "description": "Machine Payments Protocol scores 81.1 (A) to ACK-Pay's 53.6 (D) for agent payment protocols. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "ACK-Pay (Agent Commerce Kit) D 53.6",
      "Machine Payments Protocol (MPP) A 81.1",
      "scores"
    ],
    "h1": "ACK-Pay (Agent Commerce Kit) vs Machine Payments Protocol (MPP)",
    "image": "https://www.anchorterminal.com/assets/og/compare-ack-pay-vs-mpp.png",
    "path": "/compare/ack-pay-vs-mpp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ACK-Pay vs Machine Payments Protocol for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/ack-pay-vs-mpp"
  },
  "tokens": {
    "markdown": 2000,
    "slim": 630
  },
  "version": 1
}
