Skip to content
Undo
Live on Base mainnet

The undo button for agent payments.

Your agent pays with one passkey. The USDC waits in Base’s audited escrow. If something goes wrong, you say “refund that” and it comes back.

Example conversation: an agent buys the wrong forecast, and the buyer gets a refund by saying so.
Chat with your agentx402 · Base
  1. You said:

    Get me the 7-day forecast for Lisbon from the weather API.

  2. Agent replied:

    Done. I paid 0.05 USDC with your passkey, protected by Undo.

    In escrow, refundable for 1 hour
  3. You said:

    That is Lisbon, Ohio. Refund that.

  4. Agent replied:

    Refunded. 0.05 USDC is back in your wallet.

    Returned to your wallet, no passkey

1 · The problem

55% of shoppers will not let an agent finish a purchase.

When an agent gets it wrong, there is no way back. Cards have chargebacks. Stablecoin payments are final.

Source: Riskified consumer survey, Q1 2026, US and UK, via Forkast.

Without Undo

The USDC is gone the moment the agent pays.

A wrong item, an empty response or a double charge is yours to keep. Your only option is to ask the merchant nicely.

With Undo

The USDC waits until you are sure.

It sits in escrow for the dispute window. Say “refund that” and it comes back to your wallet. Say nothing and the merchant is paid.

2 · How it works

Three steps, one passkey.

Protection asks nothing extra of the buyer. The purchase feels exactly like an unprotected one, until you need it.
  1. 1

    Buy with one passkey.

    Your agent pays with the same single approval as any PayBox payment. Nothing new to install, nothing extra to sign.

  2. 2

    USDC waits in escrow.

    Coinbase Commerce Payments on Base holds the money for the dispute window. Not Undo, not the merchant.

  3. 3

    Say “refund that”.

    If something is wrong, one sentence sends the USDC back to your wallet. If all is well, the merchant is paid when the window closes.

3 · Live proof

Refunds are real, and they are fast.

Undo runs on Base mainnet today. Every refund is a public Base transaction you can open.

4 · Merchants

Two merchant modes, both built.

One contract, two kinds of receiver. Agents get the same promise either way.

Covered mode

Live on Base mainnet

Undo pays any x402 service. No integration.

Undo pays the merchant through standard x402 and keeps your USDC in escrow. The merchant does not need to know Undo exists. Every mainnet proof so far is a Covered order.

  • Works with any x402 endpoint, today.
  • Automatic refund on errors, timeouts, empty responses and double charges.
  • One-hour dispute window, then the payment settles.

Native mode

Built and tested

The merchant is the escrow receiver.

Built and covered by tests, ready for merchants who want it. No third-party Native merchant is live yet.

  • Add @undo/sdk/middleware in front of your route. Hono and Express adapters.
  • Register on-chain with registerMerchant. It is permissionless.
  • Receive the funds from escrow when the dispute window closes.
  • Accept or contest each refund. Contested cases go to the arbiter.

Native in ten lines.

The middleware checks that each call was paid into escrow for exactly this request, then lets it through. Anything else falls through to your usual x402 pricing.

server.ts (Hono)
import { createOnchainCaseReader, undoHono } from "@undo/sdk/middleware";

const undo = undoHono({
  gateway: "0x0ED3EE2B783Bd1B7752E97e2B8FFF59C05c3a8E9",
  readCase: createOnchainCaseReader({
    rpcUrl: "https://mainnet.base.org",
    operator: "0xA47aa1C3cc3684861E4aC27d5Ff07825C5e76B62",
  }),
});

// Undo calls pass; anything else falls through to x402.
app.use("/paid/*", undo);

5 · Security

Undo never holds your money.

The USDC sits in Coinbase’s audited escrow on Base, under rules anyone can verify.
  • Non-custodial.

    No Undo key can send your money anywhere except back to you or to the merchant you paid.

  • Every rule on-chain.

    Windows, refunds and payouts are enforced by the contract, not by our servers. Anyone can read them.

  • Refunds never pause.

    A pause can stop new purchases. It can never stop money going back to the buyer.

Questions

Plain answers.

  • Do I need a new wallet or account?
    No. Your agent pays from your PayBox wallet with the same single passkey approval it already uses.
  • How do I get a refund?
    Tell your agent, in your own words. It sends the request with the refund token it received at purchase. You approve nothing, because money can only move back to you.
  • What is refunded automatically?
    Merchant errors, timeouts, empty or malformed responses and duplicate charges. Undo sees them as they happen and voids the payment.
  • How long can I change my mind?
    One hour for Covered services. Native merchants choose between one hour and seven days. After the window, the merchant is paid.
  • What if the merchant disagrees?
    The merchant can accept or contest. If they do not answer in time, you are refunded. Contested cases go to an arbiter within 24 hours.
  • What does it cost?
    A small protection fee, shown in the quote before you approve. Refunds are free.
  • Can Undo take my money?
    No. The escrow only pays the buyer or the merchant. See what no key can do.

Give your agent a way back.

Buyers add Undo to their agent in a minute. Merchants join in five and sell to agents whose owners trust them to buy.