@extra-wallet/wallet-tracker
v1.0.2
Published
**Wallet Expander CLI** allows you to track balance changes of different wallets and get notified about them via email.
Readme
Wallet Tracker CLI
About
Wallet Expander CLI allows you to track balance changes of different wallets and get notified about them via email.
License
Licensed under the PolyForm Noncommercial License 1.0.0. Commercial use requires a separate written commercial license agreement from the licensor — contact [email protected].
Key features
- Supported Networks: Ethereum, Optimism, Bsc, Polygon, Sonic, Base, Arbitrum, Avalanche, Ethereum-Classic, Bitcoin
- Email Notifications: Get notified about balance changes via email
- Pro Mode: Want to get more information about changes? Use EXTRA WALLET API key for Pro mode
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/wallet-trackerThis 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 install2. Build shared code
cd shared/sdk
pnpm build3. Return to the root of the repository
cd ../..4. Build the CLI
cd packages/wallet-tracker-cli
pnpm build5. Run locally
npx wallet-trackerHow 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 wallet-tracker --extrawallet-key="..." --email="[email protected]" --interval=1000To get information about every argument, you can use help command:
npx wallet-tracker helpArguments
| Flag | Required | Description | Aliases |
| --------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| email | true | Email you want to send data about balance changes to |
| input | true | Input data with the info used for fetching balances. | i |
| extrawallet-key | false | Your EXTRA WALLET API key. Specify when you want to use Pro mode | e |
| interval | false | Interval of time to check for balance change in milliseconds. Defaults to 1 minute |
| evm-rpcs | false | RPC urls to use to fetch balance data. Has to be provided in case you want to get balance changes of EVM addresses and do not provide extrawallet-key |
| resend | false | Resend API key to use to send emails |
| timeout | false | Time in milliseconds before the request is dropped. Defaults to 15 seconds |
| retries | false | Amount of retries to do in case of failed request. Defaults to 2(so the final amount of requests is 3 - 1 initial and 2 retries) |
Input format
input expects JSON with the following form:
{
"btc": ["bitcoin-address-1", "bitcoin-address-2"],
"evm": {
"evm-address-1": {
"network-1": ["token-address-1", "token-address-2"],
"network-2": ["token-address-3"]
}
}
}Example:
{
"btc": ["1H2MXWiSniAgg7ykdXEzPHL6oTH1ic4kP"],
"evm": {
"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045": {
"ethereum": ["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"],
"optimism": ["0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"]
}
}
}Output
Every time balance change is detected, you will receive a letter with information about it and a message about it will be printed to stdout.
The email will contain the a list of changes that states the network, holder address, currency address, old and new balances. In Pro mode the email the change also contains token symbol and balances in dollars.
