Quickstart
This quickstart covers the repository as it exists today. It starts the web application and API locally; it does not deploy contracts or create a token.
Prerequisites
- Node.js
>=22.13.0 <23 - npm with workspace support
- Docker and Docker Compose for the full runtime
- Foundry only if running contracts outside the supplied test container
Application development
git clone <your-authorized-raidz-repository-url>
cd raidz
npm install
npm run dev
The default development endpoints are:
- Web:
http://localhost:3000 - API:
http://localhost:4000 - API liveness:
http://localhost:4000/health - API readiness:
http://localhost:4000/ready
Without DATABASE_URL, health works but identity-backed endpoints return 503 IDENTITY_STORE_UNAVAILABLE. The score preview and campaign preflight endpoints do not require the identity store.
Full local stack
cp .env.example .env
docker compose -p raidz up --build
The Compose web endpoint is http://127.0.0.1:3300. PostgreSQL and Redis remain on the project network and are not published to the host.
Optional profiles:
docker compose -p raidz --profile analytics up -d
docker compose -p raidz --profile integrations up -d bot
The bot requires a real, protected credential and an HTTPS application URL outside localhost. Never commit the token.
Verify everything
npm run check
npm run contracts:test
docker compose -p raidz config --quiet
npm run check runs lint, TypeScript checks, unit/component tests, and production builds for the domain, API, bot, and web workspaces. Contract tests build an isolated image and run Foundry inside it.
Where to go next
- Build against the HTTP boundary: API reference
- Understand the model: Architecture
- Review contract behavior: Smart contracts
- Operate the stack: Deployment and runtime

ATTENTION, WITH PROOF.