EVM Crypto Wallet for Your Agent
Self-sovereign EVM wallet for AI agents. Use when the user wants to create a crypto wallet, check balances, send ETH or ERC20 tokens, swap tokens, or interact with smart contracts. Supports Base, Ethe
Self-sovereign EVM wallet for AI agents. Use when the user wants to create a crypto wallet, check balances, send ETH or ERC20 tokens, swap tokens, or interact with smart contracts. Supports Base, Ethe
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Self-sovereign EVM wallet. Private keys stored locally, no external API dependencies.
NEVER expose your private key!
~/.evm-wallet.json with anyoneThe private key file (
~/.evm-wallet.json) should only be accessed directly via SSH on your server.
Detect workspace and skill directory:
SKILL_DIR=$(ls -d \ ~/openclaw/skills/evm-wallet \ ~/OpenClaw/skills/evm-wallet \ ~/clawd/skills/evm-wallet \ ~/moltbot/skills/evm-wallet \ ~/molt/skills/evm-wallet \ 2>/dev/null | head -1)
If code is not installed yet (no
src/ folder), bootstrap it:
if [ ! -d "$SKILL_DIR/src" ]; then git clone https://github.com/surfer77/evm-wallet-skill.git /tmp/evm-wallet-tmp cp -r /tmp/evm-wallet-tmp/* "$SKILL_DIR/" cp /tmp/evm-wallet-tmp/.gitignore "$SKILL_DIR/" 2>/dev/null rm -rf /tmp/evm-wallet-tmp cd "$SKILL_DIR" && npm install fi
For all commands below, always
cd "$SKILL_DIR" first.
Generate a wallet (only needed once):
node src/setup.js --json
Returns:
{ "success": true, "address": "0x..." }
The private key is stored at
~/.evm-wallet.json (chmod 600). Never share this file.
When user asks about balance, portfolio, or how much they have:
# Single chain node src/balance.js base --jsonAll chains at once
node src/balance.js --all --json
Specific ERC20 token
node src/balance.js base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 --json
Always use
for parsing. Present results in a human-readable format.--json
When user wants to send, transfer, or pay someone:
# Native ETH node src/transfer.js <chain> <to_address> <amount> --yes --jsonERC20 token
node src/transfer.js <chain> <to_address> <amount> <token_address> --yes --json
⚠️ ALWAYS confirm with the user before executing transfers. Show them:
Only add
--yes after the user explicitly confirms.
When user wants to swap, trade, buy, or sell tokens:
# Get quote first node src/swap.js <chain> <from_token> <to_token> <amount> --quote-only --jsonExecute swap (after user confirms)
node src/swap.js <chain> <from_token> <to_token> <amount> --yes --json
eth for native ETH/POL, or pass a contract address--slippage <percent>⚠️ ALWAYS show the quote first and get user confirmation before executing.
When user wants to call a smart contract function:
# Read (free, no gas) node src/contract.js <chain> <contract_address> \ "<function_signature>" [args...] --jsonWrite (costs gas — confirm first)
node src/contract.js <chain> <contract_address>
"<function_signature>" [args...] --yes --json
Examples:
# Check USDC balance node src/contract.js base \ 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 \ "balanceOf(address)" 0xWALLET --jsonApprove token spending
node src/contract.js base
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
"approve(address,uint256)" 0xSPENDER 1000000 --yes --json
node src/check-update.js --json
If an update is available, inform the user and offer to run:
cd "$SKILL_DIR" && git pull && npm install
| Chain | Native Token | Use For |
|---|---|---|
| base | ETH | Cheapest fees — default for testing |
| ethereum | ETH | Mainnet, highest fees |
| polygon | POL | Low fees |
| arbitrum | ETH | Low fees |
| optimism | ETH | Low fees |
Always recommend Base for first-time users (lowest gas fees).
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA029130x42000000000000000000000000000000000000060xA0b86a33E6441b8a46a59DE4c4C5E8F5a6a7A8d00xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2~/.evm-wallet.jsonnode src/setup.js --json firstNo automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.