Balance Recovery CLI
About
Balance Recovery CLI allows you to check balances of your mnemonic on different networks and addresses. Command line version of Wallet Recovery Tool
License
Licensed under the PolyForm Noncommercial License 1.0.0. Commercial use requires a separate written commercial license agreement from the licensor — contact alex@vir-tec.net.
Key features
- Supported Networks: Ethereum, Optimism, Bsc, Polygon, Sonic, Base, Arbitrum, Avalanche, Tron, Ethereum-Classic, Ton, Bitcoin, Litecoin, Solana, Sui, Aptos, Dogecoin, Ripple, Cardano, Bch, Polkadot
- Multiple Wallet Derivation Paths: Different wallets use different derivation paths to get their addresses. This tool supports quite a few of them.
How to run
Option 1: Run via npm (recommended)
This is the recommended way for most users.
Requirements
- Node.js (v22)
Run
npx @extra-wallet/balance-recovery
This will:
- download the CLI on demand,
- start the interactive terminal UI
Option 2: Run locally from the repository (development)
Use this if you want to:
- inspect the code,
- modify the CLI,
- contribute or debug.
Requirements
- Node.js (v22)
- pnpm
1. Install dependencies
From the repository root:
pnpm install
2. Build shared code
cd shared/sdk
pnpm build
3. Return to the root of the repository
cd ../..
4. Build the CLI
cd packages/balance-recovery-cli
pnpm build
5. Run locally
npx balance-recovery
How to use
The CLI can be run in two modes: interactive and non-interactive
To run the program in interactive mode you just have to follow the instructions of the previous step. In this mode you will be asked for needed inputs step by step.
To run the program in non-interactive mode you have to also specify arguments using flags like this:
npx balance-recovery --mnemonic="..." --network="arbitrum" --extrawallet-key="..."
To get information about every argument, you can use help command:
npx balance-recovery help
Arguments
| Flag | Required | Description | Aliases |
|---|---|---|---|
| mnemonic | true | Mnemonic from which you want to derive addresses | m |
| extrawallet-key | true | Your EXTRA WALLET API key | e, extrawallet, key |
| network | true | Network you want to get addresses of. Can specify multiple of them | net, n |
| wallet | false | Wallet you use with the provided mnemonic. Defaults to EXTRA WALLET derivation path(default path of the network) | |
| from | false | The index from which to start deriving addresses. Defaults to 0 | f |
| to | false | The index at which to end deriving addresses(excluding). Defaults to 10 | t |
| output | false | Output file to put all the derived addresses to. If no output specified, the result will be printed to stdout | o |
Output
Depending on if you specified output file, the result will be either put in the file or printed to the terminal.
Result will be formatted as a table with the following columns:
Networkto which the address belongs to;Private Keythat corresponds to the public address;Addressthat holds the balance;Balance(USD)total balance of native currency and other tokens like USDC, Dai etc. in USD.
Since Cardano has two types of private keys, they are written to the same column in the following format: <reward_private_key> / <enterprice_private_key>
The result will be sorted from the biggest balance to the smallest.
Neither your mnemonic nor your private keys are sent anywhere. They are only used to derive the addresses to check for balance.