Prerequisites
| Tool | Version |
|---|---|
| Node.js | 18+ |
| pnpm | 10+ |
| OpenClaw CLI | latest |
- Privy — embedded wallet + Google OAuth
- Pimlico — gasless bundler API key
- Telegram bot token — for review notifications
- Zerion — portfolio data (optional)
Install
This is a pnpm workspace. Run from the root:Configure Environment
- Client
- Server
Create
client/.env.local:scripts/.env.example and server/.env.example for full templates.
Run Locally
Verify It Works
- Visit
http://localhost:3000 - Sign in with Google → embedded wallet is created
- A Safe smart account is deployed on BNB Chain
- Navigate to Send → enter a recipient and amount
- Confirm → transaction is queued
- Check server logs for the risk score and verdict
- APPROVE: tx executes automatically, txHash appears in the UI
- REVIEW: check Telegram for the interactive approve/reject message
Troubleshooting
Transaction stuck in queue
Transaction stuck in queue
Check server logs for Pimlico API errors. Verify
AGENT_PRIVATE_KEY is correctly set in server/.env.No Telegram notification
No Telegram notification
Verify
TELEGRAM_BOT_TOKEN is set in server/.env and the bot has been started in your Telegram chat.Safe not deploying
Safe not deploying
Confirm BNB Chain RPC is reachable and your Pimlico API key has BSC network access enabled.
Balance not showing
Balance not showing
ZERION_API_KEY may be missing from server/.env. Portfolio data requires a valid Zerion API key.