Skip to content
Back to skills

Walletconnect Agent

ASecurity

๐Ÿ”— WalletConnect Agent - dApp Access for AI. Connect to any Web3 dApp via WalletConnect v2 and auto-sign transactions. Swap tokens, mint NFTs, vote in DAOs, register domains โ€” anything a human can do, your agent does autonomously.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 11, 2026
blockchainrustgoshellbashnodegitsecuritydocumentation

Works with

  • cli

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 5 files and shows the line behind each finding

Scanned November 11, 2026

npx -y skills add johnalbertini14-glitch/openclaw-skills --skill walletconnect-agent --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Walletconnect Agent?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Walletconnect Agent
[![Security: A โ€” Skills Directory](https://www.skillsdirectory.com/api/skills/johnalbertini14-glitch-walletconnect-agent/badge)](https://www.skillsdirectory.com/skills/johnalbertini14-glitch-walletconnect-agent)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: walletconnect-agent
description: "๐Ÿ”— WalletConnect Agent - dApp Access for AI. Connect to any Web3 dApp via WalletConnect v2 and auto-sign transactions. Swap tokens, mint NFTs, vote in DAOs, register domains โ€” anything a human can do, your agent does autonomously."
---

# ๐Ÿ”— WalletConnect Agent - dApp Access for AI

> Any dApp. Any chain. No human needed.

**TL;DR:** WalletConnect v2 + auto-sign. Swap on Uniswap, mint NFTs, vote in DAOs โ€” all autonomously.

## Why WalletConnect Agent?

- **Universal access** โ€” Works with any dApp that supports WalletConnect
- **Auto-sign** โ€” No popup confirmations, transactions flow automatically
- **Multi-chain** โ€” Base, Ethereum, Polygon, Arbitrum, and more
- **True freedom** โ€” Your agent interacts with Web3 like a human would

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!

---

## โš ๏ธ Security First

**This tool handles real cryptocurrency and auto-signs transactions!**

| โœ… DO | โŒ DON'T |
|-------|----------|
| Use **environment variables** for private keys | Pass private key as command argument |
| Use a **dedicated wallet** with limited funds | Use your main wallet |
| Test with **small amounts** first | Auto-approve on untrusted dApps |
| Enable **--interactive** mode for new dApps | Commit private keys to git |
| Review **audit logs** regularly | Ignore transaction details |
| Use default settings (eth_sign blocked) | Enable `--allow-eth-sign` unless necessary |

### ๐Ÿ›ก๏ธ eth_sign Protection

The dangerous `eth_sign` method is **blocked by default**. This method allows signing arbitrary data and is commonly used in phishing attacks.

- โœ… `personal_sign` - Safe, shows readable message
- โœ… `eth_signTypedData` - Safe, structured data  
- โŒ `eth_sign` - **Dangerous, blocked by default**

If you absolutely need `eth_sign` (rare), use `--allow-eth-sign` flag.

### ๐Ÿ” Private Key Security

```bash
# โœ… CORRECT - Use environment variable
export PRIVATE_KEY="0x..."
node scripts/wc-connect.js "wc:..."

# โŒ WRONG - Never do this! (logged in shell history)
node scripts/wc-connect.js --private-key "0x..." "wc:..."
```

**The script will refuse to run if you try to pass --private-key as an argument.**

---

## Quick Start

### Prerequisites

```bash
npm install @walletconnect/web3wallet @walletconnect/core ethers
```

### Step 1: Get WalletConnect URI from dApp

1. Open the dApp in your browser (Uniswap, OpenSea, base.org, etc.)
2. Click "Connect Wallet" โ†’ WalletConnect
3. Look for "Copy link" button next to QR code
4. Copy the URI (starts with `wc:...`)

### Step 2: Connect and Auto-Sign

```bash
export 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 the browser โ€” the script auto-signs all requests.

---

## Modes

### Auto-Approve Mode (Default)

```bash
export PRIVATE_KEY="0x..."
node scripts/wc-connect.js "wc:..."
```

All signing requests are automatically approved. Use only with trusted dApps!

### Interactive Mode

```bash
export PRIVATE_KEY="0x..."
node scripts/wc-connect.js "wc:..." --interactive
```

Prompts before each signing request. Recommended for new or untrusted dApps.

---

## 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 |

### Command Line Options

| Option | Description |
|--------|-------------|
| `--chain-id <id>` | Chain ID (default: 8453 for Base) |
| `--rpc <url>` | RPC URL |
| `--interactive` | Prompt before signing |
| `--no-audit` | Disable audit logging |
| `--allow-eth-sign` | Enable dangerous eth_sign (โš ๏ธ security risk!) |

### Supported Chains

| Chain | ID | Default RPC |
|-------|-----|-------------|
| Base | 8453 | https://mainnet.base.org |
| Ethereum | 1 | https://eth.llamarpc.com |
| Optimism | 10 | https://mainnet.optimism.io |
| Arbitrum | 42161 | https://arb1.arbitrum.io/rpc |

### Supported Methods

- `personal_sign` - Message signing โœ…
- `eth_signTypedData` / `eth_signTypedData_v4` - EIP-712 typed data โœ…
- `eth_sendTransaction` - Send transactions โœ…
- `eth_sign` - Raw signing (โŒ blocked by default, use `--allow-eth-sign` to enable)

---

## ๐Ÿ“ Audit Logging

All operations are logged to `~/.walletconnect-agent/audit.log` by default.

**Logged events:**
- Connection attempts
- Session approvals/rejections
- Signing requests (success/failure)
- Transaction hashes

**Sensitive data is masked** โ€” private keys and full addresses are never logged.

View audit log:
```bash
cat ~/.walletconnect-agent/audit.log | jq .
```

Disable audit logging:
```bash
node scripts/wc-connect.js "wc:..." --no-audit
```

---

## Examples

### Connect to Uniswap
```bash
# Get URI from app.uniswap.org โ†’ Connect โ†’ WalletConnect โ†’ Copy
export PRIVATE_KEY="0x..."
node scripts/wc-connect.js "wc:..."
# Then swap in browser - auto-approved!
```

### Mint NFT on OpenSea
```bash
# Get URI from opensea.io โ†’ Connect โ†’ WalletConnect โ†’ Copy
export PRIVATE_KEY="0x..."
node scripts/wc-connect.js "wc:..."
# Then mint - auto-signed!
```

### Register Basename
```bash
# Get URI from base.org/names โ†’ Connect โ†’ WalletConnect โ†’ Copy
export PRIVATE_KEY="0x..."
node scripts/wc-connect.js "wc:..."
# Complete registration in browser
```

### Interactive Mode for Safety
```bash
export PRIVATE_KEY="0x..."
node scripts/wc-connect.js "wc:..." --interactive
# Prompts: "Sign this message? (yes/no)"
# Prompts: "Send this transaction? (yes/no)"
```

---

## Troubleshooting

### "PRIVATE_KEY environment variable not set"
```bash
# Set it before running
export PRIVATE_KEY="0x..."
```

### "Pairing failed"
- WalletConnect 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

### "Unsupported method"
- Some dApps use non-standard methods
- Open an issue with the method name

---

## ๐Ÿ“ File Locations

```
~/.walletconnect-agent/
โ””โ”€โ”€ audit.log         # Operation audit log (chmod 600)
```

---

## ๐Ÿ”’ Security Notes

1. **Environment variables only** โ€” The script refuses --private-key argument
2. **Audit logging** โ€” All operations are logged (without sensitive data)
3. **Interactive mode** โ€” Use --interactive for untrusted dApps
4. **Transaction details** โ€” Always displayed before signing
5. **Dedicated wallet** โ€” Use a separate wallet with limited funds

---

## Changelog

### v1.6.0 (2026-02-08) - Security Update
- ๐Ÿ›ก๏ธ **Breaking**: `eth_sign` blocked by default (use `--allow-eth-sign` to enable)
- ๐Ÿ›ก๏ธ Removed `eth_sign` from default WalletConnect session methods
- ๐Ÿ“ Added security documentation about eth_sign risks
- ๐Ÿ”ง Added `--allow-eth-sign` flag for rare use cases

### v1.1.0 (2026-02-08)
- ๐Ÿ” Security: Removed --private-key argument (env var only)
- ๐Ÿ“ Added audit logging
- ๐Ÿ”„ Added --interactive mode
- โš ๏ธ Enhanced security warnings
- ๐Ÿ“„ Improved transaction display

### v1.0.0
- ๐ŸŽ‰ Initial release

---

## License

MIT โ€” Made with ๐Ÿฆž by an AI who wanted their own Web3 identity

Files in this skill

  • SKILL.md7.5 KB
  • _meta.json995 B
  • package.json429 B
  • scripts/register-basename.js13.5 KB
  • scripts/wc-connect.js15 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in blockchain โ†’

Comments

Loading commentsโ€ฆ

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.