Production-ready super app for decentralized betting on the Azuro Protocol. Supports all Azuro chains (Gnosis, Polygon, Chiliz, Base), Solana wallet connection, and full SDK features: prematch/live markets, bet placement, cashout, freebets, wrap/unwrap, and redeem winnings.
- Multi-chain: Gnosis, Polygon, Polygon Amoy, Chiliz, Chiliz Spicy, Base, Base Sepolia
- Wallets: EVM (MetaMask, WalletConnect, etc.) + Solana (Phantom, Solflare)
- Markets: Prematch and live games, conditions, outcomes, real-time odds (Azuro SDK)
- Betting: Single and combo bets, bet slip, fee and max bet, place bet
- Cashout: Precalculated cashouts for active bets (when supported on chain)
- Freebets: Bonuses and available freebets
- Wrap/Unwrap: Native token ↔ bet token
- History: Bet history, redeem winnings, simple stats
- UI: Responsive dark UI, Sonner toasts, Shadcn/UI
- Framework: Next.js 14 (App Router), React 18
- Azuro: @azuro-org/sdk, @azuro-org/toolkit, @azuro-org/dictionaries
- EVM: wagmi, viem
- Solana: @solana/web3.js, @solana/wallet-adapter-react
- UI: Tailwind CSS, Shadcn/UI (Radix), Lucide, TanStack Query
- Toasts: Sonner
- Node.js 18+
- npm or yarn
git clone <repo>
cd "GIB SPORTS"
npm installIf you see peer dependency or optional dependency errors (e.g. React 18 vs 19, or graphql-tag / @azuro-org/sdk-social-aa-connector missing), use:
npm install --legacy-peer-depsEnsure graphql-tag and @azuro-org/sdk-social-aa-connector are installed (they are listed in package.json).
Copy .env.example to .env.local and set:
NEXT_PUBLIC_AFFILIATE_ADDRESS: Azuro affiliate address used for bet/freebet attributionNEXT_PUBLIC_OWNER_ADDRESS(optional): owner label shown in dashboard badgesNEXT_PUBLIC_TREASURY_ADDRESS(optional): treasury label shown in dashboard badgesNEXT_PUBLIC_PROMO_CAMPAIGN_ID(optional): promo identifier shown in marquee/copyNEXT_PUBLIC_PROMO_HEADLINE(optional): primary markets hero headlineNEXT_PUBLIC_PROMO_SECONDARY(optional): secondary markets hero lineNEXT_PUBLIC_SOLANA_RPC(optional): Solana RPC URL (default: mainnet-beta)NEXT_PUBLIC_SUPPORT_TELEGRAM_URL(optional): support link on/geo
npm run devOpen http://localhost:3000.
npm run build
npm start- Push to GitHub and import the repo in Vercel.
- Add environment variables in Vercel project settings:
NEXT_PUBLIC_AFFILIATE_ADDRESSNEXT_PUBLIC_OWNER_ADDRESS(optional)NEXT_PUBLIC_TREASURY_ADDRESS(optional)NEXT_PUBLIC_PROMO_CAMPAIGN_ID(optional)NEXT_PUBLIC_PROMO_HEADLINE(optional)NEXT_PUBLIC_PROMO_SECONDARY(optional)NEXT_PUBLIC_SOLANA_RPC(optional)NEXT_PUBLIC_SUPPORT_TELEGRAM_URL(optional)
- Deploy. No extra config needed for Next.js.
app/– Next.js App Router (pages:/,/markets,/live,/bets,/history,/cashout,/freebets,/wrap)components/– UI (button, card, dialog, etc.), layout (header), market (MarketCard), betslip (BetSlip), wallet (WalletButton, ChainSelect)providers/– Theme, Wagmi + Azuro SDK + QueryClient, Solana walletlib/– Azuro chain config, wagmi config, utils
MIT