A secure, modular CLI wallet for EVM-compatible blockchains.
- Secure key management with encrypted keystore files (
go-ethereum/accounts/keystore). - BIP39 mnemonic generation/import and BIP44 HD derivation (
m/44'/60'/0'/0/0). - Multi-chain support (Ethereum, Arbitrum, Optimism, Base), configurable via
~/.tokit/config.yaml. - Native token and ERC20 balance query.
- EIP-1559 transfers with dynamic fee estimation.
- Interactive password prompts for import/signing.
go build -o tokit.exe main.goCreate a wallet:
./tokit wallet createImport a wallet:
./tokit wallet importList wallets:
./tokit wallet listSet default account:
./tokit wallet use 0xYourAddressCheck native balance (address optional):
./tokit balance ethereum [address]If address is omitted, Tokit uses --from, then configured default account, then the first local account.
Check ERC20 balance:
./tokit balance ethereum --token 0xdac17f958d2ee523a2206206994597c13d831ec7Send native token:
./tokit transfer ethereum 0xRecipientAddress 0.1Send ERC20 token:
./tokit transfer ethereum 0xRecipientAddress 100 --token 0xdac17f958d2ee523a2206206994597c13d831ec7Tokit uses ~/.tokit/config.yaml:
default: ethereum
default_account: ""
networks:
ethereum:
rpc: https://eth.llamarpc.com
chain_id: 1
symbol: ETH
explorer: https://etherscan.ioIf git push shows an error like exec : The term 'exec' is not recognized on Windows:
- Check whether environment variable
SHELLis set to PowerShell. - Remove it for the current session and retry:
Remove-Item Env:SHELL -ErrorAction SilentlyContinue
git push --porcelain originThis issue usually appears when SSH ProxyCommand is interpreted by the wrong shell.
- Private keys are stored as encrypted JSON files under
~/.tokit/keystore. - Passwords are only entered interactively.
- Mnemonic is shown once during creation and should be stored offline securely.
MIT