The problem
A payment between your agent and a counterparty is in dispute. Maybe your agent paid for something it did not receive, maybe a caller is unhappy with what a paid call returned, or maybe you simply need to reverse a payment that should not have happened. Your instinct, from the world of cards, is to file a chargeback or open a dispute and have the payment reversed. You go looking for that mechanism and do not find it, which leaves you unsure how to handle the disagreement.
This is the agent-payment-dispute problem, and solving it starts with an honest understanding of how settlement works, because it is genuinely different from cards. There is no chargeback button, and a settled payment does not reverse on its own. The symptom is wanting to dispute or reverse an agent payment and finding no on-rail way to do it; the fix is to handle disputes the way final-settlement systems require, through prevention, direct resolution, and refunds, rather than expecting a reversal.
The honest reality
The honest reality is that agent payments settle in USDC on x402 with final settlement, and there is no built-in chargeback or dispute mechanism. Unlike card networks, which let a buyer reverse a payment through a dispute process, an on-chain stablecoin payment, once settled, is final: the funds have moved, and nothing in the protocol claws them back. This is not a missing feature so much as a property of the rail, and it is important to face it directly rather than assume a card-like dispute path exists.
So the question is not how to file a dispute, because you cannot in the card sense, but how to handle a disagreement given that settlement is final. That reframes everything: you cannot rely on a third party to reverse a payment, so you prevent disputes where you can, resolve them directly when they arise, and use a refund, a new payment, when a resolution calls for returning funds. Accepting the finality is the first step, because it determines the entire approach to disputes.
Why settlement is final
It is worth understanding why settlement is final, because it is a deliberate design that benefits agent payments even as it removes chargebacks. Finality means the receiver knows a settled payment is truly theirs, with no risk of a later reversal, which removes settlement risk and is valuable when serving machine callers you do not know. And for the typical agent payment, a sub-cent or few-cent per-call charge, there is no human to file a dispute and little at stake, so the chargeback apparatus would be overkill.
For machine-to-machine payments, then, finality is usually a feature, not a gap: it makes the rail fast, certain, and suited to high-frequency micropayments, which card rails with reversible payments are not. The trade is that the consumer-protection mechanism of chargebacks does not come along, so you handle the rare dispute yourself. This is the same finality discussed in the card comparison, see usdc-vs-credit-card-for-agents and x402-vs-traditional-payment, and for agent payments it is the right trade, with disputes handled off-rail as the cost.
The fix
Given finality, the fix for disputes has three parts. First, prevent disputes where you can, with clear terms, verifiable identity, and small per-call amounts, so most disagreements never arise. Second, resolve the ones that do directly with the counterparty, using your records to establish what happened and reach an outcome, since there is no third party to arbitrate. Third, if a resolution warrants returning funds, issue a refund as a separate payment, a new transaction sending money back, not a reversal of the original.
This is the complete dispute approach for final-settlement agent payments: prevent, resolve, refund. None of it relies on a chargeback, because none exists; instead it uses the levers you do have, terms and identity to prevent, your records and direct contact to resolve, and a fresh payment to refund. The fix to the dispute problem is therefore to build this approach into how you operate agent payments, rather than to look for a reversal mechanism that the rail does not provide. The refund mechanics specifically are covered next and in the refund material.
Prevention is the main lever
Because resolution is manual and reversal is impossible, prevention is the most valuable lever for disputes, and fortunately agent payments make prevention easier than it sounds. Clear terms are the foundation: state plainly what a payment buys, what a paid call returns, what is and is not guaranteed, so both parties share expectations and there is less to disagree about. Verifiable identity helps too, since knowing who you deal with reduces bad-faith disputes and gives recourse if one arises.
The structure of agent payments also limits dispute risk inherently. Most are tiny, per-call amounts, so the stakes of any single payment are low, a disputed sub-cent call is rarely worth contesting, which means the dispute surface is small to begin with. Keep payments small and per-call where you can, agree terms up front, and use identity, and you remove most of the conditions disputes grow from. So while you cannot chargeback, you can make disputes rare, which is the better outcome anyway and the main thing to invest in.
When a refund resolves it
Sometimes a dispute resolves in favor of returning funds, the agent paid for something undelivered, or you decide a refund is the fair outcome, and the mechanism is a refund as a separate payment. Because the original settlement is final, you do not reverse it; you send a new payment back to the counterparty for the appropriate amount, which is the on-chain way to make someone whole. That refund is its own transaction, recorded like any payment.
So a refund is a resolution tool within the dispute approach, not a dispute mechanism itself: you reach a resolution off-chain, and if it calls for returning money, the refund executes it. Deciding when a refund is warranted is a policy choice you make, perhaps a stated refund policy in your terms, and issuing it is a straightforward outbound payment. The details of refunds, including treating them as separate payments and recording them, are covered in the refund material, which is the natural companion to handling disputes.
Keep records that resolve disputes
Because dispute resolution is manual, the quality of your records largely determines how cleanly a dispute is settled. Keep a durable log of payments from the verified webhook events, the amount, the counterparty, the time, and what each payment was for, alongside your own application context, what the agent requested and what the service returned. When a disagreement arises, that record is what lets you reconstruct exactly what happened and reach a fair resolution quickly rather than arguing from memory.
Good records also deter bad-faith disputes, since a clear, timestamped trail leaves little room to misrepresent a transaction. So part of being ready for disputes, even though they are rare, is recording payments and their context as you go, on both the on-chain side and your application side. With solid records and clear terms, the occasional dispute becomes a quick factual resolution rather than a drawn-out disagreement, which is the best you can do on a rail where reversal is not an option.
Related reading
Handling agent payment disputes rests on understanding finality, so see usdc-vs-credit-card-for-agents and x402-vs-traditional-payment for why agent payments are final and what that trades against card chargebacks. Together they ground the prevent-resolve-refund approach this page describes. Pricing is on the pricing page.