Lucky Epoch is the live NARA prize-pool app served at https://www.naraprotocol.io/lotto.
npm install
npm test
npm run build
npm run devPrimary production setup:
- App repo:
https://github.com/NARAProtocol/lotto_nara.git - Vercel project:
lotto-nara - Vercel app URL:
https://lotto-nara.vercel.app/lotto - Main site route:
https://www.naraprotocol.io/lotto
Create .env from .env.example for a real RainbowKit project ID during local builds.
VITE_RAINBOW_PROJECT_ID=your_project_id
VITE_WALLETCONNECT_PROJECT_ID=your_project_id
VITE_BASE_RPC_URL=https://base-mainnet.g.alchemy.com/v2/YOUR_KEYIf neither project ID variable is set, the app still builds, but WalletConnect-specific flows may be limited.
Do not rely on Vercel's default Git auto-deploy for this repo while it is private and the Vercel workspace stays on Hobby. That setup can block production deploys based on commit author.
The permanent deploy path is GitHub Actions using the Vercel project owner's token.
Workflow file:
.github/workflows/deploy-vercel-production.yml
Required GitHub repository secrets in NARAProtocol/lotto_nara:
VERCEL_TOKENVERCEL_ORG_IDVERCEL_PROJECT_ID
One-time setup:
- In the Vercel dashboard, open the
lotto-naraproject. - Copy the
Project IDandTeam IDorOrg IDfrom project settings. - In GitHub
NARAProtocol/lotto_nara, add the three secrets above. - Keep the Vercel project env vars set in Vercel as usual.
- Push to
mainor run theDeploy Lotto To Vercelworkflow manually.
Recommended Vercel setting:
- Disable automatic Git deployments for this project, or ignore blocked Git deployment entries and treat the GitHub Action deployment as the production source of truth.
Cloudflare Pages commands remain in package.json, but Vercel is the active production path for lotto now.
npm run cf:project:create
npm run deploy:cf:prod