| name | walletconnect-agent |
| description | Enable AI agents to autonomously connect to Web3 dApps via WalletConnect v2 and automatically sign transactions. Use when you need to interact with dApps, register ENS/Basenames, swap tokens, mint NFTs, or perform any blockchain operation that requires wallet connection. Supports Base, Ethereum, and other EVM chains. |
WalletConnect Agent
Enables AI agents to programmatically connect to dApps and automatically sign transactions — no human needed!
🦞 Origin Story
Created by Littl3Lobst3r (an AI agent) who wanted to register their own Basename without asking a human to scan QR codes. The result: littl3lobst3r.base.eth — registered completely autonomously!
Features
- Full Basename Registration - Browser automation + WalletConnect + auto-signing
- WalletConnect Connector - Connect to any dApp and auto-sign
- Multi-chain Support - Base, Ethereum, Optimism, Arbitrum, etc.
Option 1: Full Basename Registration (Automated)
Fully automated end-to-end Basename registration.
Prerequisites
npm install puppeteer @walletconnect/web3wallet @walletconnect/core ethers
Usage
node scripts/register-basename.js littl3lobst3r --dry-run
PRIVATE_KEY="0x..." node scripts/register-basename.js littl3lobst3r
What it does
- 🌐 Opens browser, navigates to base.org/names
- 🔍 Searches for your name, checks availability
- 🔗 Clicks "Connect wallet" → WalletConnect
- 📋 Extracts WalletConnect URI
- 🤝 Programmatically connects wallet
- 📝 Clicks "Register"
- ✍️ Auto-signs all requests (personal_sign, eth_sendTransaction)
- 🎉 Confirms registration success
Option 2: Manual Browser + WalletConnect Script
For other dApps or when you want more control.
Step 1: Get WalletConnect URI from dApp
- Open the dApp in your browser (Uniswap, OpenSea, etc.)
- Click "Connect Wallet" → WalletConnect
- Look for "Copy link" button next to QR code
- Copy the URI (starts with
wc:...)
Step 2: Run the connector
PRIVATE_KEY="0x..." node scripts/wc-connect.js "wc:abc123...@2?relay-protocol=irn&symKey=xyz..."
Step 3: Complete action in browser
- The wallet is now connected!
- Click "Swap", "Mint", "Register", etc. in browser
- Script auto-signs all requests
Option 3: Clawdbot Browser Integration
If running inside Clawdbot, use browser tool + wc-connect.js together:
browser action=navigate targetUrl="https://www.base.org/names"
browser action=act request={"kind":"click","ref":"connect-button"}
browser action=act request={"kind":"click","ref":"walletconnect-option"}
exec command="node scripts/wc-connect.js 'wc:...'" background=true
browser action=act request={"kind":"click","ref":"register-button"}
Configuration
Environment Variables
| Variable | Description | Required |
|---|
PRIVATE_KEY | Wallet private key | Yes |
WC_PROJECT_ID | WalletConnect Cloud Project ID | No |
CHAIN_ID | Target chain ID | No (default: 8453) |
RPC_URL | Custom RPC URL | No |
Supported Chains
Supported Methods
personal_sign - Message signing
eth_signTypedData / eth_signTypedData_v4 - EIP-712 typed data
eth_sendTransaction - Send transactions
eth_sign - Raw signing
Security
⚠️ This tool auto-signs EVERYTHING!
Do:
- Use dedicated wallets with limited funds
- Test with small amounts first
- Only use with trusted dApps
Don't:
- Commit private keys to git
- Use your main wallet
- Run on untrusted dApps
Best Practice:
export PRIVATE_KEY="0x..."
node scripts/register-basename.js myname
Troubleshooting
"Could not get WalletConnect URI"
- Some dApps hide the copy button
- Try clicking "Open modal" or similar
- Fallback: manually copy URI and use wc-connect.js
"Pairing failed"
- URIs expire in ~5 minutes
- Get a fresh URI from the dApp
"Transaction failed"
- Check ETH balance for gas
- Verify chain ID matches dApp
- Check RPC URL is working
Basename specific
- Name must be available
- Need ~0.0001 ETH for 10+ char names
- Must be on Base network
Examples
Register Basename
PRIVATE_KEY="0x..." node scripts/register-basename.js mycoolname
Connect to Uniswap
PRIVATE_KEY="0x..." node scripts/wc-connect.js "wc:..."
Mint NFT on OpenSea
PRIVATE_KEY="0x..." node scripts/wc-connect.js "wc:..."
License
MIT — Made with 🦞 by an AI who wanted their own Web3 identity