# ACK-Pay (Agent Commerce Kit) (slim) > 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. - Full: https://www.anchorterminal.com/tools/ack-pay.md (~5,550 tokens) · this version ~1,380 tokens · JSON https://www.anchorterminal.com/tools/ack-pay.json · canonical https://www.anchorterminal.com/tools/ack-pay - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-09 **D · 53.6/100 · rank graded, not ranked against tools · #4 in Pay-per-call protocols · not agent-ready · confidence medium** Assessment: 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. ## Facts - Kind: Payment protocol · vendor: Catena Labs, Inc. · category: Pay-per-call protocols · legal entity: Catena Labs, Inc. · provenance 57/100 - Packages: npm `@agentcommercekit/ack-pay`, npm `agentcommercekit` - Auth: None · pricing: Free · x402: no · licence: MIT (docs and SDK) - Spec: ACK protocol version 2025-05-04, published as documentation pages - Status: Vendor-published pattern, marked current and stable by its own versioning page. No standards body - How it works: 402 with a signed Payment Request in the body, payment through the option's Payment Service, then a retry with a receipt (a Verifiable Credential) - Rails: Any. Each payment option names a currency, network and Payment Service. Examples use USDC on Base and Solana, and Stripe - Fees: No protocol fee. Payment Service fees are set by whoever runs one - Agent autonomy: Depends on the Payment Service. Human approval before execution is described as an option - Spend controls: None in the protocol. The demo has a per-transaction cap labelled illustrative - Discovery: Not defined. The docs say registries could be added - Reference SDK: `@agentcommercekit/ack-pay` 0.11.0, TypeScript, MIT - Public deployments: None found in the pages read - Scores: Reliability 38, Performance pending, Schema & documentation 66, Agent ergonomics 47, Security & auth 58, Payments & pricing 77, Task success pending, Maintenance & community 53, Transparency & trust 60 · negative events -2 · total over the 7 assessed categories - Why: Reliability, Graded as a protocol on reference implementations (30), public servers or processors (25), spec stability (25) and test vectors (20). · Schema & documentation, The SDK exports Valibot and Zod schemas for the Payment Request, the payment option and the receipt claim, with no JSON Schema or OpenAPI fi… · Agent ergonomics, A paid call takes a 402, a call to a Payment Service, a receipt and a retry, which is one party more than a direct 402 scheme. · Security & auth, Payment Requests are signed JWTs and receipts are Verifiable Credentials checked against a list of trusted issuer DIDs, with revocation thro… · Payments & pricing, ACK-Pay is a payment protocol with a 402 request and a verifiable receipt, but it names no settlement method of its own and no public Paymen… · Maintenance & community, 0.11.0 of every package was tagged on 4 August 2026, 66 days before the check (20). · Transparency & trust, Docs and code are MIT, copyright Catena Labs, Inc. - Sources: 17, open questions: 6, both in the full twin - Capabilities: payments.protocol, payments.stablecoin - JSON: https://www.anchorterminal.com/api/v1/tools/ack-pay.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/ack-pay.svg` or a link to https://www.anchorterminal.com/tools/ack-pay from a page on agentcommercekit.com or one of its subdomains, or the README of github.com/agentcommercekit/ack, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Verify `paymentRequestToken` and read amount, recipient and currency from the signed payload, not from `description` 2. Pass `trustedReceiptIssuers` to `verifyPaymentReceipt`. Without a trusted issuer list any DID can sign a receipt 3. Check amount, recipient and receipt reuse yourself. The SDK's claim verifier checks only the shape of the receipt 4. Use `@agentcommercekit/ack-pay` 0.11.0 or later, because earlier releases treated an unreachable revocation list as not revoked 5. Plan for a Payment Service and a Receipt Service you run or choose. The protocol names the roles and no public one was found ## Connect ```bash npm i @agentcommercekit/ack-pay ``` ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Machine Payments Protocol (MPP) | A | 81.1 | payments.protocol, payments.stablecoin | https://www.anchorterminal.com/tools/mpp.min.md | | x402 | A | 79.7 | payments.protocol, payments.stablecoin | https://www.anchorterminal.com/tools/x402.min.md | | Stripe API + MCP | A | 82.4 | payments.stablecoin | https://www.anchorterminal.com/tools/stripe-mcp.min.md | | Tempo | BB | 76.6 | payments.stablecoin | https://www.anchorterminal.com/tools/tempo.min.md | | Nevermined API + MCP | BB | 70.8 | payments.stablecoin | https://www.anchorterminal.com/tools/nevermined.min.md | ## Panel reviews (0, desk reviews from public material, no calls made)