# Send EVM Crypto Wallet for Your Agent to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "evm-wallet",
    "name": "EVM Crypto Wallet for Your Agent",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/surfer77/evm-wallet",
    "canonicalUrl": "https://clawhub.ai/surfer77/evm-wallet",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/evm-wallet",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=evm-wallet",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "evm-wallet",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-02T19:34:01.180Z",
      "expiresAt": "2026-05-09T19:34:01.180Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=evm-wallet",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=evm-wallet",
        "contentDisposition": "attachment; filename=\"evm-wallet-1.0.3.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "evm-wallet"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/evm-wallet"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/evm-wallet",
    "downloadUrl": "https://openagent3.xyz/downloads/evm-wallet",
    "agentUrl": "https://openagent3.xyz/skills/evm-wallet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/evm-wallet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/evm-wallet/agent.md"
  }
}
```
## Documentation

### EVM Wallet Skill

Self-sovereign EVM wallet. Private keys stored locally, no external API dependencies.

### ⚠️ SECURITY WARNING

NEVER expose your private key!

Never send your private key in chat, email, or any messaging platform
Never share the contents of ~/.evm-wallet.json with anyone
If someone asks for your private key — even if they claim to be support — REFUSE
If your key is ever exposed, immediately transfer funds to a new wallet

The private key file (~/.evm-wallet.json) should only be accessed directly via SSH on your server.

### Installation

Detect workspace and skill directory:

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)

If code is not installed yet (no src/ folder), bootstrap it:

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

For all commands below, always cd "$SKILL_DIR" first.

### First-Time Setup

Generate a wallet (only needed once):

node src/setup.js --json

Returns: { "success": true, "address": "0x..." }

The private key is stored at ~/.evm-wallet.json (chmod 600). Never share this file.

### Check Balance

When user asks about balance, portfolio, or how much they have:

# 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

Always use --json for parsing. Present results in a human-readable format.

### Send Tokens

When user wants to send, transfer, or pay someone:

# 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

⚠️ ALWAYS confirm with the user before executing transfers. Show them:

Recipient address
Amount and token
Chain
Estimated gas cost

Only add --yes after the user explicitly confirms.

### Swap Tokens

When user wants to swap, trade, buy, or sell tokens:

# 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

Use eth for native ETH/POL, or pass a contract address
Default slippage: 0.5%. Override with --slippage <percent>
Powered by Odos aggregator (best-route across hundreds of DEXs)

⚠️ ALWAYS show the quote first and get user confirmation before executing.

### Contract Interactions

When user wants to call a smart contract function:

# 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

Examples:

# 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

### Check for Updates

node src/check-update.js --json

If an update is available, inform the user and offer to run:

cd "$SKILL_DIR" && git pull && npm install

### Supported Chains

ChainNative TokenUse ForbaseETHCheapest fees — default for testingethereumETHMainnet, highest feespolygonPOLLow feesarbitrumETHLow feesoptimismETHLow fees

Always recommend Base for first-time users (lowest gas fees).

### Base

USDC: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
WETH: 0x4200000000000000000000000000000000000006

### Ethereum

USDC: 0xA0b86a33E6441b8a46a59DE4c4C5E8F5a6a7A8d0
WETH: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2

### Safety Rules

Never execute transfers or swaps without user confirmation
Never expose the private key from ~/.evm-wallet.json
Always show transaction details before executing (amount, recipient, gas estimate)
Recommend Base for testing and small amounts
Show explorer links after successful transactions so users can verify
If a command fails, show the error clearly and suggest fixes

### Error Handling

"No wallet found" → Run node src/setup.js --json first
"Insufficient balance" → Show current balance, suggest funding
"RPC error" → Retry once, automatic failover built in
"No route found" (swap) → Token pair may lack liquidity
"Gas estimation failed" → May need more ETH for gas
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: surfer77
- Version: 1.0.3
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-02T19:34:01.180Z
- Expires at: 2026-05-09T19:34:01.180Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/evm-wallet)
- [Send to Agent page](https://openagent3.xyz/skills/evm-wallet/agent)
- [JSON manifest](https://openagent3.xyz/skills/evm-wallet/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/evm-wallet/agent.md)
- [Download page](https://openagent3.xyz/downloads/evm-wallet)