Skill flagged — review recommended

ClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.

ZeroDust Chain Exit

Sweep 100% of native gas tokens from EIP-7702 compatible chains. Leaves exactly zero balance. Supports 25 mainnet chains.

Audits

Suspicious

Install

openclaw skills install zerodust-chain-exit

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)

ChainIDNative Token
Ethereum1ETH
BSC56BNB
Base8453ETH
Arbitrum42161ETH
Optimism10ETH
Polygon137POL
Gnosis100XDAI
Scroll534352ETH
Zora7777777ETH
Mode34443ETH
Mantle5000MNT
Celo42220CELO
Fraxtal252FRAX
Unichain130ETH
World Chain480ETH
Berachain80094BERA
Ink57073ETH
Plasma9745XPL
BOB60808ETH
Story1514IP
Superseed5330ETH
Sei1329SEI
Sonic146S
Soneium1868ETH
X Layer196OKB

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:

  1. EIP-7702 delegation authorization - Delegates their EOA to ZeroDust contract
  2. EIP-7702 revoke authorization - Pre-signed revocation (executed after sweep)
  3. 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

ErrorMeaning
BALANCE_TOO_LOWBalance below minimum (~$0.10)
QUOTE_EXPIREDQuote older than 5 minutes
CHAIN_NOT_SUPPORTEDChain doesn't support EIP-7702
INVALID_SIGNATURESignature verification failed
RATE_LIMIT_EXCEEDEDDaily or per-minute limit hit

Example Agent Conversation

User: "I want to move all my ETH from Arbitrum to Base"

Agent:

  1. Call /quote to check balance and fees
  2. 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?"
  3. If yes, call /authorization to get typed data
  4. Request wallet signatures (EIP-7702 delegation, revoke, and EIP-712 sweep)
  5. Submit to /sweep with signatures
  6. Poll status until complete
  7. Confirm: "Done! Your Arbitrum balance is now exactly 0. 0.00494 ETH received on Base."

Important Notes

  1. EIP-7702 Required: User's wallet must support EIP-7702. Most modern wallets do as of 2026.

  2. Signatures Required: Sweeps require user wallet signatures. ZeroDust never has custody.

  3. Zero Balance Result: After sweep, source chain balance is EXACTLY zero.

  4. Cross-Chain: Sweeps can go to any supported destination chain via Gas.zip bridging.

  5. Not All EVM Chains: Only the 25 chains listed above support EIP-7702. Do not attempt sweeps on unsupported chains.