Prerequisites
- Node 21+ (the project targets
>=21 <24) - PostgreSQL — any local instance; the schema self-applies on boot
- A test Telegram bot token from @BotFather
- A public HTTPS URL for the webhook (e.g. an ngrok tunnel) — the bot runs webhook-only
- Foundry (optional) — only to run the contract tests
Steps
1
Clone and install
2
Configure environment
Everything else has a default or is optional — see Environment variables.
3
Run
/health, applies the Postgres schema, and registers the Telegram webhook on boot.Useful scripts
Contracts
contracts/CanvasEscrowV0.sol (see Smart contract).
Next
- Environment variables — the full configuration reference
- API reference — the read and deposit endpoints
- System overview — how the pieces fit together