Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

one-wallet

v1.0.0

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...

0· 191·0 current·0 all-time
byJerry@viyozc

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for viyozc/one-wallet.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "one-wallet" (viyozc/one-wallet) from ClawHub.
Skill page: https://clawhub.ai/viyozc/one-wallet
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install one-wallet

ClawHub CLI

Package manager switcher

npx clawhub@latest install one-wallet
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name and description match the SKILL.md content: the file is a focused how-to for the one-wallet CLI (wallet management, sending txs, signing). It requires no unusual binaries, env vars, or config paths beyond the expected assumption that one-wallet (or Node.js for building) is available. The absence of required env vars or install specs is consistent with an instruction-only skill.
Instruction Scope
Instructions stay within the wallet/CLI domain (creating/importing wallets, sending transactions, signing). However, many examples show workflows that require sensitive secrets (private keys, mnemonics, or RPC provider API keys) and commands that expose wallet storage locations (one-wallet wallet path). The instructions do not direct the agent to read unrelated system files or exfiltrate data, but they do encourage actions that, if performed carelessly, could expose secrets (e.g., inline private keys or plaintext provider URLs).
Install Mechanism
There is no platform install spec (lowest-risk). The SKILL.md includes normal install guidance (npm/yarn/pnpm global install) and an optional git clone of a GitHub repo. That is proportionate, but users should verify the npm package and the GitHub repo before installing or running ./bin/run.js from a cloned repo.
Credentials
The skill declares no required environment variables or credentials, which is reasonable for an instruction-only helper. Practically, many operations described require user-supplied secrets (private keys, mnemonics, or RPC API keys). The SKILL.md does not request unrelated credentials; the sensitive items are appropriate to the wallet management purpose but need careful handling by the user.
Persistence & Privilege
The skill is not always-enabled and is user-invocable; it does not request persistent system privileges or modify other skills' configuration. No elevated persistence or automatic installation is present.
Assessment
This skill is a straightforward CLI recipe for the one-wallet tool and appears internally consistent, but it involves handling sensitive secrets. Before using: (1) Verify the one-wallet binary/package and repository (confirm the npm package owner and GitHub repo contents) rather than blindly running git clone or npm install. (2) Never paste private keys, mnemonics, or API keys into chat; prefer using secure local storage, hardware wallets, or environment variables protected from logs. (3) Avoid running ./bin/run.js from an unreviewed clone. (4) When scripting, avoid embedding secrets on the command line (use protected env vars or prompting). (5) If you only need read-only queries, run operations that do not require wallet keys. If you want further help, provide the exact risk model (local machine vs. CI vs. remote host) and I can give concrete safe usage patterns.

Like a lobster shell, security has layers — review code before you run it.

latestvk972vv818aq1wf8kaxw1x7s949833ea6
191downloads
0stars
1versions
Updated 22h ago
v1.0.0
MIT-0

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 <name>
    
  • Create and set as default:
    one-wallet wallet create <name> --set-default
    
  • Create with password-protected storage:
    one-wallet wallet create <name> --password --set-default
    
  • Import from private key:
    one-wallet wallet import <name> --private-key 0xYourPrivateKey
    
  • Import with password:
    one-wallet wallet import <name> --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 <name>
    

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 <name>
    
  • 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 <name> --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 <name>
    
  • Remove encryption:
    one-wallet wallet remove-password <name>
    
  • Lock (clear session cache):
    one-wallet wallet lock
    

Environment variables

Key variables:

VariableDescription
ONE_WALLET_HOMEOverride config directory (default: ~/.one-wallet).
ONE_WALLET_RPC_URLOverride RPC URL.
ONE_WALLET_CHAIN_IDOverride chain ID (for custom RPC).
ONE_WALLET_KEY_<NAME>Private key for wallet <NAME>; bypasses stored key.
ONE_WALLET_PASSWORD_<NAME>Password for encrypted wallet <NAME>; avoids prompt.
ONE_WALLET_SESSION_TTLSession 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_<NAME> and ONE_WALLET_PASSWORD_<NAME> 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.

Comments

Loading comments...