Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Control a sandboxed MetaMask browser extension wallet for autonomous blockchain transactions. Features configurable permission guardrails including spend limits, chain allowlists, protocol restrictions, and approval thresholds. MetaMask-only (other wallets not supported).
Control a sandboxed MetaMask browser extension wallet for autonomous blockchain transactions. Features configurable permission guardrails including spend limits, chain allowlists, protocol restrictions, and approval thresholds. MetaMask-only (other wallets not supported).
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
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.
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.
Controls a sandboxed MetaMask wallet for autonomous blockchain transactions with configurable permission guardrails.
This skill allows AI agents to interact with dapps and execute transactions through a dedicated MetaMask wallet. All operations are subject to user-defined constraints (spend limits, protocol allowlists, approval thresholds). Security Model: The agent controls a separate wallet in an isolated browser profile. Never use your main wallet.
cd metamask-agent-skill npm install npx playwright install chromium
npm run setup This will: Create a fresh Chrome profile at ~/.agent-wallet/chrome-profile Install MetaMask extension Guide you through wallet creation (use a NEW seed phrase)
Transfer a small amount to your agent wallet: ETH for gas (0.01-0.05 ETH recommended) Tokens for operations (start small, e.g., $50 USDC)
Edit permissions.json to set your constraints: { "constraints": { "spendLimit": { "daily": "50000000", // $50 in 6-decimal format "perTx": "10000000" // $10 max per transaction }, "allowedChains": [1, 137, 42161], "allowedProtocols": ["0x...uniswap", "0x...1inch"] } }
connect <dapp-url> Navigates to dapp and connects the agent wallet. Example: connect https://app.uniswap.org
swap <amount> <token-in> for <token-out> [on <dex>] Executes a token swap on an allowed DEX. Example: swap 0.01 ETH for USDC on uniswap
send <amount> <token> to <address> Sends tokens to an address (within spend limits). Example: send 10 USDC to 0x1234...
sign <message> Signs an arbitrary message. Use with caution.
balance [token] Returns wallet balances.
history [count] Shows recent agent transactions with outcomes.
All operations check against permissions.json before execution: ConstraintDescriptionspendLimit.dailyMax USD value per 24h periodspendLimit.perTxMax USD value per transactionallowedChainsWhitelisted chain IDsallowedProtocolsWhitelisted contract addressesblockedMethodsForbidden function selectorsrequireApproval.aboveThreshold requiring user confirmation
When a transaction exceeds requireApproval.above: Agent pauses execution Transaction details are logged Agent reports: "Transaction requires approval: [details]" User must explicitly approve before agent continues
Isolated Profile: Agent uses separate Chrome profile, never your main browser Separate Wallet: Agent wallet is completely separate from your main wallet Spend Caps: Hard limits prevent runaway spending Protocol Allowlist: Only whitelisted contracts can be called Full Logging: Every transaction intent and outcome is logged Revocation: Set "revoked": true in permissions.json to disable all actions
All transactions are logged to ~/.agent-wallet/logs/: { "timestamp": 1706900000000, "action": "swap", "intent": { "to": "0x...", "value": "0", "data": "0x..." }, "guardResult": { "allowed": true }, "outcome": "confirmed", "txHash": "0x..." } Use history command to view recent transactions.
Add the contract address to allowedProtocols in permissions.json.
Wait 24h or increase spendLimit.daily.
Ensure the browser profile path is correct and MetaMask is installed.
The dapp may be trying to call a blocked method or unsupported chain.
src/ βββ index.ts # Main entry point βββ browser.ts # Playwright browser management βββ wallet.ts # MetaMask interaction primitives βββ guard.ts # Permission enforcement βββ logger.ts # Transaction logging βββ price.ts # USD price estimation βββ types.ts # TypeScript types βββ config.ts # Configuration loading
When Gator accounts are available, permissions.json can be replaced with on-chain permission attestations. The guard will validate against Gator's permission registry instead of local config.
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.