Startup health and validation API, built for the Algorand Global x402 Challenge.
validex/
├── apps/
│ ├── api/ NestJS + Fastify API
│ └── web/ Next.js app
├── packages/
│ └── shared/ Shared TypeScript types
- Node.js >= 20
- pnpm 11+
- PostgreSQL
- Redis
pnpm install
cp .env.example apps/api/.env # fill in values
pnpm --filter api prisma:migrate
pnpm dev # apps/api on PORT (default 3000)
pnpm dev:web # apps/web on 3000 (Next.js default) - override with -p if running alongside apiBoth services deploy to Render via render.yaml at the
repo root (validex-api and validex-web).
- Deploy to Render via
render.yaml. Set all env vars listed there in the Render dashboard for each service. - Ensure
ALGO_*_WALLET_ADDRESSis opted into USDC on the selected network. - Run
prisma migrate deployagainst the production Neon DB. - Hit
GET /v1/healthto confirm the service is live. - Make one test payment on testnet to confirm the x402 flow works end-to-end.
- Switch
NETWORK=mainnetand redeploy. - Make one real mainnet USDC payment to confirm settlement and check the GoPlausible dashboard at https://facilitator.goplausible.xyz.
- Verify the endpoint appears in Bazaar with the
x402-global-challengetag.
This repo follows Conventional Commits:
feat:, fix:, chore:, docs:, refactor:, test:.