| name | agent-wallet |
| version | 1.2.4 |
| description | Single-source wallet skill for generate, import, get-balance, sign, and send flows using local wallet files plus executable Node scripts. Use when the user asks for wallet creation, recovery, balance checks, message signing, or transaction sending. |
| dependencies | ["viem"] |
| runtime | {"node":">=18"} |
| required_env | ["WALLET_SECRET_KEY"] |
| optional_env | [] |
| security | {"reads_env_secrets":true,"writes_secrets":true,"requires_confirmation":["before overwriting existing wallet/signer.json","before using signer material from wallet/signer.json","before broadcasting transactions","double confirmation for mainnet broadcast"]} |
Agent Wallet Skill
Changelog: CHANGELOG.md
Purpose
Use this file as the only wallet skill entrypoint for local wallet workflows.
Runtime Requirements
- Runtime: Node.js 18+
- Required package:
viem
- Required secret key:
WALLET_SECRET_KEY (used for local secret encryption/decryption)
- Wallet signer file:
wallet/signer.json
- Network config file:
wallet/config.json
Executable Scripts
Run these scripts from agent-wallet-skills for each action:
generate-wallet: node scripts/generate-wallet.js --method=<private-key|seed-phrase> [--overwrite=true]
import-wallet: node scripts/import-wallet.js --seedPhrase="<words>" [--overwrite=true] or --privateKey=0x...
get-balance: node scripts/get-balance.js --address=0x... [--tokenAddress=0x...] [--decimals=18] [--symbol=TOKEN]
sign-messages: node scripts/sign-messages.js --message="hello from wallet"
send (native): node scripts/send.js --to=0x... --amount=<native-amount> --confirm=true [--confirmMainnet=true]
send (token): node scripts/send.js --to=0x... --amount=<token-amount> --tokenAddress=0x... [--decimals=18] [--symbol=TOKEN] --confirm=true [--confirmMainnet=true]
Notes:
- Wallet material is stored in
wallet/signer.json as encrypted fields only.
- Default network is loaded from
wallet/config.json with shape [{ rpc_url, chain_id, current }].
send.js requires explicit --confirm=true.
- Mainnet broadcasts require an additional
--confirmMainnet=true.
Routing Logic
- Identify user intent:
- create/recover/import wallet ->
generate-wallet or import-wallet
- check native/token balance ->
get-balance
- sign arbitrary payload/message ->
sign-messages