Quick start
running on your computer.
The shortest way from the package to a running site and an operator console on your own computer. It assumes Node.js 20.12 or newer; if not, see Requirements first.
01Before you start
node -vprints v20.12 or higher (22 LTS recommended).pnpm -vanswers (corepack enableships with Node; ornpm install -g pnpm). npm works too.- No Stripe or Telegram bot keys needed for a first look.
- A terminal: Terminal on macOS, any shell on Linux. On Windows use WSL (Ubuntu) or Git Bash, because the commands below are written for bash or zsh.
02The ten minutes
- Open a terminal in the unzipped folderThe one that contains
package.json. - Install
pnpm install # or: npm installbetter-sqlite3is a native module. If the install fails while building it, install your build tools (macOS:xcode-select --install; Ubuntu:sudo apt install -y build-essential python3) and run it again. - Create the configuration
For a local test setcp .env.example .envPUBLIC_URL=http://localhost:8787in.env. Leave the Stripe and Telegram bot values empty.ADMIN_SETUP_TOKENcan stay empty on your own computer: the server then prints a one-time setup code (on a server, set it; see First run). - Build and start
pnpm build # or: npm run build (compiles to dist/) pnpm start # or: npm start (plain node, no TypeScript loader) - Claim the siteOpen
http://localhost:8787, click Create account and sign up with the setup code from the log (or yourADMIN_SETUP_TOKEN). IfADMIN_EMAILis set, use that email too (First run). - Open the Admin consoleOpen
http://localhost:8787/adminand create the console owner with the same setup code (or token), an email and a password of at least 12 characters.
03What you should see
The log prints, among others:
[admin] No owner account yet. Open /admin and create it with this one-time setup code:
XXXX-XXXX-XXXX-XXXX
[admin] The code is shown once, here only. Each start before the owner exists adds a new code; any printed code works until the owner is created.
[admin] To choose the secret yourself instead, set ADMIN_SETUP_TOKEN in the environment and restart.
No operator yet. Use the setup code printed above twice: sign up at /signup to claim this site,
then create the console owner at /admin. (Or set ADMIN_SETUP_TOKEN in .env and restart.)
Receipts listening on http://localhost:8787 (public URL http://localhost:8787) · admin console http://localhost:8787/admin
Stripe off · Telegram off · workers on
- An empty home page and leaderboard: a real install starts with no providers, no signals and no numbers.
http://localhost:8787/healthzanswers{"ok":true,"version":"1.1.0"}.- The Admin console shows a warning: members have no way to pay yet. That is expected until you set a payment method (Earnings).
The same secret claims the operator account of the marketplace (the one that sees Operations) and creates the owner of the Admin console at /admin. It is ADMIN_SETUP_TOKEN when you set one, otherwise the code printed at start (a new one on every start until both accounts exist). Without it nobody can create either account. ADMIN_EMAIL, when set, is checked in addition; it is never enough on its own.
Start once with DEMO_MODE=1 in .env to get a labelled demo checkout and labelled strategy bots that publish real, sealed signals from live prices. Only on a test copy, never on a live site.
Continue with Installation for a server, or go straight to Admin console.
