Lets Claude clean up blockchain dust by sweeping native gas tokens to exactly zero across 26+ EVM chains using EIP-7702 sponsored execution. Exposes operations to execute same-chain transfers or cross-chain bridges through a unified sweep intent system, handling the impossible problem of sending 100% of your ETH when you need ETH for gas. The server connects to contracts deployed at the same address across Ethereum, Base, Arbitrum, Polygon, BSC, and 20+ other chains, with support for both transfer and bridge call modes. Reach for this when building AI agents that need to help users fully exit chains, consolidate wallets, or automate portfolio cleanup without leaving stranded dust balances.
Exit a blockchain completely - transfer 100% of your native gas balance via EIP-7702
ZeroDust is an intent-based exit system that enables users to sweep their entire native gas token balance to exactly zero via EIP-7702 sponsored execution.
When users want to fully exit a blockchain, they face an impossible situation:
User has: 0.0008 ETH on Arbitrum
User wants: 0 ETH on Arbitrum (transfer everything to Base)
The Problem:
├── To send ETH, you need ETH for gas
├── If you send all your ETH, you can't pay gas
├── If you keep gas, you can't send all your ETH
└── Result: Small amount always stranded
ZeroDust is the only solution that enables complete chain exits for native gas tokens.
| Case | Description | Example |
|---|---|---|
| Cross-chain, same address | Exit to yourself on another chain | Arbitrum → Base (same wallet) |
| Cross-chain, different address | Exit to another wallet on another chain | Arbitrum → Base (different wallet) |
| Same-chain, different address | Consolidate to another wallet | Arbitrum → Arbitrum (different wallet) |
Post-Condition (enforced on-chain): Source balance = exactly 0 wei
Contract Address (same on all chains): 0x3732398281d0606aCB7EC1D490dFB0591BE4c4f2
ZeroDust is deployed on 26 mainnet chains with EIP-7702 support:
| Chain | ID | Token | Chain | ID | Token |
|---|---|---|---|---|---|
| Ethereum | 1 | ETH | Sei | 1329 | SEI |
| Optimism | 10 | ETH | Astar zkEVM | 1514 | ETH |
| BSC | 56 | BNB | Soneium | 1868 | ETH |
| Gnosis | 100 | xDAI | Mantle | 5000 | MNT |
| Unichain | 130 | ETH | Kaia | 5330 | KAIA |
| Polygon | 137 | POL | Base | 8453 | ETH |
| Sonic | 146 | S | Plasma | 9745 | XPL |
| X Layer | 196 | OKB | ApeChain | 33139 | APE |
| Fraxtal | 252 | frxETH | Mode | 34443 | ETH |
| World Chain | 480 | ETH | Arbitrum | 42161 | ETH |
| Celo | 42220 | CELO | Redstone | 57073 | ETH |
| BOB | 60808 | ETH | Berachain | 80094 | BERA |
| Scroll | 534352 | ETH | Zora | 7777777 | ETH |
Plus 46 testnets for development.
See contracts/README.md for explorer links.
zerodust/
├── contracts/ # Smart contracts (Foundry)
│ ├── src/
│ │ ├── ZeroDustSweepMainnet.sol # Production contract
│ │ └── ZeroDustSweepTEST.sol # Testnet contract
│ ├── script/
│ │ └── DeployMainnet.s.sol # Mainnet deployment (CREATE2)
│ └── broadcast/ # Deployment logs
└── docs/
┌─────────────────────────────────────────────────────────────┐
│ User's EOA │
│ (EIP-7702 delegated) │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ZeroDustSweepMainnet (bytecode) │ │
│ │ │ │
│ │ executeSweep(intent, sig) │ │
│ │ │ │ │
│ │ ┌────────────┴────────────┐ │ │
│ │ ▼ ▼ │ │
│ │ MODE_TRANSFER (0) MODE_CALL (1) │ │
│ │ Same-chain sweep Cross-chain sweep │ │
│ │ │ │ │ │
│ │ ▼ ▼ │ │
│ │ Transfer to Call bridge target │ │
│ │ destination (callTarget + callData) │ │
│ │ │ │ │
│ └─────────────────────────────────────┼────────────────┘ │
│ │ │
└────────────────────────────────────────┼─────────────────────┘
│
▼
┌─────────────────────────┐
│ External Bridge │
│ (Gas.zip) │
│ │
│ Delivers funds on │
│ destination chain │
└─────────────────────────┘
Service Fee: 1% of swept value, with $0.05 minimum and $0.50 maximum.
Total Fee = Gas Reimbursement + Service Fee + Bridge Fee (if cross-chain)
Examples:
- $5 balance → $0.05 fee (1% = $0.05, at min) → User receives ~$4.95
- $10 balance → $0.10 fee (1%) → User receives ~$9.90
- $60 balance → $0.50 fee (max) → User receives ~$59.50
ZeroDust is designed with security as the top priority:
Smart Contract: Deployed on 26 mainnets + 46 testnets
| Contract | Status | Features |
|---|---|---|
| ZeroDustSweepMainnet | Production | Unified SweepIntent, granular fees, sponsor model |
| ZeroDustSweepTEST | Testnet | Same as mainnet, for testing |
| Chain | Swept | TX |
|---|---|---|
| Base | $3.46 → 0 | View |
| Arbitrum | $3.57 → 0 | View |
| BSC | $2.25 → 0 | View |
| Polygon | $7.55 → 0 | View |
See contracts/README.md for full deployment list.
The following testnets were tested and do not support EIP-7702:
Abstract, Lens, zkSync, Taiko, opBNB, Avalanche, Swell, Cyber, Boba, Metis, Fuse, Aurora, Flare, Vana, Corn, Rootstock, Apechain, IoTeX, Viction, XDC, Telos, Kava, EDU Chain, Gravity, Manta Pacific, Lightlink, Moonbase, Nibiru, Somnia, Rari, Blast, Xai, B3, Mezo, Chiliz, HashKey, Memecore
Note: Mainnet support may differ from testnet.
ZeroDust supports cross-chain sweeps via the MODE_CALL pattern:
keccak256(callData) - binds signature to specific routePrimary Bridge: Gas.zip - 239+ chains, ~5 second delivery
MIT License - see LICENSE
Production deployed on 26 mainnet chains. Contract: 0x3732398281d0606aCB7EC1D490dFB0591BE4c4f2
ZERODUST_API_URLCustom API URL (defaults to https://api.zerodust.xyz)
ZERODUST_API_KEYsecretAPI key for higher rate limits