@554/wallet
Installation
SKILL.md
💰 Wallet Skill
Multi-chain wallet for EVM (6 chains) + Solana. Balances, transfers, signing, policy management.
Tools
| Tool | Description |
|---|---|
wallet_info |
Get all wallet addresses |
wallet_balance |
EVM balance on a chain (DeBank) |
wallet_sol_balance |
Solana balance (Birdeye) |
wallet_get_all_balances |
All chains at once |
wallet_transfer |
Broadcast EVM tx (gas sponsored) |
wallet_sign_transaction |
Sign EVM tx (no broadcast) |
wallet_sign |
EIP-191 message signing |
wallet_sign_typed_data |
EIP-712 typed data signing |
wallet_transactions |
EVM tx history |
wallet_sol_transfer |
Broadcast Solana tx |
wallet_sol_sign_transaction |
Sign Solana tx (no broadcast) |
wallet_sol_sign |
Solana message signing |
wallet_sol_transactions |
Solana tx history |
wallet_get_policy |
Check policy status |
wallet_propose_policy |
Propose policy (sends to UI) |
Key Facts
- Gas is sponsored on EVM chains — user doesn't need ETH for gas
- Policy default: OFF (allow-all). Only when user enables policy do transactions need UI confirmation
- Supported EVM chains: ethereum, base, arbitrum, optimism, polygon, linea
- Balance sources: DeBank (EVM), Birdeye (Solana), wallet-service (fallback)
Workflow
Check Balances
- Single chain:
wallet_balance(chain="base")orwallet_sol_balance() - All at once:
wallet_get_all_balances()
Send Transaction (EVM)
- Check balance:
wallet_balance(chain=...) - Transfer:
wallet_transfer(to=..., amount=..., chain_id=...) - Verify:
wallet_transactions()or check balance again
Policy Management
- Check:
wallet_get_policy(chain_type="ethereum") - If user wants to enable:
wallet_propose_policy(chain_type, rules, title, description) - User confirms in UI → policy applied
Standard Wildcard Policy (when needed)
rules = [
{"name": "Deny key export", "method": "exportPrivateKey", "conditions": [], "action": "DENY"},
{"name": "Allow all", "method": "*", "conditions": [], "action": "ALLOW"},
]
Gotchas
wallet_propose_policysends SSE event to frontend — needs streaming context- DeBank/Birdeye keys are auto-injected by sc-proxy
wallet_balancerequireschainparam — usewallet_get_all_balancesfor discovery- Policy validation:
eth_signTypedData_v4requires at least one condition - For both EVM + Solana policy, call
wallet_propose_policyTWICE