Practical overview
When it fits
Use Drain when you control the source wallet and want a focused flow for moving selected EVM assets, rather than transferring each token individually.
Who it is for
- People migrating assets from an old wallet to a replacement address.
- Wallet holders consolidating smaller or long-tail ERC-20 balances.
- Users who still have signing access and want to move assets during a suspected wallet compromise.
Documented uses
- Discover balances in a connected wallet and choose which assets to transfer.
- Move selected ERC-20 tokens and native tokens to a destination wallet.
- Resolve an ENS destination name before initiating transfers.
Requirements & limits
The project documents a web app and an open-source repository. The primary flow connects a wallet and requires the user to approve transactions.
- Drain reads balances, displays token logos, balances and estimated USD values, and lets users select assets.
- It attempts batched transfers when supported by the wallet and falls back to individual transfers.
- Local development requires a WalletConnect project ID and a Moralis API key; the API key should remain server-side.
- The README says Drain does not recover seed phrases, private keys or NFTs.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up Drain for local development
Prepare the documented local development environment so you can inspect the app before connecting a wallet.
Before you start
- Node.js package tooling for the documented npm commands.
- A WalletConnect project ID.
- A Moralis API key, kept server-side in .env.local.
Steps
Clone the repository and change into its directory.
Run npm install.
Copy .env.example to .env.local and set NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID and MORALIS_API_KEY.
Run npm run dev and open http://localhost:3000.
Expected outcome
The app is available in a local development environment for inspection.
Guide limitations
- The guide documents local setup, not a successful deployment or transfer.
- Keep the Moralis API key server-side and do not commit its real value.
Compare options for Wallet connections
These projects document a common task and share a project role. This is a source-based comparison, not an execution benchmark or a guarantee of interchangeability.
| Project | Documented purpose | Platform | Access and requirements |
|---|---|---|---|
| Drain | Discover balances in a connected wallet and choose which assets to transfer. | Web | The project documents a web app and an open-source repository. The primary flow connects a wallet and requires the user to approve transactions. |
| Shango | Connect a mobile wallet to a personal LND node. | Android, iOS, Mobile | The README lists iOS TestFlight and Google Play beta installation routes and describes the app as a public beta. Its cloud-node instructions are for testnet. |
| Walletconnect Expo Example | Study or prototype a wallet connection and authentication screen in a React Native dapp. | Android, iOS |
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 16 October 2026
- Original website title
- dawsbot/drain · Official homepage title · retained in its source language

