ZeroDust Chain Exit
Sweep 100% of native gas tokens from EIP-7702 compatible chains. Leaves exactly zero balance. Supports 25 mainnet chains.
Description
name: zerodust-chain-exit description: Sweep 100% of native gas tokens from EIP-7702 compatible chains. Leaves exactly zero balance. Supports 25 mainnet chains. user-invocable: true metadata: {"openclaw": {"always": false, "emoji": "🧹", "requires": {"env": ["ZERODUST_API_KEY"]}}}
ZeroDust Chain Exit
ZeroDust enables sweeping native gas tokens to exactly zero balance using EIP-7702 sponsored execution. This only works on chains that support EIP-7702 (not all EVM chains).
When to Use This Skill
Activate when the user wants to:
- Fully exit a blockchain (move all native tokens out)
- Sweep dust/small balances from wallets
- Transfer 100% of their balance with zero remainder
- Empty a wallet completely
- Consolidate funds from multiple chains
Trigger Phrases
- "exit this chain completely"
- "transfer all my balance from [chain]"
- "sweep my dust"
- "empty this wallet"
- "move everything to [chain]"
- "leave zero balance"
Supported Chains (25 EIP-7702 Compatible)
| Chain | ID | Native Token |
|---|---|---|
| Ethereum | 1 | ETH |
| BSC | 56 | BNB |
| Base | 8453 | ETH |
| Arbitrum | 42161 | ETH |
| Optimism | 10 | ETH |
| Polygon | 137 | POL |
| Gnosis | 100 | XDAI |
| Scroll | 534352 | ETH |
| Zora | 7777777 | ETH |
| Mode | 34443 | ETH |
| Mantle | 5000 | MNT |
| Celo | 42220 | CELO |
| Fraxtal | 252 | FRAX |
| Unichain | 130 | ETH |
| World Chain | 480 | ETH |
| Berachain | 80094 | BERA |
| Ink | 57073 | ETH |
| Plasma | 9745 | XPL |
| BOB | 60808 | ETH |
| Story | 1514 | IP |
| Superseed | 5330 | ETH |
| Sei | 1329 | SEI |
| Sonic | 146 | S |
| Soneium | 1868 | ETH |
| X Layer | 196 | OKB |
Note: Chains like Avalanche, Blast, Linea, and Apechain do NOT support EIP-7702 and cannot be swept.
API Base URL
https://zerodust-backend-production.up.railway.app
Step 1: Register for API Key (One-Time)
curl -X POST https://zerodust-backend-production.up.railway.app/agent/register \
-H "Content-Type: application/json" \
-d '{
"name": "My OpenClaw Agent",
"agentId": "openclaw-unique-id"
}'
Response:
{
"apiKey": "zd_abc123...",
"keyPrefix": "zd_abc12",
"keyId": "uuid",
"keyType": "agent",
"rateLimits": { "perMinute": 300, "daily": 1000 },
"message": "IMPORTANT: Save your API key now - it will not be shown again!"
}
Store apiKey as the ZERODUST_API_KEY environment variable.
Step 2: Get Quote
Check the user's balance and fees before sweeping:
curl "https://zerodust-backend-production.up.railway.app/quote?userAddress=0xUSER&fromChainId=42161&toChainId=8453&destination=0xDEST"
Response:
{
"quoteId": "uuid",
"fromChainId": 42161,
"toChainId": 8453,
"userAddress": "0x...",
"destination": "0x...",
"balance": "500000000000000",
"balanceFormatted": "0.0005",
"estimatedReceive": "485000000000000",
"estimatedReceiveFormatted": "0.000485",
"totalFeeWei": "15000000000000",
"serviceFeeWei": "5000000000000",
"gasFeeWei": "10000000000000",
"expiresAt": "2026-02-04T16:00:00Z"
}
Step 3: Get Authorization Data
Get the EIP-712 typed data for signing:
curl -X POST https://zerodust-backend-production.up.railway.app/authorization \
-H "Content-Type: application/json" \
-d '{"quoteId": "uuid-from-quote"}'
Response contains typedData (EIP-712 for sweep) and eip7702 (delegation parameters).
Step 4: User Signs Messages
The user must sign:
- EIP-7702 delegation authorization - Delegates their EOA to ZeroDust contract
- EIP-7702 revoke authorization - Pre-signed revocation (executed after sweep)
- EIP-712 sweep intent - Authorizes the specific sweep parameters
Step 5: Submit Sweep
curl -X POST https://zerodust-backend-production.up.railway.app/sweep \
-H "Content-Type: application/json" \
-d '{
"quoteId": "uuid",
"delegationSignature": "0x...",
"revokeSignature": "0x...",
"sweepSignature": "0x..."
}'
Response:
{
"sweepId": "uuid",
"status": "pending",
"txHash": null
}
Poll GET /sweep/{sweepId} for status updates until status: "completed".
Convenience Endpoint: Combined Quote + Auth
For agents, use this single endpoint to get quote and auth data together:
curl -X POST https://zerodust-backend-production.up.railway.app/agent/sweep \
-H "Content-Type: application/json" \
-H "X-API-Key: $ZERODUST_API_KEY" \
-d '{
"fromChainId": 42161,
"toChainId": 8453,
"userAddress": "0x...",
"destination": "0x..."
}'
Batch Sweeps (Multiple Chains)
Sweep from multiple chains in one request:
curl -X POST https://zerodust-backend-production.up.railway.app/agent/batch-sweep \
-H "Content-Type: application/json" \
-H "X-API-Key: $ZERODUST_API_KEY" \
-d '{
"sweeps": [
{"fromChainId": 42161},
{"fromChainId": 10},
{"fromChainId": 137}
],
"destination": "0x...",
"consolidateToChainId": 8453
}'
Fees
- Service fee: 1% of balance (min $0.05, max $0.50)
- Gas costs: Paid by ZeroDust, reimbursed from sweep amount
- User receives: ~97-99% of balance (varies by gas prices)
Rate Limits
- Agent keys: 300 requests/minute, 1000 sweeps/day
- Contact ZeroDust for higher limits
Error Codes
| Error | Meaning |
|---|---|
BALANCE_TOO_LOW |
Balance below minimum (~$0.10) |
QUOTE_EXPIRED |
Quote older than 5 minutes |
CHAIN_NOT_SUPPORTED |
Chain doesn't support EIP-7702 |
INVALID_SIGNATURE |
Signature verification failed |
RATE_LIMIT_EXCEEDED |
Daily or per-minute limit hit |
Example Agent Conversation
User: "I want to move all my ETH from Arbitrum to Base"
Agent:
- Call
/quoteto check balance and fees - Show user: "You have 0.005 ETH on Arbitrum. After fees (~1%), you'll receive ~0.00495 ETH on Base. This requires signing 3 messages. Proceed?"
- If yes, call
/authorizationto get typed data - Request wallet signatures (EIP-7702 delegation, revoke, and EIP-712 sweep)
- Submit to
/sweepwith signatures - Poll status until complete
- Confirm: "Done! Your Arbitrum balance is now exactly 0. 0.00494 ETH received on Base."
Important Notes
-
EIP-7702 Required: User's wallet must support EIP-7702. Most modern wallets do as of 2026.
-
Signatures Required: Sweeps require user wallet signatures. ZeroDust never has custody.
-
Zero Balance Result: After sweep, source chain balance is EXACTLY zero.
-
Cross-Chain: Sweeps can go to any supported destination chain via Gas.zip bridging.
-
Not All EVM Chains: Only the 25 chains listed above support EIP-7702. Do not attempt sweeps on unsupported chains.
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!