🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

one-wallet

by @viyozc

Helps the agent use the one-wallet CLI to manage Ethereum/EVM wallets, send transactions, call contracts, and sign data. Use when the user mentions one-walle...

Versionv1.0.0
Downloads564
TERMINAL
clawhub install one-wallet

πŸ“– About This Skill


name: one-wallet description: Helps the agent use the one-wallet CLI to manage Ethereum/EVM wallets, send transactions, call contracts, and sign data. Use when the user mentions one-wallet, wallet CLI operations, Ethereum/EVM scripting, or needs JSON-friendly terminal workflows involving one-wallet.

one-wallet CLI Skill

Overview

This skill teaches the agent how to use the one-wallet CLI to manage Ethereum/EVM wallets and perform on-chain actions from the terminal or scripts.

Core capabilities:

  • Manage multiple wallets (create, import, list, set default, remove).
  • Query balances for wallets and arbitrary addresses.
  • Send native ETH and call or send contract methods (including ERC20/NFT).
  • Sign messages and EIP-712 typed data, and verify signatures.
  • Configure RPC providers and chain presets.
  • Produce machine-readable JSON output suitable for scripts and AI tools.
  • Always assume Node.js β‰₯ 18 is available and one-wallet is installed globally, unless the repository indicates another setup.

    When to use this skill

    Use this skill when:

  • The user mentions one-wallet, wallet CLI, agent wallet, or this repository.
  • The user wants to create or import wallets, check balances, or send ETH/tokens from the terminal.
  • The user wants to call smart contracts, estimate gas, or inspect transaction status.
  • The user needs message or typed-data signing/verification from a CLI.
  • The user asks for JSON output for downstream automation or AI tools.
  • If the task is Ethereum/EVM related and can be done via CLI, prefer one-wallet over writing ad-hoc scripts.

    Installation

    Global install (recommended)

    Use one of:

    npm install -g one-wallet
    

    or

    yarn global add one-wallet

    or

    pnpm add -g one-wallet

    Verify:

    one-wallet --help
    

    From this repository

    When working inside this project:

    git clone https://github.com/viyozc/one-wallet.git
    cd one-wallet
    yarn install
    yarn build
    ./bin/run.js --help
    

    Prefer the global binary (one-wallet) when possible; use ./bin/run.js only when explicitly requested or when testing local changes.

    Quick start workflow

    1. Set provider (RPC) - Preset mainnet:

         one-wallet provider set mainnet
         
    - Custom RPC:
         one-wallet provider set https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY
         

    2. Create a wallet and set as default

       one-wallet wallet create my-agent --set-default
       

    3. Check balance and send ETH

       one-wallet wallet balance
       one-wallet wallet send 0xRecipientAddress 0.01
       

    Use --json on commands when the user wants machine-readable output for further processing.

    Wallet management

    Create or import wallets

  • Create a new wallet:
  •   one-wallet wallet create 
      
  • Create and set as default:
  •   one-wallet wallet create  --set-default
      
  • Create with password-protected storage:
  •   one-wallet wallet create  --password --set-default
      
  • Import from private key:
  •   one-wallet wallet import  --private-key 0xYourPrivateKey
      
  • Import with password:
  •   one-wallet wallet import  --private-key 0xYourPrivateKey --password --set-default
      

    List and select wallets

  • Human-readable list:
  •   one-wallet wallet list
      
  • JSON list:
  •   one-wallet wallet list --json
      
  • Show current default wallet:
  •   one-wallet wallet set default
      
  • Set default wallet:
  •   one-wallet wallet set default 
      

    Wallet storage path

    Show where wallets and config are stored:

    one-wallet wallet path
    

    Balances

  • Balance of default wallet:
  •   one-wallet wallet balance
      
  • Balance of a named wallet:
  •   one-wallet wallet balance 
      
  • Balance of any address:
  •   one-wallet wallet balance-of 0xAddress
      
  • Balance as JSON (for scripts/AI tools):
  •   one-wallet wallet balance-of 0xAddress --json
      

    Contract calls and sends

    Read-only contract calls

    Cast-style without ABI (single quotes to protect parentheses):

    one-wallet wallet call 0xToken 'decimals()(uint256)'
    one-wallet wallet call 0xToken 'balanceOf(address)(uint256)' 0xAccountAddress
    one-wallet wallet call 0xToken 'totalSupply()(uint256)' --json
    

    With preset ABI:

    one-wallet wallet call 0xToken balanceOf 0xAccountAddress --abi erc20
    one-wallet wallet call 0xNFTContract ownerOf 1 --abi nft
    one-wallet wallet call 0xContract getValue --abi-file ./abi.json
    

    Sending ETH and tokens

    Native ETH:

    one-wallet wallet send 0xRecipientAddress 0.1
    

    Skip confirmation for scripts:

    one-wallet wallet send 0xRecipientAddress 0.1 -y
    

    Estimate gas:

    one-wallet wallet estimate 0xRecipientAddress 0.1
    

    ERC20 transfer and approve:

    one-wallet wallet send 0xToken --method transfer --args 0xToAddress,1000000 --abi erc20 -y
    one-wallet wallet send 0xToken --method approve --args 0xSpenderAddress,1000000 --abi erc20 -y
    

    NFT transfer:

    one-wallet wallet send 0xNFT --method safeTransferFrom --args 0xFrom,0xTo,1 --abi nft -y
    

    JSON output (tx hash and receipt):

    one-wallet wallet send 0xRecipient 0.01 --wallet  --json
    

    Transaction status

    Inspect a transaction by hash:

    one-wallet wallet tx 0xTransactionHash
    one-wallet wallet tx 0xTransactionHash --json
    

    Signing and verification

    EIP-191 message signing

    Sign with default wallet:

    one-wallet wallet sign-message --message "Hello, agent"
    

    JSON output (message, signature, address):

    one-wallet wallet sign-message --message "Hello, agent" --json
    

    EIP-712 typed data

    From file:

    one-wallet wallet sign-typed-data --file ./typed-data.json
    

    From inline JSON:

    one-wallet wallet sign-typed-data --payload '{"types":{...},"primaryType":"Mail","domain":{...},"message":{...}}'
    

    Verify signature

    Recover signer:

    one-wallet wallet verify-signature "Hello, agent" 0xSignatureHex
    

    Verify against expected address:

    one-wallet wallet verify-signature "Hello, agent" 0xSignatureHex --expected 0xExpectedAddress
    

    Passwords, encryption, and sessions

    Password management

  • Encrypt existing wallet:
  •   one-wallet wallet set-password 
      
  • Remove encryption:
  •   one-wallet wallet remove-password 
      
  • Lock (clear session cache):
  •   one-wallet wallet lock
      

    Environment variables

    Key variables:

    | Variable | Description | |----------|-------------| | ONE_WALLET_HOME | Override config directory (default: ~/.one-wallet). | | ONE_WALLET_RPC_URL | Override RPC URL. | | ONE_WALLET_CHAIN_ID | Override chain ID (for custom RPC). | | ONE_WALLET_KEY_ | Private key for wallet ; bypasses stored key. | | ONE_WALLET_PASSWORD_ | Password for encrypted wallet ; avoids prompt. | | ONE_WALLET_SESSION_TTL | Session cache TTL in seconds (default: 300). |

    Use environment variables in CI or non-interactive scripts to avoid prompts and to keep secrets out of the repository.

    Provider configuration

    Inspect and set provider:

    one-wallet provider info
    one-wallet provider list
    one-wallet provider set mainnet
    one-wallet provider set https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY
    

    Prefer presets for common networks; use custom URLs when the user provides a specific RPC endpoint.

    Scripting and JSON mode

    When the user wants to integrate one-wallet with other tools or automation:

  • Always add --json when available to get structured output.
  • Capture stdout and parse as JSON in the surrounding script or tool.
  • Combine with password environment variables to avoid interactive prompts.
  • Examples:

    one-wallet wallet balance-of 0xAddress --json
    one-wallet wallet tx 0xTransactionHash --json
    one-wallet wallet list --json
    

    Safety and best practices

  • Never hard-code real private keys or passwords in source-controlled files.
  • Prefer ONE_WALLET_KEY_ and ONE_WALLET_PASSWORD_ environment variables for secrets.
  • Use --json for automation; omit it for quick human inspection.
  • Use -y only in scripts or when the user explicitly wants to skip confirmations.
  • When in doubt about the chain or RPC, call one-wallet provider info before sending transactions.
  • Reference

    For deeper details or updates, consult the project's README.md in this repository, which documents features, commands, and examples for one-wallet.