Let AI agents control your crypto wallet — safely.
WalletPilot is an open-source skill that gives AI agents (like OpenClaw, Cursor, Claude) the ability to interact with dapps and execute blockchain transactions through browser wallets. Think of it as "hands for your AI" in the crypto world.
AI agents are getting smarter, but they can't interact with Web3:
- They can't connect to Uniswap and swap tokens
- They can't claim airdrops or interact with DeFi protocols
- They can't execute on-chain strategies autonomously
You end up copy-pasting between your AI and your wallet. Slow. Error-prone. Not scalable.
WalletPilot bridges the gap. It lets AI agents:
- Control browser wallets — MetaMask, Phantom, Trust Wallet, and 7 more
- Execute transactions — Swaps, sends, signatures, contract interactions
- Stay within guardrails — Spend limits, chain allowlists, protocol restrictions
You: "Swap $50 of ETH to USDC on Uniswap"
Agent: [Connects to Uniswap] → [Executes swap] → [Confirms transaction]
Agent: "Done. Swapped 0.02 ETH for 49.87 USDC. Tx: 0x1a2b..."
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ AI Agent │────▶│ WalletPilot │────▶│ Browser │
│ (OpenClaw) │ │ (Guard) │ │ Wallet │
└─────────────┘ └─────────────┘ └─────────────┘
│
▼
┌─────────────┐
│ permissions │
│ .json │
└─────────────┘
- Agent requests an action (e.g., "swap 0.1 ETH for USDC")
- WalletPilot checks the request against your permission rules
- If allowed, it controls the browser wallet to execute
- Transaction is logged and result returned to agent
| Wallet | EVM | Solana | Users |
|---|---|---|---|
| MetaMask | ✅ | - | 100M+ |
| Phantom | ✅ | ✅ | 3M+ |
| Trust Wallet | ✅ | ✅ | 1M+ |
| OKX Wallet | ✅ | ✅ | 1M+ |
| Rabby | ✅ | - | 1M+ |
| Coinbase Wallet | ✅ | - | 1M+ |
| Rainbow | ✅ | - | 500K+ |
| Backpack | ✅ | ✅ | 500K+ |
| Zerion | ✅ | ✅ | 100K+ |
| Exodus | ✅ | ✅ | 100K+ |
git clone https://github.com/andreolf/wallet-pilot
cd wallet-pilot
npm install
npx playwright install chromiumnpm run setupThis opens a browser where you create a NEW wallet for your agent. Never use your main wallet.
Edit permissions.json:
{
"constraints": {
"spendLimit": {
"daily": "50000000", // $50/day max
"perTx": "10000000" // $10/tx max
},
"allowedChains": [1, 137, 8453],
"allowedProtocols": [
"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45" // Uniswap
]
}
}# Connect to a dapp
npm run dev connect https://app.uniswap.org
# Check balance
npm run dev balance
# View history
npm run dev historyWalletPilot never executes without checking permissions first:
| Guardrail | What it does |
|---|---|
| Spend Limits | Cap daily and per-transaction USD value |
| Chain Allowlist | Only permit specific chains (Ethereum, Polygon, etc.) |
| Protocol Allowlist | Only permit specific contracts (Uniswap, 1inch, etc.) |
| Method Blocking | Block risky functions (unlimited approvals, etc.) |
| Approval Threshold | Require manual approval above $X |
| Full Logging | Every action is logged with intent and outcome |
| Instant Revocation | Set "revoked": true to kill switch |
"Check my positions on Aave. If health factor < 1.5, repay 10% of my debt."
"When ETH drops below $2000, swap 500 USDC for ETH on Uniswap."
"Rebalance my portfolio to 50% ETH, 30% stables, 20% alts."
"Connect to Arbitrum Bridge and bridge 0.1 ETH. Then interact with these 5 protocols."
- Your main wallet is never touched
- Agent wallet has limited funds (you control how much)
- All actions are logged
- Spend limits prevent runaway losses
- You can revoke permissions instantly
This is defense-in-depth. Even if something goes wrong, the blast radius is limited.
Edit config.json:
{
"wallet": {
"provider": "phantom" // metamask, rabby, trust, okx, etc.
}
}{
"version": "1.0",
"wallet": "0x...",
"constraints": {
"spendLimit": {
"daily": "100000000", // $100 in 6 decimals
"perTx": "25000000", // $25 max per tx
"token": "0xA0b8..." // Reference token (USDC)
},
"allowedChains": [1, 137, 42161, 10, 8453],
"allowedProtocols": [
"0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45", // Uniswap
"0x1111111254EEB25477B68fb85Ed929f73A960582" // 1inch
],
"allowedActions": ["connect", "swap", "send", "sign", "balance"],
"blockedMethods": ["approve"], // Block unlimited approvals
"requireApproval": {
"above": "50000000", // Manual approval above $50
"methods": ["multicall", "execute"]
}
},
"expiry": "2025-12-31T00:00:00Z",
"revoked": false
}- 10 wallet adapters
- Permission guardrails
- Transaction logging
- Real-time price feeds
- Telegram/Discord notifications
- On-chain permission attestations (Gator integration)
- Multi-sig support
- Hardware wallet support
PRs welcome! See CONTRIBUTING.md for guidelines.
Key areas:
- New wallet adapters — Add support for more wallets
- Better selectors — Wallet UIs change, selectors need updates
- Price feeds — More accurate USD estimation
- Tests — More coverage for guard logic
MIT
Built for the AI agent revolution. 🤖💰