cryptowallet

Review·Scanned 2/18/2026

This skill provides multi-chain cryptocurrency wallet management: creating/importing wallets, encrypted local key storage, balance checks, transactions, and contract interactions. It stores encrypted keys in ~/.clawdbot/cryptowallet/, includes runnable commands like python3 scripts/token_sender.py ..., and uses external RPCs such as https://eth.llamarpc.com.

from clawhub.ai·vb66d149·35.6 KB·0 installs
Scanned from 1.0.0 at b66d149 · Transparency log ↗
$ vett add clawhub.ai/gnufoo/cryptowalletReview findings below

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

Full network details in 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

  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:

# 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

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:

{
  "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's artifacts/ 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

  1. Test on devnet/testnet first before mainnet transactions
  2. Use separate wallets for different purposes (trading, DeFi, cold storage)
  3. Backup wallet files and store passwords securely
  4. Verify addresses - blockchain transactions are irreversible
  5. Monitor gas prices - wait for lower congestion on Ethereum

See references/security.md for comprehensive security guidelines.