Skip to content

Prerequisites

Trademark Sentinel is open source under the MIT licence (see LICENSE at the repo root) — fork the repo and run it yourself, with no royalty or attribution beyond the licence header. This page lists what you need on your machine and which third-party accounts to register before the first wasp start.

System

ToolVersionNotes
Node.js24.14.1+The Wasp CLI 0.23 declares engines.node >=24.14.1. Node 20/22 fail at install. nvm install 24 && nvm use 24 is the easiest path.
Wasp CLI0.23.0 (pinned)Install with npm install -g @wasp.sh/wasp-cli@0.23.0. The version is pinned to match wasp.version in app/main.wasp. Don’t upgrade casually — coordinate with maintainers.
Postgres16Required for wasp db migrate-dev. You can either run wasp start db (Wasp launches Postgres in Docker for you) or point DATABASE_URL at any Postgres 16 instance.
DockerRecentNeeded if you let Wasp start Postgres for you, and used by the integration test container.

External service accounts

You can run the app end-to-end in development without paid tiers. The minimum set:

  • Email — Wasp’s Dummy provider is enabled by default in app/main.wasp. It logs verification links to the server console instead of sending real email, so no account is needed for local dev. For production, register a Brevo account (free tier covers low-volume transactional sends), generate an SMTP key, and switch emailSender.provider to SMTP — see the Wasp email-sender docs for the provider syntax.
  • Stripe — create an account and use test-mode keys (sk_test_...) for development. The webhook secret comes from the Stripe CLIstripe listen --forward-to localhost:3001/payments-webhook prints the signing secret you need.
  • Fly.io — required only for production deploys via wasp deploy fly. Sign up at fly.io, install flyctl, and run fly auth login.

The open-saas template also supports Lemon Squeezy and Polar as Stripe alternatives, plus optional integrations for analytics (Plausible, Google Analytics), file uploads (AWS S3), and AI (OpenAI). Each lives behind its own env vars — see Environment variables.

Next