Arena — Sportsbook + House Games
Arena is a Laravel sports betting platform you install as one End Product. Players get a public board, accounts, bet slips, tickets, wallet flows, and in-house instant games. Staff get a full admin desk. A Flutter player app is included and talks to the same JSON API.
This is a hybrid sportsbook: the main product is sports betting (live and prematch fixtures, singles, accumulators, cash-out). House games (Aviator, Turbo tables, slots, video poker, Belote) ship in house mode so they work without a third-party studio contract.
You receive a Regular License or an Extended License when you Buy this Item. You do not acquire ownership of the Item. Envato is not a party to that license.
Live preview
Demo accounts exist only on that preview host. They are not created in the Purchaser zip. Use the demo credentials field on this Item page.
What you get in the download
Documentation/ — one English HTML help file (documentation.html). The same file is served on a live copy at /help/.
Files/ — the Laravel Item. Point the domain at public/, or use the included root .htaccess. A fresh copy has no users and opens /install.
Mobile/ — Flutter player app. It has no sports data of its own; every screen calls {APP_URL}/api/v1. You build the APK / AAB with the Flutter SDK (no pre-built binary is shipped).
LICENSE.txt — Item License pointer (Regular / Extended).The install seed is catalog only (sports, sample leagues, fixtures). Preview demo logins are not created on a Purchaser End Product. You create the first admin during setup.
Install in the browser
Upload the files, open the site, and finish four steps. Nothing is written until the purchase code is accepted.
Checks — PHP 8.3+, required extensions, writable folders
Purchase code — Envato Market code from CodeCanyon → Downloads → License certificate. One code binds to one domain through the Author license hub. You do not put an Author Envato token in your .env.
Database — MySQL or SQLite. Creates tables and the sports catalog only. No demo users.
Admin — the first staff account. That is the only user created during setup.
Player features
Sports board
Public betting board loaded from /api/v1/home (not hardcoded Blade matches)
16 sports in the catalog: Football, Basketball, Tennis, Volleyball, Ice Hockey, Rugby, Baseball, Racing, American Football, Boxing, Golf, Cricket, Table Tennis, MMA, Esports, Darts
Live, upcoming, and finished fixtures with 1X2 prices
Prematch board and in-play board
Match center: form, head-to-head, related fixtures, extra markets (over/under, BTTS, and more)
Team pages and player profiles
League favorites, fixture favorites, and search
Optional The Odds API import for live leagues, fixtures, and prices. A sample catalog still shows without a key.
Betfair Exchange-style page — simulated back/lay UI from your fixture odds. This is not a live Betfair API connection.Bet slip and tickets
Session bet slip: add, remove, clear, change stake
Singles and multis (accumulators)
Booking codes — share a slip; another player can load it and bet
My Bets ticket history
Early cash-out when you enable it: singles, multis, partial, live-only, configurable marginWallet and account
Wallet balance and transaction history
Deposits through hosted gateways or manual bank transfer with proof upload (Extended License)
Withdrawals with quote → confirm, then staff approval (Extended License for real cash-out)
Promo code redemption
Loyalty / rewards points that can redeem to balance
Welcome credit setting
Register, sign-in, profile, avatar
KYC upload (ID front/back) with admin approve or reject
Referral code, invite link, and commission settings
Self-exclusion (1–3650 days)
Optional TOTP two-factor authentication
Help / FAQ, privacy, terms, cookie policy, and 18+ responsible play pages
House games (work without a studio key)
Each game can run in house mode (included, server-side) or embed mode (iframe to a studio URL you already have a contract for). House mode is the default and needs no third-party key.
Aviator — crash game; cash out before the plane flies away
Turbo Games — Dice, Plinko, Mines, Goal, Hi-Lo, Mini Roulette, Keno
Slots — 3-reel house slot
Poker — Jacks or Better video poker
Belote — 162-point contract versus the houseAdmin controls per game: house vs embed, stakes, house edge, max multiplier / payout.
Admin desk
Dashboard and analytics
Bettors: all / active / banned
Sports categories, teams, leagues
Fixtures and casino game records
Bets: pending, won, lost, refunded
Declare outcomes and markets
Deposits and withdrawals queues
KYC review
Referrals and promo codes
Support tickets (staff side)
Reports: overview, transactions, game rounds
Site pages and FAQ
Staff roles: Super admin, Finance, Support, Risk / trading, MarketingSystem settings
General: site name, logo, favicon, currency, timezone
Bet and wallet limits
Cash-out rules (enable, singles/multis, partial, live-only, margin)
Odds API (The Odds API v4): key, regions, markets, sports, import
Aviator / Turbo / Slots / Poker / Belote API tiles
Referral commission
Email / SMTP with test send
SMS gateways: Twilio, Africa’s Talking, Termii, Vonage, or log-only
Payment gateways and withdrawal methods
KYC requirement before cash-out
SEO, cookie bar, custom CSS
Purchase code (Regular / Extended ticket)
Maintenance mode
Payments
Eight deposit rails ship in the Item. Live player deposits need an Extended License and a signed hub ticket.
Stripe — hosted Checkout
Paystack — cards / mobile (Nigeria, Ghana, South Africa, Kenya)
Flutterwave — pan-African + cards
Razorpay — India / INR
M-Pesa — Kenya mobile money
Orange Money — Francophone Africa
pawaPay — pan-African mobile money
Bank transfer (manual) — proof upload, staff approve. Ships enabled, still needs Extended to take deposits.Automated payout drivers: Paystack, Flutterwave, M-Pesa, pawaPay. Stripe, Orange, Razorpay, and bank transfer pay out as staff-approved manual rails.
One platform currency per install (large ISO list). Each gateway can charge in its own currency (NGN, INR, XOF, and others). This is not a multi-wallet / per-user currency switcher.
Flutter player app
Same /api/v1 API as the website (Laravel Sanctum bearer tokens)
Tabs: Board, My bets, Wallet, Play
Screens: home board, sport, match, bets, wallet, games grid, game, login / register, profile, settings
Build: flutter build apk --dart-define=API_BASE=https://your-domain/api/v1Web-only (not in the Flutter app): KYC upload, referrals page, booking codes, exchange page, 2FA, loyalty redeem, friends, activity chart, policy pages, admin.
JSON API
Public: bootstrap, home board, sports, teams, matches, search, exchange, games, countries, login, register
Authenticated: profile, slip, place bet, cash-out, wallet, deposit, withdraw, play house gameThe website homepage itself is API-first. The Flutter app cannot run until your Laravel copy is installed and reachable.
Regular License vs Extended License
Regular License — run one End Product: board, slips, tickets, house games, admin, catalog. Player deposits and live payment gateways stay off (Envato “Sold” / Sell).
Extended License — the same End Product, plus player deposits, live gateways, and cash-out of real balances after the Author hub signs the license ticket.One purchase code binds to one domain. A live book that takes player money also needs any gambling licence your country requires. The Item License is not a gambling licence.
Requirements
PHP 8.3 or newer
Extensions: ctype, curl, dom, fileinfo, json, mbstring, openssl, pdo, tokenizer, xml, plus pdo_mysql or pdo_sqlite (bcmath recommended)
Writable storage/ and bootstrap/cache/
Outbound HTTPS (purchase code is checked through the Author license hub)
MySQL 8 recommended for a live host; SQLite is enough to try the Item locally
Cron every minute on a live host: * * * * * php /path/to/artisan schedule:run
Flutter SDK (Dart 3.12+) and Android Studio only if you will build the mobile appScheduled tasks included: settle bets every minute, tick fixtures every minute, fetch odds hourly, refresh live prices every five minutes.
What you must have vs optional
Required to finish install: a valid CodeCanyon purchase code and outbound HTTPS to the Author license hub.
Required for the website and Flutter app: your own Laravel /api/v1 after install.
Optional for first boot: The Odds API. Seeded sample leagues still show.
Optional, Extended License: Stripe, Paystack, Flutterwave, Razorpay, M-Pesa, Orange Money, pawaPay. Manual bank transfer still needs Extended to take deposits.
Optional: SMTP, SMS (Twilio / Africa’s Talking / Termii / Vonage), third-party game studios. House-mode games work without studio keys.
Limitations (read before you Buy)
English UI only. There is no language switcher in this version.
Club crests, competition marks, and player photographs in the download are sample / preview data. They are not licensed trademarks. Replace them before going live.
The Exchange page is a simulated UI from your own odds. It is not connected to Betfair.
Third-party casino studios are embed-only. No sandbox keys are included.
Push-notification toggle is reserved for a future channel. FCM / APNs is not implemented.
No pre-built APK. You compile the Flutter app yourself.
Laravel, Sanctum, Composer packages, Font Awesome Free, and bundled fonts keep their own licenses (split license). The Item itself is not MIT.
Purchase-code activation is for Envato Market. Envato Elements is a different license if this Item is later linked there. An Elements download is not a Market purchase code.
AI-generated work is not the main download.
Changelog
1.0.0 — First Envato Market submission
Browser install wizard (checks → purchase code → database → admin)
Regular / Extended license ticket via the Author hub
Catalog-only seed (no preview accounts in the zip)
API-first sports board and Sanctum JSON API
Flutter player app on the same API
House games: Aviator, Turbo (7 tables), slots, poker, Belote
Eight payment rails (Extended), SMS and SMTP settings
Single English HTML help file at /help/