Terminal-first wallet for everyday EVM actions: manage accounts, send native and ERC-20 transfers, and approve WalletConnect v2 requests from your command line.
Walle is a CLI crypto wallet and terminal EVM wallet for Ethereum-compatible networks.
It focuses on practical wallet workflows in terminal UI:
- wallet creation and account management
- mnemonic/private key import
- native coin and ERC-20 transfer flows
- WalletConnect v2 request handling
- custom RPC chain setup
- Works with EVM chains, including custom RPC networks.
- Supports multiple wallet accounts and chain switching.
- Supports native transfers and ERC-20 transfer / approve flows.
- Supports transaction confirmation with EIP-1559 gas fields.
- Supports mnemonic/private key import.
- Supports WalletConnect v2 session approval and request handling.
- Stores wallet data encrypted on disk using ethers wallet encryption.
- Better support for WalletConnect typed data signing flows.
- Expanded contract interaction UX.
- NFT-related features.
- Support for non-EVM networks.
npm i -g @walleproject/cliAlternative package managers:
yarn global add @walleproject/cli
pnpm add -g @walleproject/cliwalle- Use
Tabto switch active panels. - Use arrow keys (
Up/Down) to navigate actions. - Check the in-app Help section for shortcuts and flow hints.
Current status is based on request handlers in the codebase.
| Method | Status |
|---|---|
personal_sign |
Supported |
eth_sign |
Supported |
eth_sendTransaction |
Supported |
eth_signTransaction |
Supported |
eth_signTypedData |
Not supported |
eth_signTypedData_v3 |
Not supported |
eth_signTypedData_v4 |
Not supported |
eth_sendRawTransaction |
Not supported |
- TypeScript
- Node.js CLI + Ink (React for CLIs)
- ethers.js
- WalletConnect Sign Client v2
- Zustand state management
git clone https://github.com/Pobepto/walle.git
cd walle
npm installUseful scripts:
npm run dev- build in watch modenpm run build- production buildnpm run check- TypeScript type-checknpm run format- format source files
- Keep your mnemonic phrase and private keys offline and never share them.
- Use dedicated wallets for testing and limit balances in hot wallets.
- Verify recipient addresses, chain IDs, and contract addresses before confirming.
- Wallet encryption reduces risk, but local machine compromise can still expose funds.
- This project is provided as-is, has no formal security audit, and is used at your own risk.
- You use this software entirely at your own risk and are solely responsible for transaction outcomes and private key storage.
- See
SECURITY.mdfor supported versions, vulnerability reporting, and disclaimer details.
Contributions are welcome.
- Open an issue for bugs or feature ideas.
- Submit a pull request with a clear description and reproduction steps (if bug fix).
- Keep changes focused and aligned with existing code style.
MIT License. See LICENSE.








