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.
Recommended
- 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 the402challenge (extra.withdrawDelay, default 900 seconds).