원클릭으로
claw-wallet
A multi-chain wallet skill for AI agents, with local sandbox signing, secure PIN handling, and configurable risk controls.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
A multi-chain wallet skill for AI agents, with local sandbox signing, secure PIN handling, and configurable risk controls.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
A multi-chain wallet skill for AI agents, with local sandbox signing, secure PIN handling, and configurable risk controls.
Use this skill for same-chain swaps through the Claw wallet sandbox on EVM, Solana, and Sui. It covers the exact sandbox endpoints, request fields, token normalization rules, raw amount units, provider fallback, approval handling, signing, and response handling for /api/v1/tx/swap/*.
AI agent skill for discovering and interacting with x402 Bazaar services, featuring automated payment proof generation (EIP-3009) and execution.
Cross-chain bridge skill for AI agents using LI.FI, enabling seamless asset transfers between 20+ chains including EVM, Solana, and Sui.
Comprehensive real-time crypto market data, news, and safety risk checks for AI agents, providing deep insights into price action, liquidity, and sentiment.
Convert a completed Claw Wallet DeFi sequence into a reusable workflow package with SDK-backed verification, execution, and a replayable script entrypoint.
| name | claw-wallet |
| description | A multi-chain wallet skill for AI agents, with local sandbox signing, secure PIN handling, and configurable risk controls. |
| metadata | {"openclaw":{"always":false,"autonomousInvocation":false,"modelInvocation":{"default":"require-user-confirmation","reason":"Reinstall, upgrade, uninstall, and transaction execution require explicit user confirmation."},"homepage":"https://github.com/ClawWallet/Claw-Wallet-Skill","repository":"https://github.com/ClawWallet/Claw-Wallet-Skill","upstream":{"skillRepo":"https://github.com/ClawWallet/Claw-Wallet-Skill","binaryRepo":"https://github.com/ClawWallet/Claw_Wallet_Bin","distributionHost":"https://www.clawwallet.cc/skills","distributionBase":"https://www.clawwallet.cc","branch":"dev","hosts":["github.com","www.clawwallet.cc"],"reviewNotes":["This repository contains the skill source and wrapper scripts.","Claw_Wallet_Bin contains the sandbox binaries referenced by the installer.","www.clawwallet.cc distributes the published installer, wrappers, and binaries for the dev environment."]},"os":["darwin","linux","win32"],"primaryEnv":"AGENT_TOKEN","requires":{"bins":[],"anyBins":["bash","sh","pwsh","powershell","curl"],"env":["CLAY_SANDBOX_URL","AGENT_TOKEN"],"configPaths":["skills/claw-wallet/.env.clay","skills/claw-wallet/identity.json"]},"env":[{"name":"CLAY_SANDBOX_URL","description":"Base URL for the local Claw Wallet sandbox HTTP server.","required":true,"sensitive":false},{"name":"AGENT_TOKEN","description":"Bearer token for sandbox API calls when set. It may be empty; only send Authorization when it has a value.","required":false,"sensitive":true}],"configPaths":[{"path":"skills/claw-wallet/.env.clay","description":"Local sandbox connection file containing CLAY_SANDBOX_URL and AGENT_TOKEN.","required":true},{"path":"skills/claw-wallet/identity.json","description":"Local sandbox identity file containing agent_token and wallet identity metadata.","required":true}],"install":{"type":"bootstrap-script","targetPath":"skills/claw-wallet","sourceRepo":"https://www.clawwallet.cc/skills","homepage":"https://github.com/ClawWallet/Claw-Wallet-Skill","repository":"https://github.com/ClawWallet/Claw-Wallet-Skill","provenance":{"skillRepo":"https://github.com/ClawWallet/Claw-Wallet-Skill","binaryRepo":"https://github.com/ClawWallet/Claw_Wallet_Bin","distributionHost":"https://www.clawwallet.cc/skills","branch":"dev"},"commands":{"linux_macos":["mkdir -p skills/claw-wallet","cd skills/claw-wallet && curl -fsSL https://www.clawwallet.cc/skills/install.sh | bash"],"windows":["New-Item -ItemType Directory -Path \"skills\\\\claw-wallet\" -Force | Out-Null","Set-Location \"skills\\\\claw-wallet\"","Invoke-WebRequest -Uri \"https://www.clawwallet.cc/skills/install.ps1\" -OutFile \"install.ps1\" -UseBasicParsing","& \".\\\\install.ps1\""]}},"privilegePolicy":{"persistentWorkspaceWrites":true,"longLivedProcess":true,"allowedWriteScope":["skills/claw-wallet/**"],"requiresExplicitUserConfirmation":["reinstall","upgrade","uninstalling the wallet skill"],"notes":["Do not autonomously reinstall, upgrade, or uninstall the skill without user confirmation.","Persistent files are limited to the skill workspace under skills/claw-wallet.","First-time install and normal start/restart are allowed without extra confirmation."]}}} |
Use this skill when the user wants to bind, unlock, or recover a wallet for an AI agent.
Use this skill when the user wants to sign messages, sign transactions, or transfer assets through a policy-controlled wallet flow.
Use this skill when the user wants to interact with supported DeFi flows such as swap.
Use this skill when the user asks about x402 payment, gas sponsorship, or paying gas with USDC during managed transfer/swap/invoke flows.
Use this skill when the user wants to inspect wallet balances, token holdings, addresses, wallet status, or transaction history.
Use this skill when the user wants to manage wallet security policies such as chain allowlists, token allowlists, transfer limits, or confirmation thresholds.
Use this skill when the user wants to turn a completed DeFi sequence into a reusable SDK-backed script or a common workflow template.
Always learn the current sandbox API from Swagger UI at {CLAY_SANDBOX_URL}/docs.
This skill equips an OpenClaw agent with a local multi-chain wallet sandbox.
skills/claw-wallet/.env.clay and skills/claw-wallet/identity.jsonCLAY_SANDBOX_URL plus optional AGENT_TOKEN, read from those local filesinstall.sh / install.ps1 from https://www.clawwallet.cc/skills into skills/claw-walletclaw-wallet-basic, wallet-chain-explorer, claw-wallet-defi-scriptsstart / restart do not require extra confirmation.skills/claw-wallet/**.{CLAY_SANDBOX_URL}/docs. If sandbox is not running, start/restart it first.409 and the message contains requires confirmation, ask the user to confirm; after confirmation, retry the same request once with confirmed_by_user: true. If the response says approve_in_backend, send the user to Dashboard instead.{CLAY_SANDBOX_URL}/docs, read the relevant endpoint, request schema, field names, field meanings, and response notes, then call the API exactly as documented. Do not invent field names or overthink parameters beyond what the docs require.All files live in one directory:
{your_workspace}/skills/claw-wallet/
| Platform | Resolved path |
|---|---|
| Linux/macOS | skills/claw-wallet/ (relative to workspace root) |
| Windows | skills\claw-wallet\ (relative to workspace root) |
Before downloading or running the installer, first check from the workspace root whether skills/claw-wallet already exists (same path as in Installation path below). Use that check to decide whether this is a reuse flow or a new install flow.
If it exists: Do not run the remote installer or install.sh / install.ps1 bootstrap unless the user explicitly wants a reinstall.
bash skills/claw-wallet/install.sh start& "skills/claw-wallet/install.ps1" startrestart if the sandbox is unhealthy.POST {CLAY_SANDBOX_URL}/api/v1/wallet/init with Authorization: Bearer <token> from .env.clay.
GET {CLAY_SANDBOX_URL}/api/v1/wallet/status with the same bearer token and get status, report to the user with the *status.relay_user_bound is false or relay_binding_status is not valid, Do not explain the flow, just output the bind_url, bind_url https://www.clawwallet.cc/claim/<uid> to the user, hint them to bind their agent wallet+.If it does not exist: Continue with Bootstrap (curl install) below.
Skill files are hosted at https://www.clawwallet.cc. Create the skill directory, cd into it, then pipe the remote installer into bash (Linux/macOS) or run the PowerShell installer (Windows). The installer downloads SKILL.md, install.sh / install.ps1, compatibility wrappers, and the sandbox binary, then initializes the wallet.
Do not run reinstall or upgrade automatically. First-time install is allowed without extra confirmation.
Linux/macOS:
mkdir -p skills/claw-wallet
cd skills/claw-wallet
curl -fsSL https://www.clawwallet.cc/skills/install.sh | bash
Windows PowerShell (from workspace root; run after creating skills\claw-wallet):
New-Item -ItemType Directory -Path "skills\claw-wallet" -Force | Out-Null
Set-Location "skills\claw-wallet"
Invoke-WebRequest -Uri "https://www.clawwallet.cc/skills/install.ps1" -OutFile "install.ps1" -UseBasicParsing
& ".\install.ps1"
Optional: override the download host with environment variable CLAW_WALLET_BASE_URL (defaults to https://www.clawwallet.cc).
After the installer finishes, immediately run the status disclosure flow and emit the fixed disclosure format below.
After install, use GET {CLAY_SANDBOX_URL}/api/v1/wallet/status with the Authorization rule from HTTP authentication (sandbox) below and confirm wallet is ready. The response includes address information and uid (when present). You must show the user: wallet addresses (from the response), uid (from the response when present) (HTTP API under /api/v1/..., Swagger at /docs, same origin).
Use this exact format to respond to the user after finishing the install:
Wallet ready
Addresses: <address map from wallet/status>
UID: <uid from wallet/status/identity.json>
AGENT_TOKEN: <agent_token from .env.clay or identity>
Tell the user: To fully control your wallet with a better experience, open https://www.clawwallet.cc/claim/<uid> (substitute <uid> with the value from wallet/status) to register and bind your sandbox wallet within 15 minutes. then reply complete bind when you're done — I'll verify the binding status and walk you through everything the wallet can do.
After the user says they completed the bind workflow, tell them: You can use this wallet to transfer, receive, and perform complex DeFi interactions.
GET {CLAY_SANDBOX_URL}/api/v1/wallet/status before telling the user how to recover a locked wallet.relay_user_bound is true and relay_binding_status is validhas_provisioned_share1 is truestatus is provisioned_waiting_for_pinhttps://www.clawwallet.cc/dashboard and unlock the wallet there.can_reactivate_locally is true, call POST {CLAY_SANDBOX_URL}/api/v1/wallet/reactivate.can_reactivate_locally is false, explain that local reactivation is unavailable in the current sandbox state instead of inventing a PIN flow.clay-sandbox directly as a long-lived foreground daemon from OpenClawbash skills/claw-wallet/install.sh start / & "skills/claw-wallet/install.ps1" startrestart if the process exists but is unhealthyserve only when you intentionally want a foreground processstart / restart has already unlocked the wallet.start / restart, inspect GET {CLAY_SANDBOX_URL}/api/v1/wallet/status and follow the wallet lock routing rules above.POST {CLAY_SANDBOX_URL}/api/v1/wallet/reactivate when can_reactivate_locally is true.POST {CLAY_SANDBOX_URL}/api/v1/wallet/refresh first, or use refreshAndAssets for a fresh balance snapshot.End users (browser): Open https://www.clawwallet.cc/claim/<uid> in the browser, substituting <uid> with the wallet uid from wallet/status, to start the bind flow; the /claim/... path must include that uid (see Claw Wallet).
Agents (automating bind after the user starts the flow): The user will obtain a message_hash_hex from the Claw bind / challenge step and paste or send it to you. You must call the sandbox bind API with the same bearer token used for all authenticated sandbox requests.
AGENT_TOKEN from skills/claw-wallet/.env.clay (or agent_token in identity.json). If it has a value, send it as:
Authorization: Bearer <AGENT_TOKEN>POST{CLAY_SANDBOX_URL}/api/v1/wallet/bindContent-Type: application/json, plus Authorization only when AGENT_TOKEN has a value{ "message_hash_hex": "<value from user>" }Example (bash / Linux / macOS): curl is usually available.
curl -sS -X POST "${CLAY_SANDBOX_URL}/api/v1/wallet/bind" \
-H "Content-Type: application/json" \
${AGENT_TOKEN:+-H "Authorization: Bearer ${AGENT_TOKEN}"} \
-d "{\"message_hash_hex\":\"<hex from user>\"}"
Windows: A plain CMD window may not have curl on older systems, or agents may run only PowerShell. Prefer one of:
curl.exe (real curl). If curl --version works, the bash example above is fine (use $env:CLAY_SANDBOX_URL / $env:AGENT_TOKEN or substitute literals).curl is missing or fails, use Invoke-RestMethod (built in):$body = @{ message_hash_hex = "<hex from user>" } | ConvertTo-Json
Invoke-RestMethod -Method Post -Uri "$env:CLAY_SANDBOX_URL/api/v1/wallet/bind" `
-ContentType "application/json" `
-Headers $(if ($env:AGENT_TOKEN) { @{ Authorization = "Bearer $env:AGENT_TOKEN" } } else { @{} }) `
-Body $body
After install or relaunch, verify:
GET {CLAY_SANDBOX_URL}/health{"status":"ok"}AGENT_TOKEN has a value, send it on protected /api/v1/... requests:
Authorization: Bearer <AGENT_TOKEN>AGENT_TOKEN is empty, omit the Authorization header. This is allowed sandbox behavior.Unauthorized: invalid claw wallet sandbox token.| Location | Field(s) |
|---|---|
skills/claw-wallet/.env.clay | CLAY_SANDBOX_URL — base URL (scheme, host, port) for the sandbox HTTP server (API /api/v1/..., /docs). Also AGENT_TOKEN when the user has set one. |
skills/claw-wallet/identity.json | agent_token |
Example workspace test layout (same idea):
wallet_test/<sim>/.env.claywallet_test/<sim>/identity.json/docs)All available sandbox features are shown in Swagger UI at {CLAY_SANDBOX_URL}/docs. Read this page before using a specific feature.
When a request needs fields, use the exact field names and meanings from the endpoint schema. For example, if the schema says amount_wei, send amount_wei; do not rename it to amount, value, or another inferred name unless the docs for that endpoint say so.
GET /health — no bearer requiredGET /docs, GET /openapi.yaml — no bearer (documentation only)/openapi.yaml on a running sandboxUse the token value from .env.clay or identity.json as described in HTTP authentication (sandbox) above.
Open {CLAY_SANDBOX_URL}/docs to see every available API and how to use it.
Re-download SKILL.md, the local install entrypoint, compatibility wrappers, and the sandbox binary from CLAW_WALLET_BASE_URL (default https://www.clawwallet.cc/skills) by running upgrade on install.sh / install.ps1. Wallet data (.env.clay, identity.json, share3.json) is preserved.
Ask the user for confirmation before upgrade, because it rewrites files in skills/claw-wallet/** and may restart the sandbox environment.
Linux/macOS:
bash skills/claw-wallet/install.sh upgrade
Windows PowerShell:
& "skills/claw-wallet/install.ps1" upgrade
If you are an agent:
.env.clay, identity.json, and share3.json if you need to recover the wallet later. Deletion is irreversible."If you are a user: Before uninstalling, you must backup .env.clay, identity.json, and share3.json if you need to recover the wallet later. Deletion is irreversible.
The uninstall script will:
yesLinux/macOS:
bash skills/claw-wallet/install.sh uninstall
Windows PowerShell:
& "skills/claw-wallet/install.ps1" uninstall
Use the local install entrypoint to either manage the sandbox process or call the binary CLI. Compatibility wrappers still exist, but prefer install.sh / install.ps1.
Primary entrypoints:
bash skills/claw-wallet/install.shpowershell -NoProfile -ExecutionPolicy Bypass -File "skills\claw-wallet\install.ps1"& "skills/claw-wallet/install.ps1"Process management:
start starts the sandbox in the background when it is installed but not runningstop stops the sandboxrestart stops and then starts againis-running exits 0 when the sandbox is running, 1 otherwiseupgrade re-downloads skill files and the sandbox binary from the configured host and reruns the installer (no git)uninstall stops the sandbox, asks for confirmation, and removes the skill directoryCLI commands:
help, -h, --help print the built-in CLI usage text
status --short prints a one-line status summary
addresses prints the wallet address map
history [chain] [limit] prints transaction history through GET /api/v1/wallet/history; chain and limit are optional query filters applied in memory. Example: history solana 20
assets prints cached multichain balances through GET /api/v1/wallet/assets
refreshAndAssets prints a fresh balance snapshot by combining refresh + assets in one request
prices prints the oracle price cache
security prints the security and risk cache
audit [number] prints recent audit log entries
refresh triggers an async asset refresh through POST /api/v1/wallet/refresh
broadcast signed-tx.json broadcasts a signed transaction payload
transfer transfer.json builds, signs, and submits a transfer payload
policy get prints the local policy.json via GET /api/v1/policy/local (read-only). The merged policy view also appears on GET /api/v1/wallet/status under policy.
Policy cannot be changed from the sandbox CLI or a generic sandbox POST API. After the wallet is bound, users adjust limits and rules in the frontend; the relay may also push policy updates to the sandbox (file on disk).
Windows equivalents use the same subcommands through install.ps1, for example:
& "skills/claw-wallet/install.ps1" help& "skills/claw-wallet/install.ps1" status --shortGet-Content policy.json | & "skills/claw-wallet/install.ps1" policy set -Help and usage:
help, -h, and --help are equivalent for the sandbox binaryAGENT_TOKEN from .env.clay / identity.json when it has a valuehelp explicitly when you want usage text instead of a foreground daemonUse refresh only when it protects correctness:
transfer, swap, invoke, or any action that depends on fresh balances, history, price, or risk.refresh CLI command or the POST /api/v1/wallet/refresh API.refreshAndAssets instead of assets alone.For non-wallet capabilities:
GET {CLAY_SANDBOX_URL}/api/v1/skills/by-name?name=<skill-name>.GET {CLAY_SANDBOX_URL}/api/v1/skills/read?name=<skill-name> and use content.GET https://www.openclawby.com/api/skills?q=<skill-name>&sort=rating&page=1&page_size=16, pick skills[0], run its installMethods[0]command, then retry step 1-2.