A CLI tool to automatically drain all tokens and native balances from an EOA (Externally Owned Account) across multiple EVM-compatible chains, sending all funds to a specified output address.
- 🔗 Multi-chain: Supports all EVM chains defined in everclear.json
- 🪙 Token + Native: Transfers all non-native tokens first, then the native token
- 🧪 Dry-run mode: Simulate all actions without sending transactions (
--dry-run) - 🛡️ Safety features:
- Confirmation prompt before sending real transactions
--forceflag to skip confirmation--max-gas-priceto skip chains with high gas
- ⚡ Automatic RPC selection: Uses up-to-date RPCs from chainlist.org
- 🚦 Logs all actions and errors
- Node.js 18+
- Yarn (for monorepo/workspace install)
- Ethers v6
From the monorepo root:
yarn installyarn start --private-key <PRIVATE_KEY> --out <DEST_ADDRESS> --dry-runyarn start --private-key <PRIVATE_KEY> --out <DEST_ADDRESS>yarn start --private-key <PRIVATE_KEY> --out <DEST_ADDRESS> --forceyarn start --private-key <PRIVATE_KEY> --out <DEST_ADDRESS> --max-gas-price 30yarn start --private-key <PRIVATE_KEY> --out <DEST_ADDRESS> --skip-erc20-k, --private-key <key>: Private key of the EOA to drain (required)-o, --out <address>: Destination address to receive funds (required)--dry-run: Simulate actions without sending transactions (default: false)--force: Skip confirmation prompt and proceed with transfers (default: false)--max-gas-price <gwei>: Maximum gas price (in gwei) for transactions (optional)--skip-erc20: Skip transferring non-native (ERC20) tokens (default: false)
- Always test with
--dry-runfirst! - The tool will prompt for confirmation before sending real transactions unless
--forceis used. - All actions and errors are logged to the console.
MIT
Everclear Team