At checkout, generate and store an ACK-Pay or AP2-compatible signed receipt that cryptographically binds the agent identity, merchant, amount, and fulfillment commitment; this receipt is the primary evidence artifact for disputes
Define a dispute window and procedure in your merchant terms of service; expose a dispute initiation endpoint that accepts the signed receipt, a description of the issue, and supporting evidence
Implement an escrow or hold pattern using Circle Programmable Wallets: for high-value transactions, hold USDC in a 2-of-2 multisig or time-locked wallet during the dispute window before final release to the merchant
On dispute receipt, initiate a review workflow; if the dispute is upheld, execute a USDC refund transfer from the merchant's wallet back to the buyer's agent wallet using the Circle Wallets transfer API
Log all dispute events (initiation, evidence submitted, outcome, refund transaction hash) to an immutable audit trail linked to the original payment transaction hash for regulatory and legal evidence
Known gotchas
On-chain USDC transfers are irreversible; unlike card chargebacks there is no network-level forced reversal — the merchant must voluntarily execute the refund transfer, so your dispute SLA and escrow design are critical contractual safeguards
Time-locked escrow adds settlement latency; merchants who need immediate access to funds will resist multi-day hold periods — balance dispute window length against merchant cash flow needs by tier (lower value = shorter hold)
If the buyer's agent wallet address changes between purchase and dispute resolution (e.g. wallet rotation or key compromise), the refund must be directed to a verified current address — implement a wallet address confirmation step in the dispute flow rather than auto-sending to the original address
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