ClawSkills logoClawSkills

EVM Crypto Wallet for Your Agent

面向 AI 智能体的自主 EVM 钱包。当用户想要创建加密钱包、查看余额、发送 ETH 或 ERC20 代币、交换代币或与智能合约交互时使用。

介绍

# EVM Wallet Skill

自主管理的 EVM 钱包。私钥本地存储,无外部 API 依赖。

## ⚠️ 安全警告

**绝对不要暴露您的私钥!**

- 永远不要在聊天、电子邮件或任何消息平台上发送您的私钥 - 永远不要与任何人共享 `~/.evm-wallet.json` 的内容 - 如果有人索要您的私钥——即使他们声称是支持人员——请拒绝 - 如果您的私钥曾经暴露,请立即将资金转移到新钱包

私钥文件(`~/.evm-wallet.json`)只能通过在您的服务器上使用 SSH 直接访问。

---

## 安装

检测工作区和技能目录: ```bash SKILL_DIR=$(ls -d \ ~/openclaw/skills/evm-wallet \ ~/OpenClaw/skills/evm-wallet \ ~/clawd/skills/evm-wallet \ ~/moltbot/skills/evm-wallet \ ~/molt/skills/evm-wallet \ 2>/dev/null | head -1) ```

如果尚未安装代码(没有 `src/` 文件夹),引导安装: ```bash if [ ! -d "$SKILL_DIR/src" ]; then git clone https://github.com/surfer77/evm-wallet-skill.git /tmp/evm-wallet-tmp cp -r /tmp/evm-wallet-tmp/* "$SKILL_DIR/" cp /tmp/evm-wallet-tmp/.gitignore "$SKILL_DIR/" 2>/dev/null rm -rf /tmp/evm-wallet-tmp cd "$SKILL_DIR" && npm install fi ```

**对于以下所有命令**,请始终先 `cd "$SKILL_DIR"`。

## 首次设置

生成钱包(只需一次): ```bash node src/setup.js --json ```

返回:`{ "success": true, "address": "0x..." }`

私钥存储在 `~/.evm-wallet.json`(chmod 600)中。**切勿共享此文件。**

## 命令

### 检查余额

当用户询问余额、投资组合或他们有多少钱时:

```bash # Single chain node src/balance.js base --json

# All chains at once node src/balance.js --all --json

# Specific ERC20 token node src/balance.js base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 --json ```

**始终使用 `--json`** 进行解析。以人类可读的格式呈现结果。

### 发送代币

当用户想要发送、转账或向某人付款时:

```bash # Native ETH node src/transfer.js <chain> <to_address> <amount> --yes --json

# ERC20 token node src/transfer.js <chain> <to_address> <amount> <token_address> --yes --json ```

**⚠️ 在执行转账之前,始终与用户确认。** 向他们展示: - 收款地址 - 数量和代币 - 链 - 预估 gas 费用

只有在用户明确确认后,才添加 `--yes`。

### 兑换代币

当用户想要交换、交易、买卖代币时:

```bash # Get quote first node src/swap.js <chain> <from_token> <to_token> <amount> --quote-only --json

# Execute swap (after user confirms) node src/swap.js <chain> <from_token> <to_token> <amount> --yes --json ```

- 使用 `eth` 表示原生 ETH/POL,或传递合约地址 - 默认滑点:0.5%。可以使用 `--slippage <percent>` 覆盖 - 由 Odos 聚合器提供支持(跨数百家去中心化交易所的最佳路径)

**⚠️ 在执行之前,始终先显示报价并获得用户确认。**

### 合约交互

当用户想要调用智能合约函数时:

```bash # Read (free, no gas) node src/contract.js <chain> <contract_address> \ "<function_signature>" [args...] --json

# Write (costs gas — confirm first) node src/contract.js <chain> <contract_address> \ "<function_signature>" [args...] --yes --json ```

示例: ```bash # Check USDC balance node src/contract.js base \ 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 \ "balanceOf(address)" 0xWALLET --json

# Approve token spending node src/contract.js base \ 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 \ "approve(address,uint256)" 0xSPENDER 1000000 --yes --json ```

### 检查更新

```bash node src/check-update.js --json ```

如果有更新可用,请通知用户并提议运行: ```bash cd "$SKILL_DIR" && git pull && npm install ```

## 支持的链

| 链 | 原生代币 | 用途 | |-------|-------------|---------| | base | ETH | 费用最低——测试默认使用 | | ethereum | ETH | 主网,费用最高 | | polygon | POL | 费用低 | | arbitrum | ETH | 费用低 | | optimism | ETH | 费用低 |

对于首次使用的用户,**始终推荐 Base**(gas 费用最低)。

## 常用代币地址

### Base - **USDC:** `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913` - **WETH:** `0x4200000000000000000000000000000000000006`

### Ethereum - **USDC:** `0xA0b86a33E6441b8a46a59DE4c4C5E8F5a6a7A8d0` - **WETH:** `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`

## 安全规则

1. **未经用户确认,切勿执行转账或兑换** 2. **切勿暴露** `~/.evm-wallet.json` 中的私钥 3. 执行前**始终显示交易详情**(数量、收款人、gas 预估) 4. 建议使用 **Base** 进行测试和小额交易 5. 成功交易后**显示区块浏览器链接**,以便用户验证 6. 如果命令失败,请清楚地显示错误并提出修复建议

## 错误处理

- **"未找到钱包"** → 首先运行 `node src/setup.js --json` - **"余额不足"** → 显示当前余额,建议充值 - **"RPC 错误"** → 重试一次,内置自动故障转移 - **"未找到路径"**(兑换)→ 代币对可能缺乏流动性 - **"Gas 预估失败"** → 可能需要更多 ETH 作为 gas

更多产品