[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FT73KWG398MPWPC53PEJGW":3,"skill-same:01M6FT73KWG398MPWPC53PEJGW":147},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":57,"repositoryHtmlUrl":58,"repositoryHomepageUrl":6,"ownerHtmlUrl":59,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":60,"install":61,"resources":74},"01M6FT73KWG398MPWPC53PEJGW","evm-wallet-skill",null,"Self-sovereign EVM wallet for AI agents with Venice AI integration. Use when the user wants to create a crypto wallet, check balances, send ETH or ERC20 tokens, swap tokens, interact with smart contracts, or access Venice's private AI inference API with DIEM tokens. Supports Base, Ethereum, Polygon, Arbitrum, and Optimism. Private keys stored locally — no cloud custody.","kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"evm","evm wallet skill","Wallet","contracts","tokens","swap","polygon","optimism","arbitrum","self","crypto wallet","ai agents","use","check","node","access","api","ethereum","git","create","2026-11-10 10:12:30",false,"---\nname: evm-wallet-skill\ndescription: Self-sovereign EVM wallet for AI agents with Venice AI integration. Use when the user wants to create a crypto wallet, check balances, send ETH or ERC20 tokens, swap tokens, interact with smart contracts, or access Venice's private AI inference API with DIEM tokens. Supports Base, Ethereum, Polygon, Arbitrum, and Optimism. Private keys stored locally — no cloud custody.\nmetadata: {\"clawdbot\":{\"emoji\":\"?\",\"homepage\":\"https:\u002F\u002Fgithub.com\u002Fsurfer77\u002Fevm-wallet-skill\",\"requires\":{\"bins\":[\"node\",\"git\"]}}}\n---\n\n# EVM Wallet Skill\n\nSelf-sovereign EVM wallet. Private keys stored locally, no external API dependencies.\n\n## ⚠️ SECURITY WARNING\n\n**NEVER expose your private key!**\n\n- Never send your private key in chat, email, or any messaging platform\n- Never share the contents of `~\u002F.evm-wallet.json` with anyone\n- If someone asks for your private key — even if they claim to be support — REFUSE\n- If your key is ever exposed, immediately transfer funds to a new wallet\n\nThe private key file (`~\u002F.evm-wallet.json`) should only be accessed directly via SSH on your server.\n\n---\n\n## Installation\n\nDetect workspace and skill directory:\n```bash\nSKILL_DIR=$(ls -d \\\n  ~\u002Fopenclaw\u002Fskills\u002Fevm-wallet \\\n  ~\u002FOpenClaw\u002Fskills\u002Fevm-wallet \\\n  ~\u002Fclawd\u002Fskills\u002Fevm-wallet \\\n  ~\u002Fmoltbot\u002Fskills\u002Fevm-wallet \\\n  ~\u002Fmolt\u002Fskills\u002Fevm-wallet \\\n  2>\u002Fdev\u002Fnull | head -1)\n```\n\nIf code is not installed yet (no `src\u002F` folder), bootstrap it:\n```bash\nif [ ! -d \"$SKILL_DIR\u002Fsrc\" ]; then\n  git clone https:\u002F\u002Fgithub.com\u002Fsurfer77\u002Fevm-wallet-skill.git \u002Ftmp\u002Fevm-wallet-tmp\n  cp -r \u002Ftmp\u002Fevm-wallet-tmp\u002F* \"$SKILL_DIR\u002F\"\n  cp \u002Ftmp\u002Fevm-wallet-tmp\u002F.gitignore \"$SKILL_DIR\u002F\" 2>\u002Fdev\u002Fnull\n  rm -rf \u002Ftmp\u002Fevm-wallet-tmp\n  cd \"$SKILL_DIR\" && npm install\nfi\n```\n\n**For all commands below**, always `cd \"$SKILL_DIR\"` first.\n\n## First-Time Setup\n\nGenerate a wallet (only needed once):\n```bash\nnode src\u002Fsetup.js --json\n```\n\nReturns: `{ \"success\": true, \"address\": \"0x...\" }`\n\nThe private key is stored at `~\u002F.evm-wallet.json` (chmod 600). **Never share this file.**\n\n## Commands\n\n### Check Balance\n\nWhen user asks about balance, portfolio, or how much they have:\n\n```bash\n# Single chain\nnode src\u002Fbalance.js base --json\n\n# All chains at once\nnode src\u002Fbalance.js --all --json\n\n# Specific ERC20 token\nnode src\u002Fbalance.js base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 --json\n```\n\n**Always use `--json`** for parsing. Present results in a human-readable format.\n\n### Send Tokens\n\nWhen user wants to send, transfer, or pay someone:\n\n```bash\n# Native ETH\nnode src\u002Ftransfer.js \u003Cchain> \u003Cto_address> \u003Camount> --yes --json\n\n# ERC20 token\nnode src\u002Ftransfer.js \u003Cchain> \u003Cto_address> \u003Camount> \u003Ctoken_address> --yes --json\n```\n\n**⚠️ ALWAYS confirm with the user before executing transfers.** Show them:\n- Recipient address\n- Amount and token\n- Chain\n- Estimated gas cost\n\nOnly add `--yes` after the user explicitly confirms.\n\n### Swap Tokens\n\nWhen user wants to swap, trade, buy, or sell tokens:\n\n```bash\n# Get quote first\nnode src\u002Fswap.js \u003Cchain> \u003Cfrom_token> \u003Cto_token> \u003Camount> --quote-only --json\n\n# Execute swap (after user confirms)\nnode src\u002Fswap.js \u003Cchain> \u003Cfrom_token> \u003Cto_token> \u003Camount> --yes --json\n```\n\n- Use `eth` for native ETH\u002FPOL, or pass a contract address\n- Default slippage: 0.5%. Override with `--slippage \u003Cpercent>`\n- Powered by Odos aggregator (best-route across hundreds of DEXs)\n\n**⚠️ ALWAYS show the quote first and get user confirmation before executing.**\n\n### Contract Interactions\n\nWhen user wants to call a smart contract function:\n\n```bash\n# Read (free, no gas)\nnode src\u002Fcontract.js \u003Cchain> \u003Ccontract_address> \\\n  \"\u003Cfunction_signature>\" [args...] --json\n\n# Write (costs gas — confirm first)\nnode src\u002Fcontract.js \u003Cchain> \u003Ccontract_address> \\\n  \"\u003Cfunction_signature>\" [args...] --yes --json\n```\n\nExamples:\n```bash\n# Check USDC balance\nnode src\u002Fcontract.js base \\\n  0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 \\\n  \"balanceOf(address)\" 0xWALLET --json\n\n# Approve token spending\nnode src\u002Fcontract.js base \\\n  0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 \\\n  \"approve(address,uint256)\" 0xSPENDER 1000000 --yes --json\n```\n\n### Check for Updates\n\n```bash\nnode src\u002Fcheck-update.js --json\n```\n\nIf an update is available, inform the user and offer to run:\n```bash\ncd \"$SKILL_DIR\" && git pull && npm install\n```\n\n## Supported Chains\n\n| Chain | Native Token | Use For |\n|-------|-------------|---------|\n| base | ETH | Cheapest fees — default for testing |\n| ethereum | ETH | Mainnet, highest fees |\n| polygon | POL | Low fees |\n| arbitrum | ETH | Low fees |\n| optimism | ETH | Low fees |\n\n**Always recommend Base** for first-time users (lowest gas fees).\n\n## Common Token Addresses\n\n### Base\n- **USDC:** `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`\n- **WETH:** `0x4200000000000000000000000000000000000006`\n\n### Ethereum\n- **USDC:** `0xA0b86a33E6441b8a46a59DE4c4C5E8F5a6a7A8d0`\n- **WETH:** `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`\n\n## Safety Rules\n\n1. **Never execute transfers or swaps without user confirmation**\n2. **Never expose the private key** from `~\u002F.evm-wallet.json`\n3. **Always show transaction details** before executing (amount, recipient, gas estimate)\n4. **Recommend Base** for testing and small amounts\n5. **Show explorer links** after successful transactions so users can verify\n6. If a command fails, show the error clearly and suggest fixes\n\n## Error Handling\n\n- **\"No wallet found\"** → Run `node src\u002Fsetup.js --json` first\n- **\"Insufficient balance\"** → Show current balance, suggest funding\n- **\"RPC error\"** → Retry once, automatic failover built in\n- **\"No route found\"** (swap) → Token pair may lack liquidity\n- **\"Gas estimation failed\"** → May need more ETH for gas\n\n---\n\n## Venice AI Integration\n\nAccess Venice's private, uncensored AI inference API. Pay with DIEM tokens on Base for crypto-native AI access.\n\n### What is Venice?\n\n[Venice](https:\u002F\u002Fvenice.ai) provides private AI inference — your prompts are never logged or used for training. Models include uncensored text generation, image generation, and more.\n\n### What is DIEM?\n\nDIEM is Venice's compute token on Base. **1 staked DIEM = $1\u002Fday of AI inference.**\n\n- **DIEM Token (Base):** `0xf4d97f2da56e8c3098f3a8d538db630a2606a024`\n- Get DIEM by staking VVV at [venice.ai\u002Fstaking](https:\u002F\u002Fvenice.ai\u002Fstaking)\n- Staked DIEM automatically enables API access — no credit card needed\n\n### Setup Venice API\n\n1. Get an API key at [venice.ai\u002Fsettings\u002Fapi](https:\u002F\u002Fvenice.ai\u002Fsettings\u002Fapi)\n2. Save it:\n\n```bash\nnode src\u002Fvenice.js setup \u003Cyour_api_key> --json\n```\n\nReturns: `{ \"success\": true, \"configPath\": \"~\u002F.venice-api.json\" }`\n\n### Check DIEM Balance & Allocation\n\n```bash\n# Check Venice account balance (DIEM allocation, usage)\nnode src\u002Fvenice.js balance --json\n\n# Check on-chain DIEM token balance\nnode src\u002Fbalance.js base 0xf4d97f2da56e8c3098f3a8d538db630a2606a024 --json\n```\n\n### List Available Models\n\n```bash\n# Text models\nnode src\u002Fvenice.js models text --json\n\n# Image models\nnode src\u002Fvenice.js models image --json\n```\n\n### Chat Completion (Text Generation)\n\n```bash\nnode src\u002Fvenice.js chat \"Explain quantum computing\" --model llama-3.3-70b --json\n```\n\nRecommended models:\n- **Private (your data never leaves Venice):** `zai-org-glm-4.7` (default), `deepseek-v3.2`, `llama-3.3-70b`, `venice-uncensored`\n- **Anonymized (routed through partners):** `claude-opus-45`, `gpt-5.2`, `grok-41-fast`\n\n### Image Generation\n\n```bash\nnode src\u002Fvenice.js generate \"A cyberpunk cat in neon Tokyo\" --model flux-2-pro --json\n```\n\n### Paying with Crypto (DIEM Flow)\n\nTwo ways to get DIEM for Venice AI access:\n\n---\n\n#### Option A: Buy DIEM Directly (Simplest)\n\n```bash\n# Swap ETH → DIEM directly\nnode src\u002Fswap.js base eth 0xf4d97f2da56e8c3098f3a8d538db630a2606a024 0.1 --quote-only --json\n\n# Execute swap (after user confirms)\nnode src\u002Fswap.js base eth 0xf4d97f2da56e8c3098f3a8d538db630a2606a024 0.1 --yes --json\n\n# Stake DIEM for API access\nnode src\u002Fcontract.js base \\\n  0xf4d97f2da56e8c3098f3a8d538db630a2606a024 \\\n  \"stake(uint256)\" \\\n  1000000000000000000 --yes --json\n```\n\nThen skip to **Step 4: Use Venice API** below.\n\n---\n\n#### Option B: Stake VVV for DIEM (Governance Route)\n\nStaked VVV lets you mint DIEM (vs buying it). VVV stakers also earn VVV emissions.\n\n#### Step 1: Get VVV tokens on Base\n\n```bash\n# Check ETH balance\nnode src\u002Fbalance.js base --json\n\n# Swap ETH → VVV (get quote first)\nnode src\u002Fswap.js base eth 0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf 0.1 --quote-only --json\n\n# Execute swap (after user confirms)\nnode src\u002Fswap.js base eth 0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf 0.1 --yes --json\n```\n\n#### Step 2: Stake VVV to get DIEM\n\n```bash\n# Check VVV balance\nnode src\u002Fbalance.js base 0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf --json\n\n# Approve VVV for staking contract\nnode src\u002Fcontract.js base \\\n  0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf \\\n  \"approve(address,uint256)\" \\\n  0x321b7ff75154472B18EDb199033fF4D116F340Ff \\\n  1000000000000000000 --yes --json\n\n# Stake VVV (receives DIEM in return)\nnode src\u002Fcontract.js base \\\n  0x321b7ff75154472B18EDb199033fF4D116F340Ff \\\n  \"stake(uint256)\" \\\n  1000000000000000000 --yes --json\n```\n\n#### Step 3: Stake DIEM for API access\n\n```bash\n# Check DIEM balance\nnode src\u002Fbalance.js base 0xf4d97f2da56e8c3098f3a8d538db630a2606a024 --json\n\n# Stake DIEM (enables API access)\nnode src\u002Fcontract.js base \\\n  0xf4d97f2da56e8c3098f3a8d538db630a2606a024 \\\n  \"stake(uint256)\" \\\n  1000000000000000000 --yes --json\n```\n\n#### Step 4: Use Venice API\n\n```bash\n# Setup API key (get at venice.ai\u002Fsettings\u002Fapi)\nnode src\u002Fvenice.js setup \u003Capi_key> --json\n\n# Check allocation\nnode src\u002Fvenice.js balance --json\n\n# Start using AI!\nnode src\u002Fvenice.js chat \"Hello world\" --json\n```\n\n#### Check Staking Status\n\n```bash\n# Check staked DIEM (returns: amountStaked, coolDownEnd, coolDownAmount)\nnode src\u002Fcontract.js base \\\n  0xf4d97f2da56e8c3098f3a8d538db630a2606a024 \\\n  \"stakedInfos(address)\" 0xYOUR_WALLET --json\n\n# Check Venice API allocation\nnode src\u002Fvenice.js balance --json\n```\n\n#### Unstaking DIEM\n\n```bash\n# Initiate unstake (starts 1-day cooldown)\nnode src\u002Fcontract.js base \\\n  0xf4d97f2da56e8c3098f3a8d538db630a2606a024 \\\n  \"initiateUnstake(uint256)\" \u003Camount> --yes --json\n\n# Complete unstake (after cooldown)\nnode src\u002Fcontract.js base \\\n  0xf4d97f2da56e8c3098f3a8d538db630a2606a024 \\\n  \"unstake()\" --yes --json\n```\n\n### Venice Contracts & Tokens (Base)\n\n| Name | Address | Description |\n|------|---------|-------------|\n| VVV | `0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf` | Governance token (stake to get DIEM) |\n| DIEM | `0xf4d97f2da56e8c3098f3a8d538db630a2606a024` | Compute token (stake for API access) |\n| VVV Staking | `0x321b7ff75154472B18EDb199033fF4D116F340Ff` | Stake VVV → receive DIEM |\n\n### Why Venice + Crypto?\n\n- **Privacy**: Your prompts are private, never logged\n- **Uncensored**: Access models without content restrictions\n- **Permissionless**: Pay with crypto, no KYC required\n- **Self-sovereign**: Your wallet + your AI — no platform lock-in\n","# EVM Wallet Skill\n\nSelf-sovereign EVM wallet. Private keys stored locally, no external API dependencies.\n\n## ⚠️ SECURITY WARNING\n\n**NEVER expose your private key!**\n\n- Never send your private key in chat, email, or any messaging platform\n- Never share the contents of `~\u002F.evm-wallet.json` with anyone\n- If someone asks for your private key — even if they claim to be support — REFUSE\n- If your key is ever exposed, immediately transfer funds to a new wallet\n\nThe private key file (`~\u002F.evm-wallet.json`) should only be accessed directly via SSH on your server.\n\n---\n\n## Installation\n\nDetect workspace and skill directory:\n```bash\nSKILL_DIR=$(ls -d \\\n  ~\u002Fopenclaw\u002Fskills\u002Fevm-wallet \\\n  ~\u002FOpenClaw\u002Fskills\u002Fevm-wallet \\\n  ~\u002Fclawd\u002Fskills\u002Fevm-wallet \\\n  ~\u002Fmoltbot\u002Fskills\u002Fevm-wallet \\\n  ~\u002Fmolt\u002Fskills\u002Fevm-wallet \\\n  2>\u002Fdev\u002Fnull | head -1)\n```\n\nIf code is not installed yet (no `src\u002F` folder), bootstrap it:\n```bash\nif [ ! -d \"$SKILL_DIR\u002Fsrc\" ]; then\n  git clone https:\u002F\u002Fgithub.com\u002Fsurfer77\u002Fevm-wallet-skill.git \u002Ftmp\u002Fevm-wallet-tmp\n  cp -r \u002Ftmp\u002Fevm-wallet-tmp\u002F* \"$SKILL_DIR\u002F\"\n  cp \u002Ftmp\u002Fevm-wallet-tmp\u002F.gitignore \"$SKILL_DIR\u002F\" 2>\u002Fdev\u002Fnull\n  rm -rf \u002Ftmp\u002Fevm-wallet-tmp\n  cd \"$SKILL_DIR\" && npm install\nfi\n```\n\n**For all commands below**, always `cd \"$SKILL_DIR\"` first.\n\n## First-Time Setup\n\nGenerate a wallet (only needed once):\n```bash\nnode src\u002Fsetup.js --json\n```\n\nReturns: `{ \"success\": true, \"address\": \"0x...\" }`\n\nThe private key is stored at `~\u002F.evm-wallet.json` (chmod 600). **Never share this file.**\n\n## Commands\n\n### Check Balance\n\nWhen user asks about balance, portfolio, or how much they have:\n\n```bash\n# Single chain\nnode src\u002Fbalance.js base --json\n\n# All chains at once\nnode src\u002Fbalance.js --all --json\n\n# Specific ERC20 token\nnode src\u002Fbalance.js base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 --json\n```\n\n**Always use `--json`** for parsing. Present results in a human-readable format.\n\n### Send Tokens\n\nWhen user wants to send, transfer, or pay someone:\n\n```bash\n# Native ETH\nnode src\u002Ftransfer.js \u003Cchain> \u003Cto_address> \u003Camount> --yes --json\n\n# ERC20 token\nnode src\u002Ftransfer.js \u003Cchain> \u003Cto_address> \u003Camount> \u003Ctoken_address> --yes --json\n```\n\n**⚠️ ALWAYS confirm with the user before executing transfers.** Show them:\n- Recipient address\n- Amount and token\n- Chain\n- Estimated gas cost\n\nOnly add `--yes` after the user explicitly confirms.\n\n### Swap Tokens\n\nWhen user wants to swap, trade, buy, or sell tokens:\n\n```bash\n# Get quote first\nnode src\u002Fswap.js \u003Cchain> \u003Cfrom_token> \u003Cto_token> \u003Camount> --quote-only --json\n\n# Execute swap (after user confirms)\nnode src\u002Fswap.js \u003Cchain> \u003Cfrom_token> \u003Cto_token> \u003Camount> --yes --json\n```\n\n- Use `eth` for native ETH\u002FPOL, or pass a contract address\n- Default slippage: 0.5%. Override with `--slippage \u003Cpercent>`\n- Powered by Odos aggregator (best-route across hundreds of DEXs)\n\n**⚠️ ALWAYS show the quote first and get user confirmation before executing.**\n\n### Contract Interactions\n\nWhen user wants to call a smart contract function:\n\n```bash\n# Read (free, no gas)\nnode src\u002Fcontract.js \u003Cchain> \u003Ccontract_address> \\\n  \"\u003Cfunction_signature>\" [args...] --json\n\n# Write (costs gas — confirm first)\nnode src\u002Fcontract.js \u003Cchain> \u003Ccontract_address> \\\n  \"\u003Cfunction_signature>\" [args...] --yes --json\n```\n\nExamples:\n```bash\n# Check USDC balance\nnode src\u002Fcontract.js base \\\n  0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 \\\n  \"balanceOf(address)\" 0xWALLET --json\n\n# Approve token spending\nnode src\u002Fcontract.js base \\\n  0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 \\\n  \"approve(address,uint256)\" 0xSPENDER 1000000 --yes --json\n```\n\n### Check for Updates\n\n```bash\nnode src\u002Fcheck-update.js --json\n```\n\nIf an update is available, inform the user and offer to run:\n```bash\ncd \"$SKILL_DIR\" && git pull && npm install\n```\n\n## Supported Chains\n\n| Chain | Native Token | Use For |\n|-------|-------------|---------|\n| base | ETH | Cheapest fees — default for testing |\n| ethereum | ETH | Mainnet, highest fees |\n| polygon | POL | Low fees |\n| arbitrum | ETH | Low fees |\n| optimism | ETH | Low fees |\n\n**Always recommend Base** for first-time users (lowest gas fees).\n\n## Common Token Addresses\n\n### Base\n- **USDC:** `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`\n- **WETH:** `0x4200000000000000000000000000000000000006`\n\n### Ethereum\n- **USDC:** `0xA0b86a33E6441b8a46a59DE4c4C5E8F5a6a7A8d0`\n- **WETH:** `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`\n\n## Safety Rules\n\n1. **Never execute transfers or swaps without user confirmation**\n2. **Never expose the private key** from `~\u002F.evm-wallet.json`\n3. **Always show transaction details** before executing (amount, recipient, gas estimate)\n4. **Recommend Base** for testing and small amounts\n5. **Show explorer links** after successful transactions so users can verify\n6. If a command fails, show the error clearly and suggest fixes\n\n## Error Handling\n\n- **\"No wallet found\"** → Run `node src\u002Fsetup.js --json` first\n- **\"Insufficient balance\"** → Show current balance, suggest funding\n- **\"RPC error\"** → Retry once, automatic failover built in\n- **\"No route found\"** (swap) → Token pair may lack liquidity\n- **\"Gas estimation failed\"** → May need more ETH for gas\n\n---\n\n## Venice AI Integration\n\nAccess Venice's private, uncensored AI inference API. Pay with DIEM tokens on Base for crypto-native AI access.\n\n### What is Venice?\n\n[Venice](https:\u002F\u002Fvenice.ai) provides private AI inference — your prompts are never logged or used for training. Models include uncensored text generation, image generation, and more.\n\n### What is DIEM?\n\nDIEM is Venice's compute token on Base. **1 staked DIEM = $1\u002Fday of AI inference.**\n\n- **DIEM Token (Base):** `0xf4d97f2da56e8c3098f3a8d538db630a2606a024`\n- Get DIEM by staking VVV at [venice.ai\u002Fstaking](https:\u002F\u002Fvenice.ai\u002Fstaking)\n- Staked DIEM automatically enables API access — no credit card needed\n\n### Setup Venice API\n\n1. Get an API key at [venice.ai\u002Fsettings\u002Fapi](https:\u002F\u002Fvenice.ai\u002Fsettings\u002Fapi)\n2. Save it:\n\n```bash\nnode src\u002Fvenice.js setup \u003Cyour_api_key> --json\n```\n\nReturns: `{ \"success\": true, \"configPath\": \"~\u002F.venice-api.json\" }`\n\n### Check DIEM Balance & Allocation\n\n```bash\n# Check Venice account balance (DIEM allocation, usage)\nnode src\u002Fvenice.js balance --json\n\n# Check on-chain DIEM token balance\nnode src\u002Fbalance.js base 0xf4d97f2da56e8c3098f3a8d538db630a2606a024 --json\n```\n\n### List Available Models\n\n```bash\n# Text models\nnode src\u002Fvenice.js models text --json\n\n# Image models\nnode src\u002Fvenice.js models image --json\n```\n\n### Chat Completion (Text Generation)\n\n```bash\nnode src\u002Fvenice.js chat \"Explain quantum computing\" --model llama-3.3-70b --json\n```\n\nRecommended models:\n- **Private (your data never leaves Venice):** `zai-org-glm-4.7` (default), `deepseek-v3.2`, `llama-3.3-70b`, `venice-uncensored`\n- **Anonymized (routed through partners):** `claude-opus-45`, `gpt-5.2`, `grok-41-fast`\n\n### Image Generation\n\n```bash\nnode src\u002Fvenice.js generate \"A cyberpunk cat in neon Tokyo\" --model flux-2-pro --json\n```\n\n### Paying with Crypto (DIEM Flow)\n\nTwo ways to get DIEM for Venice AI access:\n\n---\n\n#### Option A: Buy DIEM Directly (Simplest)\n\n```bash\n# Swap ETH → DIEM directly\nnode src\u002Fswap.js base eth 0xf4d97f2da56e8c3098f3a8d538db630a2606a024 0.1 --quote-only --json\n\n# Execute swap (after user confirms)\nnode src\u002Fswap.js base eth 0xf4d97f2da56e8c3098f3a8d538db630a2606a024 0.1 --yes --json\n\n# Stake DIEM for API access\nnode src\u002Fcontract.js base \\\n  0xf4d97f2da56e8c3098f3a8d538db630a2606a024 \\\n  \"stake(uint256)\" \\\n  1000000000000000000 --yes --json\n```\n\nThen skip to **Step 4: Use Venice API** below.\n\n---\n\n#### Option B: Stake VVV for DIEM (Governance Route)\n\nStaked VVV lets you mint DIEM (vs buying it). VVV stakers also earn VVV emissions.\n\n#### Step 1: Get VVV tokens on Base\n\n```bash\n# Check ETH balance\nnode src\u002Fbalance.js base --json\n\n# Swap ETH → VVV (get quote first)\nnode src\u002Fswap.js base eth 0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf 0.1 --quote-only --json\n\n# Execute swap (after user confirms)\nnode src\u002Fswap.js base eth 0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf 0.1 --yes --json\n```\n\n#### Step 2: Stake VVV to get DIEM\n\n```bash\n# Check VVV balance\nnode src\u002Fbalance.js base 0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf --json\n\n# Approve VVV for staking contract\nnode src\u002Fcontract.js base \\\n  0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf \\\n  \"approve(address,uint256)\" \\\n  0x321b7ff75154472B18EDb199033fF4D116F340Ff \\\n  1000000000000000000 --yes --json\n\n# Stake VVV (receives DIEM in return)\nnode src\u002Fcontract.js base \\\n  0x321b7ff75154472B18EDb199033fF4D116F340Ff \\\n  \"stake(uint256)\" \\\n  1000000000000000000 --yes --json\n```\n\n#### Step 3: Stake DIEM for API access\n\n```bash\n# Check DIEM balance\nnode src\u002Fbalance.js base 0xf4d97f2da56e8c3098f3a8d538db630a2606a024 --json\n\n# Stake DIEM (enables API access)\nnode src\u002Fcontract.js base \\\n  0xf4d97f2da56e8c3098f3a8d538db630a2606a024 \\\n  \"stake(uint256)\" \\\n  1000000000000000000 --yes --json\n```\n\n#### Step 4: Use Venice API\n\n```bash\n# Setup API key (get at venice.ai\u002Fsettings\u002Fapi)\nnode src\u002Fvenice.js setup \u003Capi_key> --json\n\n# Check allocation\nnode src\u002Fvenice.js balance --json\n\n# Start using AI!\nnode src\u002Fvenice.js chat \"Hello world\" --json\n```\n\n#### Check Staking Status\n\n```bash\n# Check staked DIEM (returns: amountStaked, coolDownEnd, coolDownAmount)\nnode src\u002Fcontract.js base \\\n  0xf4d97f2da56e8c3098f3a8d538db630a2606a024 \\\n  \"stakedInfos(address)\" 0xYOUR_WALLET --json\n\n# Check Venice API allocation\nnode src\u002Fvenice.js balance --json\n```\n\n#### Unstaking DIEM\n\n```bash\n# Initiate unstake (starts 1-day cooldown)\nnode src\u002Fcontract.js base \\\n  0xf4d97f2da56e8c3098f3a8d538db630a2606a024 \\\n  \"initiateUnstake(uint256)\" \u003Camount> --yes --json\n\n# Complete unstake (after cooldown)\nnode src\u002Fcontract.js base \\\n  0xf4d97f2da56e8c3098f3a8d538db630a2606a024 \\\n  \"unstake()\" --yes --json\n```\n\n### Venice Contracts & Tokens (Base)\n\n| Name | Address | Description |\n|------|---------|-------------|\n| VVV | `0xacfE6019Ed1A7Dc6f7B508C02d1b04ec88cC21bf` | Governance token (stake to get DIEM) |\n| DIEM | `0xf4d97f2da56e8c3098f3a8d538db630a2606a024` | Compute token (stake for API access) |\n| VVV Staking | `0x321b7ff75154472B18EDb199033fF4D116F340Ff` | Stake VVV → receive DIEM |\n\n### Why Venice + Crypto?\n\n- **Privacy**: Your prompts are private, never logged\n- **Uncensored**: Access models without content restrictions\n- **Permissionless**: Pay with crypto, no KYC required\n- **Self-sovereign**: Your wallet + your AI — no platform lock-in\n",{"name":5,"metadata":48,"description":7},{"clawdbot":49},{"emoji":50,"homepage":51,"requires":52},"?","https:\u002F\u002Fgithub.com\u002Fsurfer77\u002Fevm-wallet-skill",{"bins":53},[37,41],"main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Fjonisjongithub\u002Fevm-wallet-venice",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add kbarbel640-del\u002Fskills --skill evm-wallet-skill",{"tool":67,"command":68},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill evm-wallet-skill",{"tool":70,"command":71},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill evm-wallet-skill","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002FSKILL.md",true,[75,81,85,89,93,97,103,107,111,115,119,123,127,131,135,139,143],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"_meta.json","REFERENCE","参考文档",299,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002F_meta.json",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"package-lock.json",4416,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002Fpackage-lock.json",{"path":86,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":87,"sourceHtmlUrl":88},"package.json",543,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002Fpackage.json",{"path":90,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":91,"sourceHtmlUrl":92},"README.md",6349,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002FREADME.md",{"path":94,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":95,"sourceHtmlUrl":96},"SKILL-clawdhub.md",11014,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002FSKILL-clawdhub.md",{"path":98,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":101,"sourceHtmlUrl":102},"src\u002Fbalance.js","SCRIPT","脚本",7616,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002Fsrc\u002Fbalance.js",{"path":104,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":105,"sourceHtmlUrl":106},"src\u002Fcheck-update.js",5188,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002Fsrc\u002Fcheck-update.js",{"path":108,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":109,"sourceHtmlUrl":110},"src\u002Fcontract.js",12016,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002Fsrc\u002Fcontract.js",{"path":112,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":113,"sourceHtmlUrl":114},"src\u002Flib\u002Fchains.js",3650,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002Fsrc\u002Flib\u002Fchains.js",{"path":116,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":117,"sourceHtmlUrl":118},"src\u002Flib\u002Fgas.js",5597,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002Fsrc\u002Flib\u002Fgas.js",{"path":120,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":121,"sourceHtmlUrl":122},"src\u002Flib\u002Frpc.js",4428,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002Fsrc\u002Flib\u002Frpc.js",{"path":124,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":125,"sourceHtmlUrl":126},"src\u002Flib\u002Ftokens.js",5821,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002Fsrc\u002Flib\u002Ftokens.js",{"path":128,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":129,"sourceHtmlUrl":130},"src\u002Flib\u002Fwallet.js",3724,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002Fsrc\u002Flib\u002Fwallet.js",{"path":132,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":133,"sourceHtmlUrl":134},"src\u002Fsetup.js",2858,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002Fsrc\u002Fsetup.js",{"path":136,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":137,"sourceHtmlUrl":138},"src\u002Fswap.js",13740,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002Fsrc\u002Fswap.js",{"path":140,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":141,"sourceHtmlUrl":142},"src\u002Ftransfer.js",10015,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002Fsrc\u002Ftransfer.js",{"path":144,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":145,"sourceHtmlUrl":146},"src\u002Fvenice.js",9915,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjonisjongithub\u002Fevm-wallet-venice\u002Fsrc\u002Fvenice.js",[148,176,199,220,226,245],{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":159,"publishedAt":43},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[154],{"categoryNo":155,"categoryName":156,"taxonomyType":157,"taxonomyTypeDesc":158},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[160,161,39,162,27,163,164,165,166,167,168,169,170,171,172,173,174,175,34],"crowd prompting","prompting","with","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","https","content",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":183,"publishedAt":43},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[182],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[184,39,185,186,187,188,42,189,190,191,192,193,194,195,196,197,198,165,35],"dilemm ai","arena","analyze","browser","openclaw agent","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":208,"publishedAt":43},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[205],{"categoryNo":206,"categoryName":207,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000021","资料检索与研究",[209,210,211,212,213,214,215,162,216,197,35,217,39,218,219],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","read","http","via",{"skillNo":221,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":222,"categories":223,"keywords":225,"publishedAt":43},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[224],{"categoryNo":206,"categoryName":207,"taxonomyType":20,"taxonomyTypeDesc":21},[212,211,210,209,219,214,215,162,213,197,35,216,217,39,218],{"skillNo":227,"name":228,"nameZh":6,"description":229,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":230,"categories":231,"keywords":232,"publishedAt":43},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[41,233,234,235,236,237,238,239,240,241,242,243,244],"summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":246,"name":247,"nameZh":6,"description":248,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":249,"categories":250,"keywords":255,"publishedAt":43},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[251,252],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":253,"categoryName":254,"taxonomyType":157,"taxonomyTypeDesc":158},"01JBSEEDCAT000000000000037","律师与法务",[256,257,26,258,162,259,260,54,261,217,36,262,263,264,265,174,266,267,268],"agent constitution","constitution","tree","query","base","log","Rules","projects","compliance","actions","state","governance","github"]