✓ Verified 🌐 Web Scrapers ✓ Enhanced Data

Wallet Pilot

Universal browser wallet automation for AI agents.

Rating
4.8 (257 reviews)
Downloads
2,745 downloads
Version
1.0.0

Overview

Universal browser wallet automation for AI agents.

Complete Documentation

View Source →

WalletPilot

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

Supported Wallets

WalletEVMSolanaUsers
MetaMask-100M+
Rabby-1M+
Coinbase Wallet-1M+
Rainbow-500K+
Phantom3M+
Trust Wallet1M+
Zerion100K+
Exodus100K+
OKX Wallet1M+
Backpack500K+

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

text
connect <dapp-url>
Navigates to dapp and connects the agent wallet.

Execute Swap

text
swap <amount> <token-in> for <token-out> [on <dex>]
Executes a token swap on an allowed DEX.

Send Tokens

text
send <amount> <token> to <address>
Sends tokens to an address (within spend limits).

Sign Message

text
sign <message>
Signs an arbitrary message.

Check Balance

text
balance [token]
Returns wallet balances.

View History

text
history [count]
Shows recent agent transactions.

Constraints

ConstraintDescription
spendLimit.dailyMax USD value per 24h period
spendLimit.perTxMax USD value per transaction
allowedChainsWhitelisted chain IDs
allowedProtocolsWhitelisted contract addresses
blockedMethodsForbidden function selectors
requireApproval.aboveThreshold requiring user confirmation

Adding New Wallets

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

  • Create a new adapter in src/wallets/
  • Implement the WalletAdapter interface
  • Add selectors for the wallet's UI elements
  • 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

text
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

FeatureWalletPilotMetaMask Agent Wallet
Wallets5+ supportedMetaMask only
ChainsEVM + SolanaEVM only
SetupChoose your walletMetaMask required
ComplexityHigherLower
Use caseMulti-wallet orgsMM-only users
Choose WalletPilot if you need flexibility across wallets or Solana support. Choose MetaMask Agent Wallet for simpler MetaMask-only setup.

Installation

Terminal bash

openclaw install wallet-pilot
    
Copied!

💻Code Examples

npx playwright install chromium

npx-playwright-install-chromium.txt
### 2. Configure Wallet Provider

Edit `config.json` to select your wallet:

npm run setup

npm-run-setup.txt
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`:

}

.txt
## Available Actions

### Connect to Dapp

connect <dapp-url>

connect-dapp-url.txt
Navigates to dapp and connects the agent wallet.

### Execute Swap

swap <amount> <token-in> for <token-out> [on <dex>]

swap-amount-token-in-for-token-out-on-dex.txt
Executes a token swap on an allowed DEX.

### Send Tokens

send <amount> <token> to <address>

send-amount-token-to-address.txt
Sends tokens to an address (within spend limits).

### Sign Message

sign <message>

sign-message.txt
Signs an arbitrary message.

### Check Balance

balance [token]

balance-token.txt
Returns wallet balances.

### View History

history [count]

history-count.txt
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
example.sh
cd wallet-pilot
npm install
npx playwright install chromium

Tags

#browser_and-automation #automation

Quick Info

Category Web Scrapers
Model Claude 3.5
Complexity Multi-Agent
Author andreolf
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install wallet-pilot