home / skills / openclaw / skills / wallet-pilot

wallet-pilot skill

/skills/andreolf/wallet-pilot

This skill helps AI agents automate and guard wallet interactions across multiple browsers and chains with configurable spend limits and approvals.

npx playbooks add skill openclaw/skills --skill wallet-pilot

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
5.4 KB
---
name: WalletPilot
description: Universal browser wallet automation for AI agents. Supports 10 wallets including MetaMask, Rabby, Phantom, Trust Wallet, OKX, Coinbase, and more. EVM + Solana. Configurable guardrails with spend limits, chain allowlists, and approval thresholds.
tags:
  - crypto
  - wallet
  - ethereum
  - solana
  - defi
  - web3
  - blockchain
  - automation
  - browser
  - metamask
  - rabby
  - coinbase
  - rainbow
  - phantom
  - trust-wallet
  - zerion
  - exodus
  - okx
  - backpack
---

# WalletPilot

Universal browser wallet automation for AI agents. Control any browser-based crypto wallet with configurable permission guardrails.

## Supported Wallets

| Wallet | EVM | Solana | Users |
|--------|-----|--------|-------|
| MetaMask | ✅ | - | 100M+ |
| Rabby | ✅ | - | 1M+ |
| Coinbase Wallet | ✅ | - | 1M+ |
| Rainbow | ✅ | - | 500K+ |
| Phantom | ✅ | ✅ | 3M+ |
| Trust Wallet | ✅ | ✅ | 1M+ |
| Zerion | ✅ | ✅ | 100K+ |
| Exodus | ✅ | ✅ | 100K+ |
| OKX Wallet | ✅ | ✅ | 1M+ |
| Backpack | ✅ | ✅ | 500K+ |

## Overview

WalletPilot allows AI agents to interact with dapps and execute transactions through any supported browser wallet. All operations are subject to user-defined constraints.

**Security Model:** The agent controls a *separate* wallet in an isolated browser profile. Never use your main wallet.

## Setup

### 1. Install Dependencies

```bash
cd wallet-pilot
npm install
npx playwright install chromium
```

### 2. Configure Wallet Provider

Edit `config.json` to select your wallet:

```json
{
  "wallet": {
    "provider": "metamask",  // or: rabby, coinbase, rainbow, phantom
    "extensionPath": null    // auto-detect from Chrome, or provide path
  }
}
```

### 3. Create Agent Wallet Profile

```bash
npm run setup
```

This opens a browser where you:
- Install/setup your chosen wallet extension
- Create a NEW wallet (fresh seed phrase)
- The profile is saved for future automation

### 4. Fund the Wallet

Transfer a small amount to your agent wallet:
- Native token for gas (0.01-0.05 ETH/SOL recommended)
- Tokens for operations (start small, e.g., $50 USDC)

### 5. Configure Permissions

Edit `permissions.json`:

```json
{
  "constraints": {
    "spendLimit": {
      "daily": "50000000",
      "perTx": "10000000"
    },
    "allowedChains": [1, 137, 42161, 8453],
    "allowedProtocols": ["0x...uniswap", "0x...1inch"]
  }
}
```

## Available Actions

### Connect to Dapp
```
connect <dapp-url>
```
Navigates to dapp and connects the agent wallet.

### Execute Swap
```
swap <amount> <token-in> for <token-out> [on <dex>]
```
Executes a token swap on an allowed DEX.

### Send Tokens
```
send <amount> <token> to <address>
```
Sends tokens to an address (within spend limits).

### Sign Message
```
sign <message>
```
Signs an arbitrary message.

### Check Balance
```
balance [token]
```
Returns wallet balances.

### View History
```
history [count]
```
Shows recent agent transactions.

## Constraints

| Constraint | Description |
|------------|-------------|
| `spendLimit.daily` | Max USD value per 24h period |
| `spendLimit.perTx` | Max USD value per transaction |
| `allowedChains` | Whitelisted chain IDs |
| `allowedProtocols` | Whitelisted contract addresses |
| `blockedMethods` | Forbidden function selectors |
| `requireApproval.above` | Threshold requiring user confirmation |

## Adding New Wallets

WalletPilot uses a plugin architecture. To add a new wallet:

1. Create a new adapter in `src/wallets/`
2. Implement the `WalletAdapter` interface
3. Add selectors for the wallet's UI elements
4. Register in `src/wallets/index.ts`

See `src/wallets/metamask.ts` for reference implementation.

## Safety

- **Isolated Profile:** Agent uses separate browser profile
- **Separate Wallet:** 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 is logged
- **Revocation:** Set `"revoked": true` to disable all actions

## Architecture

```
src/
├── index.ts              # Main entry point
├── browser.ts            # Playwright browser management
├── guard.ts              # Permission enforcement
├── logger.ts             # Transaction logging
├── price.ts              # USD price estimation
├── types.ts              # TypeScript types
├── config.ts             # Configuration loading
└── wallets/
    ├── index.ts          # Wallet adapter registry
    ├── adapter.ts        # Base adapter interface
    ├── metamask.ts       # MetaMask
    ├── rabby.ts          # Rabby
    ├── coinbase.ts       # Coinbase Wallet
    ├── rainbow.ts        # Rainbow
    ├── phantom.ts        # Phantom
    ├── trust.ts          # Trust Wallet
    ├── zerion.ts         # Zerion
    ├── exodus.ts         # Exodus
    ├── okx.ts            # OKX Wallet
    └── backpack.ts       # Backpack
```

## Comparison: WalletPilot vs MetaMask-only

| Feature | WalletPilot | MetaMask Agent Wallet |
|---------|-------------|----------------------|
| Wallets | 5+ supported | MetaMask only |
| Chains | EVM + Solana | EVM only |
| Setup | Choose your wallet | MetaMask required |
| Complexity | Higher | Lower |
| Use case | Multi-wallet orgs | MM-only users |

Choose **WalletPilot** if you need flexibility across wallets or Solana support.
Choose **MetaMask Agent Wallet** for simpler MetaMask-only setup.

Overview

This skill provides universal browser wallet automation for AI agents, enabling control of popular browser-based crypto wallets across EVM and Solana. It centralizes wallet interactions with configurable guardrails like spend limits, chain allowlists, and approval thresholds to reduce operational risk. The agent runs in an isolated browser profile and uses a separate wallet to avoid exposing main funds.

How this skill works

WalletPilot launches a dedicated browser profile with the chosen wallet extension and exposes actions the agent can call, such as connect, swap, send, sign, balance, and history. A permission guard enforces constraints (daily and per-transaction spend caps, allowed chains/protocols, blocked methods) before any transaction is executed. All operations are logged and price-estimated to enforce USD-based limits and auditing.

When to use it

  • Automating dApp interactions across multiple wallet providers (MetaMask, Phantom, Rabby, Coinbase, etc.).
  • Running agents that need both EVM and Solana access from a single automation layer.
  • Setting up constrained agent wallets for testing integrations or executing limited-value transactions.
  • Creating organization-level agent accounts with centralized safety policies and logging.
  • Backing up or archiving agent wallet activity for audits and recovery.

Best practices

  • Always use a fresh agent wallet in the isolated profile; never use your primary wallet.
  • Start with small funding (recommended gas + ~$50) and conservative spendLimits during testing.
  • Maintain a strict allowedChains and allowedProtocols list; whitelist only required contracts.
  • Enable requireApproval.above for transactions that exceed manual-review thresholds.
  • Regularly review logs and revoke the agent profile if unexpected behavior appears.

Example use cases

  • An AI trading agent executing small, approved swaps across multiple DEXes while staying within per-day spend caps.
  • Automated onboarding flows where an agent connects to a dApp to approve and sign non-custodial actions for testing.
  • Cross-chain tooling that needs both EVM token operations and Solana interactions from a unified interface.
  • Security-conscious teams delegating routine transfers to agents with strict allowlists and full transaction logs.
  • Archiving agent activity and wallet profiles for audits, compliance, or incident investigation.

FAQ

Which wallets and chains are supported?

Multiple browser wallets are supported including MetaMask, Rabby, Coinbase Wallet, Rainbow, Phantom, Trust Wallet, OKX, and others. WalletPilot covers EVM chains and Solana where the wallet supports it.

How are spend limits enforced?

Guard rules compute USD value using on-chain price estimation and block transactions that exceed daily or per-transaction limits defined in the configuration.