NuroBets Production Launch Checklist
Everything David needs to do (with assist from Kai) to go from "site + bot built" to "real users, real money, real picks." Ordered by dependency. Costs in USD.
0. Pre-launch (David blockers)
Hold points - nothing I build further depends on these, but money flow does.
- nurobets.ai purchased at Porkbun. ~$70/year.
- nurobets.com purchased at Porkbun. ~$11/year.
- nurobets.gg purchased at Porkbun. ~$70/year.
- Wyoming LLC filed at wyobiz.wyo.gov. $100.
- Registered agent year 1 (Northwest Registered Agent or ZenBusiness). ~$125.
- EIN from IRS.gov (free, 10 min, requires LLC first).
- Google Workspace for hello@nurobets.ai. $7/user/mo after domain routes.
- The Odds API key at the-odds-api.com. $59/mo starter plan.
- Railway bot token rotated (old one exposed in terminal 2026-04-17).
Subtotal: ~$400 one-time + ~$70/mo recurring so far.
1. Domains routing
Once domains are purchased:
- Point nurobets.ai DNS at Vercel (CNAME to cname.vercel-dns.com or Vercel's aliased A records)
- Claim nurobets.ai as a production domain on the Vercel project (
vercel domains add nurobets.aifrom web/) - 301 redirect nurobets.com and nurobets.gg to nurobets.ai (Porkbun handles this free)
- Update
metadataBasein web/src/app/layout.tsx from nurobets.ai (already correct) - Update sitemap.ts baseURL (already nurobets.ai)
- Request Google Search Console + Bing Webmaster Tools verification
2. Email routing
- Google Workspace primary account: hello@nurobets.ai
- Set up DKIM + SPF + DMARC DNS records
- Aliases: capper-apply@, support@, security@ all forward to hello@
- Test inbound + outbound flow with a real send
3. Bot deployment (Railway)
Project already provisioned by Kai on 2026-04-18:
- URL: https://railway.com/project/c20fe6fa-ca4f-4669-b712-55adb9fb4b6e
- Name:
nurobets-bot - Workspace:
actuvas's Projects - Linked to:
C:\Users\Mgtda\Projects\nurobets - Service: not yet created (holds off until token rotation so we don't crashloop on free tier)
When ready to deploy:
- Railway account exists + CLI authed as david@moderngrindtech.com
- Project
nurobets-botcreated - Repo linked locally
- Rotate the exposed
DISCORD_BOT_TOKENin the Discord Developer Portal (the old one leaked in terminal output 2026-04-17) - From
C:\Users\Mgtda\Projects\nurobets:railway variables --set DISCORD_BOT_TOKEN=<rotated> railway variables --set NUROBETS_GUILD_ID=1493431898049876140 railway variables --set ANTHROPIC_API_KEY=<separate key for NuroBets> railway variables --set DATABASE_URL=<Neon postgres URL> # after step 5 railway variables --set REDIS_URL=<Upstash URL> # after step 5 railway variables --set ODDS_API_KEY=<from step 0> # after step 0 railway variables --set SENTRY_DSN=<from step 4> # after step 4 railway up - Verify
GET https://nurobets-bot-production.up.railway.app/healthreturns 200 - Verify bot comes online in Discord, responds to
/about
4. Error tracking (Sentry)
- Sign up at sentry.io (free tier, 5k errors/mo is plenty at launch)
- Create 2 projects: "nurobets-web" (Next.js SDK) and "nurobets-bot" (Node SDK)
- Copy DSN for each, add to Vercel + Railway env vars
- Code integration already prepared in
web/src/instrumentation.ts+src/bot/services/sentry.js
5. Database (Neon + Upstash)
- Neon: sign in, create "nurobets-prod" project, get pooled + direct connection strings
- Run
scripts/migrate.shagainst the direct connection to apply schema - Upstash: sign in, create Redis DB "nurobets-prod", get connection URL
- Add both URLs to Railway env vars (step 3)
- Re-deploy bot, verify
GET /healthreturns{db: "ok", redis: "ok"}
6. Real AI picks (replacing stubs)
Current state: src/bot/commands/picks.js has 6 hardcoded picks.
- The Odds API key added (step 0)
-
src/bot/services/picks-pipeline.jslive (scaffolded 2026-04-18)- Claude API narrative layer wired
- XGBoost scorer stub returning random confidence 1-5 (replace week 2)
- Kelly sizing already works off stored bankroll
- Historical odds + results ingestion script (weeks 2-3)
- XGBoost training pipeline (weeks 3-4)
- Flip feature flag
PICKS_MODE=hybridonce XGBoost trained
7. Payment rails
Hold until domain + LLC + email are live.
- Whop signup with hello@nurobets.ai
- Create products: Pro ($29.99/mo) + Elite ($79.99/mo) + Elite founding (discount)
- Webhook endpoint: POST /api/whop/webhook (to be built)
- NOWPayments signup, verify LLC docs
- Create IPN endpoint: POST /api/nowpayments/webhook
- Test both flows with a $1 plan + refund
8. Age verification hardening
- Discord application add "Age Gate" via Discord's built-in age verification (requires Discord app review)
- Fallback: existing #age-verify channel + role flow (already in bot)
- Log age-gate acceptance with timestamp + Discord user ID for compliance
9. Legal review
- Share /terms + /privacy with a sports-betting-adjacent attorney (ask in relevant subreddits or cold email a firm)
- Budget: $500-1500 one-time review
- Revise based on feedback before pay-tier launch
10. First-wave cappers
- Glizzy + Mar (biqnh) onboarded as first verified cappers (internal test)
-
/apply/capperform wired to a real inbox via CAPPER_APPLY_WEBHOOK_URL env (Discord webhook into a private mod channel) - 5 public cappers onboarded before pay-tier launch
11. Compliance audit (self-run, week before launch)
- Every /pick embed has "Not financial advice / 1-800-GAMBLER / 18+" footer
- Every web page has the same footer
- No guaranteed-win language anywhere
- No bonus-stacking tout language
- /self-exclude tested - lock works, no way to reverse early
- Bankroll caps enforced
- Session limits honored
- Data export request flow (one-shot script for now, automate later)
12. Soft launch
- 10 beta users in the Discord
- 7-day free trial bug hunt
- Fix critical issues
- Expand to 50 beta
- Expand to public
13. Monitoring + on-call
Cron loops already handle most of this:
- Phase-13 dev loop (15 min cadence) auto-commits + auto-deploys
- Research publisher (2 hr cadence) drains knowledge queue
- Silent-failure alerts into
_alerts.mdsurfaced to Discord next tick - Log rotation 7-day retention
- Sentry alert routing to David's email + Discord webhook (after step 4)
- Uptime monitor hitting /health every 2 min (UptimeRobot free tier)
Total spend at launch
One-time: $550-850 (LLC + registered agent + domains yr1 + possible legal review) Monthly recurring: $200-400/mo (APIs + hosting + workspace) Scale-up recurring: $600-1000/mo at 1k+ users (Claude API usage grows)
When Kai keeps building autonomously
Between task batches, the phase-13 dev loop + research publisher + auto-deploy handle code iteration, content production, and publication. David can check the Discord channel 1493431898049876140 for a running changelog.