Multi-language, white-labelable onboarding platform that guides new users into the Solana ecosystem. Captures leads through a step-by-step flow, qualifies them, and directs them to wallets, bridges, and fiat on-ramps.
Built by Superteam Brazil.
- Multi-step onboarding wizard — progressive lead capture (personal data, socials, intent, qualification)
- Guide system — community members register as guides, get referral links, and earn points for each onboarded user
- Claim codes — reward users with SOL via claim codes tied to events
- SOL payments via wallet — guides pay redemptions directly from the dashboard using Phantom/Solflare with on-chain TX verification
- Admin panel — role-based dashboard (superadmin vs guide) with stats, lead management, CSV export, and click analytics
- Public leaderboard — ranks guides by onboarding points
- Multi-language (i18n) — PT-BR (default) and EN, with language selector in the navbar
- LGPD compliant — consent checkbox, privacy policy page, right-to-be-forgotten API
- White-labelable — swap logos, colors, and copy to match your community
- Framework: Next.js 16 (App Router) + React 19 + TypeScript
- Styling: Tailwind CSS 3.4
- Database: MongoDB (Mongoose)
- i18n: next-intl
- Payments: @solana/web3.js (wallet-signed transfers)
- Icons: Lucide React
- Deployment: Vercel
- Node.js 18+
- Git
- MongoDB Atlas account (free tier)
# Clone the repo
git clone https://github.com/solanabr/onboarding.git
cd onboarding
# Install dependencies
npm install
# Configure environment
cp .env.example .env.local
# Edit .env.local with your MongoDB URI, JWT secret, etc.
# Create your first admin account
MONGODB_URI="mongodb+srv://..." \
ADMIN_USERNAME="admin" \
ADMIN_PASSWORD="your-secure-password" \
ADMIN_ROLE="superadmin" \
ADMIN_DISPLAY_NAME="Admin" \
npx tsx scripts/seed-admin.ts
# Start the dev server
npm run devOpen http://localhost:3000.
Windows? See the docs page for PowerShell-specific commands.
See .env.example for all variables with detailed comments.
| Variable | Required | Description |
|---|---|---|
MONGODB_URI |
Yes | MongoDB Atlas connection string |
JWT_SECRET |
Yes | Secret for admin auth tokens (32+ chars) |
DISCORD_WEBHOOK_URL |
No | Discord notifications for new leads |
ADMIN_ALLOWED_IPS |
No | Restrict admin panel to specific IPs |
NEXT_PUBLIC_SOLANA_RPC_URL |
No | Solana RPC (defaults to PublicNode) |
The app includes a built-in docs page at /docs with two sections:
- For Developers — setup, environment vars, MongoDB, admin creation, step customization, i18n, security, LGPD, Vercel deploy, API reference
- For Guides — registration, referral links, dashboard, claim codes, leaderboard
- Input validation with Zod on all API routes
- IP-based rate limiting on all endpoints
- JWT authentication with httpOnly + SameSite strict cookies
- CSRF protection via SameSite=strict
- On-chain TX verification for SOL payments
- Passwords hashed with bcrypt (cost factor 12)
- Session tokens for lead ownership
- Device fingerprinting to limit abuse
- All npm dependencies pinned to exact versions
MIT — Superteam Brazil



