Construct an ACK-Pay payment request object containing the payee DID, amount, currency, and a nonce; sign it with the agent's DID key material established via ACK-ID
Submit the signed payment request to the merchant's ACK-Pay endpoint; the merchant validates the signature against the agent's published DID document before processing
The merchant's payment backend executes settlement over the chosen rail (card, stablecoin, or ACH) and returns a signed Payment Receipt Verifiable Credential issued by the merchant DID
Store the receipt VC in the agent's credential wallet; the receipt encodes transaction ID, amount, timestamp, and both party DIDs in a tamper-evident format
At audit or dispute time, present the receipt VC to any party that can resolve the merchant's DID; the cryptographic signature proves the merchant acknowledged the payment without requiring a centralized ledger
Known gotchas
ACK-Pay is a pattern layer, not a payment rail; it depends on an underlying settlement mechanism (Stripe, Circle, on-chain) — ensure the settlement rail is configured and tested independently before wrapping it with ACK-Pay signing
Receipt VCs are only as trustworthy as the merchant's DID key custody; if a merchant DID is compromised, fraudulent receipts could be issued — verify the merchant's DID against a trust registry if one is available for your vertical
The nonce in the payment request is critical for replay prevention; generate a cryptographically random nonce per request and verify the merchant echoes it in the receipt
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp