Managing your wallet: revoke & refunds

Managing your wallet: revoke & refunds

Revoking (unlinking) a wallet

You can unlink a wallet from an application in the Business Portal at any time (Applications → Application details → x402 Linked wallets → remove). After unlinking:

  • x402 requests signed by that wallet are rejected with 401 Wallet not linked: the wallet can no longer pay for new API calls.
  • 1inch automatically closes the unlinked wallet's payment channel: it settles any outstanding usage, refunds the remaining deposit to your wallet within ~10 minutes, and pays the gas for you.
  • A wallet can be linked to only one application at a time. Once unlinked, it is free to link to another application.
  • Wallet addresses are mapped per application. Deleting an application unlinks the wallet(s) mapped to it. Link the wallet to another application to keep x402 service uninterrupted; otherwise its channel is refunded automatically within ~10 minutes, like any other unlink.
  • Any USDC you already prepaid into your payment channel stays safe on-chain in the escrow contract. It is bound to your wallet address, not to the application, and is never custodied by 1inch.

Unlinking stops spending and returns your money: the remaining channel balance is refunded to your wallet automatically within ~10 minutes — no action and no gas needed on your side. The refund paths below remain available if you need your funds sooner or want to withdraw without depending on 1inch.

Refunds: recovering your prepaid balance

Your residual channel balance (what you deposited minus what you have already spent on API calls) is always recoverable to your wallet. There are four ways:

Path When to use it What you do
Automatic refund (unlink) You are done paying with this wallet. Unlink the wallet in the portal. 1inch settles any outstanding usage and refunds the remaining deposit to your wallet within ~10 minutes, and pays the gas for you.
Automatic refund (inactivity) Default: you took no other action. Nothing. 1inch automatically refunds a channel that stays idle for 1 week back to your payer wallet, and pays the gas for you.
Cooperative refund (via SDK) You want your funds back immediately and the wallet is still linked. Request a refund through the SDK before unlinking. The server claims any outstanding vouchers and returns the unused balance in a single step.
On-chain self-withdraw Guaranteed fallback: works even after unlinking and never depends on 1inch. From your wallet, call initiateWithdraw on the escrow contract, wait the withdraw delay (~15 min), then call finalizeWithdraw to receive your USDC. Requires ETH on Base for gas.

Refund timing: while the wallet stays linked, a channel is considered idle once it stops making paid calls, and the automatic refund is triggered after 1 week of inactivity. Unlinking the wallet skips the inactivity window entirely: the channel is refunded within ~10 minutes. Use the cooperative SDK refund if you need your balance back immediately while staying linked. A refund is deferred while a paid request is still in flight and runs once it completes.

  • If you plan to keep using the wallet, link it to another application first: your channel and prepaid balance keep working, with no interruption. If the wallet stays unlinked, its channel is refunded within ~10 minutes and a later re-link starts with a fresh deposit.
  • If you are done with the wallet, just unlink it: the remaining balance comes back automatically within ~10 minutes. Alternatively, request a cooperative refund via the SDK before unlinking, or simply stop calling — idle balances are returned after 1 week without any action.
  • The on-chain self-withdraw (initiateWithdraw → wait → finalizeWithdraw) is the fallback that never depends on 1inch. The withdraw delay is advertised in the 402 challenge (extra.withdrawDelay, default 900 seconds).

Did you find what you need?