Cryptowallet
Complete cryptocurrency wallet management for Web3, DeFi, and blockchain applications.
- Rating
- 4.9 (304 reviews)
- Downloads
- 7,508 downloads
- Version
- 1.0.0
Overview
Complete cryptocurrency wallet management for Web3, DeFi, and blockchain applications.
Complete Documentation
View Source →
CryptoWallet
Comprehensive cryptocurrency wallet management for Clawdbot agents. Securely create, manage, and transact across multiple blockchain networks with encrypted local key storage.
Supported Networks
EVM Chains (12 networks)
- Ethereum, Polygon, BSC, Arbitrum, Optimism, Base
- Avalanche, Fantom, Gnosis, zkSync, Linea, Scroll
Solana
- Mainnet and Devnet
references/networks.json.Core Features
1. Wallet Management
Create new wallets or import existing ones:# Create new EVM wallet
python3 scripts/wallet_manager.py create my-eth-wallet --chain evm --password "secure-password"
# Create new Solana wallet
python3 scripts/wallet_manager.py create my-sol-wallet --chain solana --password "secure-password"
# Import existing wallet
python3 scripts/wallet_manager.py import imported-wallet --chain evm --key "0x..." --password "secure-password"
# List all wallets
python3 scripts/wallet_manager.py list
2. Balance Checking
Query native and token balances:
# Native ETH balance on Ethereum
python3 scripts/balance_checker.py 0xYourAddress --network ethereum
# ERC20 token balance
python3 scripts/balance_checker.py 0xYourAddress --network polygon --token 0xTokenAddress
# Check all EVM networks at once
python3 scripts/balance_checker.py 0xYourAddress --all-evm
# Solana balance
python3 scripts/balance_checker.py YourSolanaAddress --network solana
# SPL token balance
python3 scripts/balance_checker.py YourSolanaAddress --network solana --token MintAddress
3. Token Transfers
Send native tokens or ERC20/SPL tokens:
# Send ETH
python3 scripts/token_sender.py my-wallet 0xRecipient 0.1 --network ethereum --password "password"
# Send ERC20 token
python3 scripts/token_sender.py my-wallet 0xRecipient 100 --network polygon --token 0xTokenAddress --password "password"
# Send SOL
python3 scripts/token_sender.py my-wallet RecipientAddress 1.5 --network solana --password "password"
Security: Password required for every transaction. Private keys never leave encrypted storage unprotected.
4. Smart Contract Interaction
Call contract functions (read and write):
# Read call (view function)
python3 scripts/contract_interactor.py 0xContract functionName --abi contract.json --network ethereum --args '[123, "param2"]'
# Write call (transaction)
python3 scripts/contract_interactor.py 0xContract mint --abi nft.json --network polygon --args '[1]' --write --wallet my-wallet --password "password"
# Payable function (send ETH with call)
python3 scripts/contract_interactor.py 0xContract purchase --abi contract.json --network ethereum --args '[]' --write --wallet my-wallet --password "password" --value 0.05
Security Architecture
Encryption
- Algorithm: AES-256-GCM with PBKDF2 key derivation
- Iterations: 100,000 (OWASP recommended)
- Salt: Random 16-byte salt per wallet
- Storage:
~/.clawdbot/cryptowallet/with 0600 permissions
Key Principles
- Password-protected transactions - Every send/sign operation requires password
- Encrypted at rest - Private keys never stored in plaintext
- No key exposure - Keys decrypted in memory only during signing
- Isolated storage - Each wallet has independent encryption
references/security.md for complete security documentation.Common Workflows
Portfolio Management
Check balances across all networks:python3 scripts/balance_checker.py 0xYourAddress --all-evm
Multi-Chain Operations
Send the same token across different chains:# Polygon USDC
python3 scripts/token_sender.py wallet recipient 100 --network polygon --token 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 --password "pwd"
# Arbitrum USDC
python3 scripts/token_sender.py wallet recipient 100 --network arbitrum --token 0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8 --password "pwd"
DeFi Protocol Interaction
Example: Approve and stake tokens# 1. Approve token spending
python3 scripts/contract_interactor.py 0xTokenAddress approve --abi erc20.json --network ethereum --args '["0xProtocolAddress", "1000000000000000000000"]' --write --wallet my-wallet --password "pwd"
# 2. Stake tokens
python3 scripts/contract_interactor.py 0xStakingContract stake --abi staking.json --network ethereum --args '["1000000000000000000000"]' --write --wallet my-wallet --password "pwd"
Network Configuration
Modify references/networks.json to:
- Add custom RPCs (Infura, Alchemy, QuickNode)
- Add new networks
- Update chain IDs or explorers
Dependencies
Install required packages:
pip install web3 solana solders eth-account cryptography base58
Troubleshooting
"Incorrect password"
- Password is case-sensitive
- No recovery if password is lost (by design)
"Insufficient funds"
- Check balance includes gas fees
- On Ethereum: gas can be $5-50+ per transaction
"Transaction failed"
- Verify network selection
- Check contract address is correct
- Ensure enough gas limit for complex operations
RPC errors
- Public RPCs may be rate-limited
- Use
references/networks.jsonto configure your own RPC endpoint
Advanced Usage
Custom Network
Add toreferences/networks.json:
{
"evm": {
"your-network": {
"name": "Your Chain",
"chain_id": 12345,
"rpc": "https://rpc.yourchain.com",
"explorer": "https://explorer.yourchain.com",
"native_token": "TOKEN"
}
}
}
Batch Operations
Use shell loops for batch transactions:for addr in $(cat recipients.txt); do
python3 scripts/token_sender.py wallet $addr 1 --network polygon --password "pwd"
done
Smart Contract ABIs
Generate ABIs from verified contracts on block explorers, or from your Solidity project'sartifacts/ folder.Limitations
- Solana SPL transfers: Basic implementation (may need token account creation)
- Hardware wallets: Not supported (encrypted file storage only)
- Multi-sig: Not supported
- Gas estimation: Uses fixed limits (may fail for complex contracts)
Best Practices
- Test on devnet/testnet first before mainnet transactions
- Use separate wallets for different purposes (trading, DeFi, cold storage)
- Backup wallet files and store passwords securely
- Verify addresses - blockchain transactions are irreversible
- Monitor gas prices - wait for lower congestion on Ethereum
references/security.md for comprehensive security guidelines.
Installation
openclaw install cryptowallet
💻Code Examples
python3 scripts/wallet_manager.py list
### 2. Balance Checking
Query native and token balances:python3 scripts/balance_checker.py YourSolanaAddress --network solana --token MintAddress
### 3. Token Transfers
Send native tokens or ERC20/SPL tokens:python3 scripts/token_sender.py my-wallet RecipientAddress 1.5 --network solana --password "password"
**Security:** Password required for every transaction. Private keys never leave encrypted storage unprotected.
### 4. Smart Contract Interaction
Call contract functions (read and write):python3 scripts/contract_interactor.py 0xContract purchase --abi contract.json --network ethereum --args '[]' --write --wallet my-wallet --password "password" --value 0.05
## Security Architecture
### Encryption
- **Algorithm:** AES-256-GCM with PBKDF2 key derivation
- **Iterations:** 100,000 (OWASP recommended)
- **Salt:** Random 16-byte salt per wallet
- **Storage:** `~/.clawdbot/cryptowallet/` with 0600 permissions
### Key Principles
1. **Password-protected transactions** - Every send/sign operation requires password
2. **Encrypted at rest** - Private keys never stored in plaintext
3. **No key exposure** - Keys decrypted in memory only during signing
4. **Isolated storage** - Each wallet has independent encryption
See `references/security.md` for complete security documentation.
## Common Workflows
### Portfolio Management
Check balances across all networks:python3 scripts/balance_checker.py 0xYourAddress --all-evm
### Multi-Chain Operations
Send the same token across different chains:python3 scripts/token_sender.py wallet recipient 100 --network arbitrum --token 0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8 --password "pwd"
### DeFi Protocol Interaction
Example: Approve and stake tokenspython3 scripts/contract_interactor.py 0xStakingContract stake --abi staking.json --network ethereum --args '["1000000000000000000000"]' --write --wallet my-wallet --password "pwd"
## Network Configuration
Modify `references/networks.json` to:
- Add custom RPCs (Infura, Alchemy, QuickNode)
- Add new networks
- Update chain IDs or explorers
Default RPCs are public and may have rate limits. For production, use dedicated RPC providers.
## Dependencies
Install required packages:pip install web3 solana solders eth-account cryptography base58
## Troubleshooting
### "Incorrect password"
- Password is case-sensitive
- No recovery if password is lost (by design)
### "Insufficient funds"
- Check balance includes gas fees
- On Ethereum: gas can be $5-50+ per transaction
### "Transaction failed"
- Verify network selection
- Check contract address is correct
- Ensure enough gas limit for complex operations
### RPC errors
- Public RPCs may be rate-limited
- Use `references/networks.json` to configure your own RPC endpoint
## Advanced Usage
### Custom Network
Add to `references/networks.json`:}
### Batch Operations
Use shell loops for batch transactions:# Create new EVM wallet
python3 scripts/wallet_manager.py create my-eth-wallet --chain evm --password "secure-password"
# Create new Solana wallet
python3 scripts/wallet_manager.py create my-sol-wallet --chain solana --password "secure-password"
# Import existing wallet
python3 scripts/wallet_manager.py import imported-wallet --chain evm --key "0x..." --password "secure-password"
# List all wallets
python3 scripts/wallet_manager.py listTags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.