{
  "slug": "can-x402-payments-be-refunded",
  "title": "Can x402 payments be refunded?",
  "description": "An x402 payment is a USDC transfer that is final once it settles, so a refund is a voluntary new transfer and the real protection is a seller that settles after the result exists.",
  "lead": "Not automatically. An x402 payment is a USDC transfer on Base, and once it settles it is final, like cash. The protocol has no chargeback.",
  "reviewed": "2026-10-29",
  "next_step": "The pages below go deeper on this question.",
  "primary_label": "Read how Ontario's paid routes settle",
  "primary_path": "/docs/x402-api-finder?utm_content=refunds_guide",
  "secondary_label": "See Ontario's prices",
  "secondary_path": "/pricing?utm_content=refunds_guide",
  "sections": [
    {
      "heading": "What settlement means",
      "paragraphs": [
        "In the x402 flow the server quotes a price, the client signs a payment, the server asks a facilitator to verify it, performs the work, and then asks the facilitator to settle. Settlement is an on-chain token transfer. Once it is included in a block, neither the buyer, the seller nor the facilitator can reverse it.",
        "A seller can send USDC back, but that is a new transfer the seller chooses to make. The protocol itself has no refund message, dispute window or chargeback."
      ]
    },
    {
      "heading": "What this means for sellers",
      "paragraphs": [
        "Because the transfer is final, the place to prevent a bad charge is before settlement. A well-built x402 API checks the input before it asks for payment, verifies the payment before it does the work, and settles after the result exists. If the work fails, it returns an error without settling.",
        "Coinbase's description of the flow separates the verify step from the settle step for this reason: verification confirms that the payment is valid, and settlement is the seller's decision to collect it."
      ]
    },
    {
      "heading": "What this means for buyers",
      "paragraphs": [
        "A seller that states a 'no result, no charge' rule is saying that it settles after delivery. The transaction hash returned with each paid response, in the PAYMENT-RESPONSE header over HTTP or in _meta['x402/payment-response'] over MCP, is the record of what was paid, to whom and for which request. That hash is the only later evidence of the payment."
      ]
    },
    {
      "heading": "How Ontario's paid routes handle this",
      "paragraphs": [
        "Ontario's x402 API finder (0.005 USDC) and its three Base reads (0.002 USDC for balances and transaction checks, 0.0015 USDC for gas) verify the payment, run the work, and settle after a result exists. No live match, a failed read or an unknown transaction returns 404 or 503 with payment_settled: false, and no payment is taken. The method, limits and failure codes are documented on the finder page."
      ]
    }
  ],
  "sources": [
    {
      "label": "Coinbase: how x402 works (verify, work, settle)",
      "url": "https://docs.cdp.coinbase.com/x402/how-it-works"
    },
    {
      "label": "x402 docs: the facilitator's role",
      "url": "https://docs.x402.org/core-concepts/facilitator"
    },
    {
      "label": "Ontario: finder and Base reads, settlement rules",
      "url": "https://ontarioprotocol.com/docs/x402-api-finder"
    }
  ]
}
