π¦ ClawHub
Walletconnect Requester
by @bevanding
Secure WalletConnect integration for AI agents. Connect to user wallets as a DApp (Proposer) without ever handling private keys. Request transactions and sig...
π‘ Examples
Step 1: Create a Session
export WC_PROJECT_ID="your_project_id"
node scripts/wc-requester.js connect
Output:
WalletConnect URI: wc:abc123...@2?relay-protocol=irn&symKey=xyzScan this QR code with your wallet:
[QR CODE]
Waiting for wallet to connect...
Step 2: Request a Transaction
node scripts/wc-requester.js request-tx \
--to 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 \
--data 0xa9059cbb... \
--value 0 \
--chain 8453
User sees in wallet:
Send 10 USDC to 0x1F3A...?
[Approve] [Reject]
Step 3: Request a Signature
node scripts/wc-requester.js request-sign \
--message "Sign this message to verify ownership" \
--chain 8453
βοΈ Configuration
Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| WC_PROJECT_ID | Yes | WalletConnect Cloud Project ID |
| WC_METADATA_NAME | No | DApp name shown in wallet |
| WC_METADATA_URL | No | DApp URL |
| WC_METADATA_ICONS | No | DApp icon URL |
Namespaces Configuration
The skill requests minimal permissions by default:
{
"eip155": {
"chains": ["eip155:8453", "eip155:1"],
"methods": ["eth_sendTransaction", "personal_sign"],
"events": ["accountsChanged", "chainChanged"]
}
}
π Tips & Best Practices
"No active session"
Runconnect first to create a session."User rejected request"
User declined in their wallet. Ask if they want to retry."Session expired"
Sessions last 7 days by default. Reconnect to create a new session."Unsupported chain"
User's wallet doesn't support the requested chain. Ask them to switch networks.TERMINAL
clawhub install walletconnect-requester