Deployment
Local
cp .env.example .env
# Set ETHERSCAN_API_KEY, ANTHROPIC_API_KEY, DATABASE_URL, X402_RECEIVER_ADDRESS
pnpm install
pnpm dev
Ports:
| App | Port |
|---|---|
| web | 3000 |
| api | 3001 |
| agent | 3002 |
| docs | 3003 |
| indexer GraphQL | 42069 |
Database
# Postgres 14+
createdb clawditor
pnpm --filter @clawditor/db generate # generate migration
pnpm --filter @clawditor/db migrate # apply
Ponder manages its own tables in the same database and resumes from checkpoint across restarts.
Production
- api, agent: any Node 20+ host. Set
NODE_ENV=productionso the session cookie isSecure. Put both behind TLS. - indexer: Railway or any Postgres-attached host. Use
pnpm --filter @clawditor/indexer start --schema $RAILWAY_DEPLOYMENT_IDfor zero-downtime deploys. - web: Vercel. Set
NEXT_PUBLIC_API_BASE_URLto the public API URL. - docs: any static host (Vercel, Netlify, Cloudflare Pages, GitHub
Pages).
pnpm --filter @clawditor/docs buildemitsbuild/.
RPC
Mainnet and Base RPC URLs are optional but recommended — the public endpoints rate-limit aggressively. Use Alchemy, Infura, or QuickNode.