Naxfront
Start a project +234 906 638 8268 WhatsApp contact@naxfront.com
NAXFRONT LTD · RC 7371111
ABUJA, NIGERIA
Work / Esports and skill gaming

Gamestakers

A staking and tournament platform where escrow holds every stake until a result is settled.

BackendLaravel · PHP · MySQL
RealtimePusher · Laravel Echo
FrontendBlade · Tailwind
PaymentsMulti gateway · crypto
IdentityThreshold KYC
InfrastructureVPS · Nginx · queues
Gamestakers: Player dashboard, wallet balance, game state and transaction log
Player dashboard, wallet balance, game state and transaction loggamestakers.co · live
01

The constraint

Players stake real money on a match they play themselves. Funds cannot move on anyone's say-so, a dropped connection cannot become a double payout, and a losing player will contest a result the moment it goes against them.

02

What most people would have built

A balance column on the user record, a payout endpoint, and a support inbox for when it goes wrong. That works until two requests arrive at once, or a gateway retries a webhook, or someone disputes a match that already paid out.

03

The arena

Challenge a specific player or take an open challenge. The stake is held the moment both sides accept, not when the match ends, so neither player can walk away with the money still in play.

Gamestakers: 1v1 arena, open and direct challenges
1v1 arena, open and direct challenges
04

Tournaments

Brackets that fill, lock and settle on their own. Capacity checks before entry, a lifecycle the engine drives rather than an admin, winner voting with an override for the disputes that voting cannot settle, and a chat beside every match.

Gamestakers: A live tournament with match chat and registration state
A live tournament with match chat and registration state
05

The wallet

Multi currency balances with card and crypto funding. Every credit and debit is an entry, never an edit, so the balance is derived rather than stored and a race condition cannot quietly rewrite it.

Gamestakers: Wallet, balances and transaction history
Wallet, balances and transaction history
06

Funding and payouts

Deposits clear through several gateways and a crypto path. Each transaction carries an idempotency key, so a retried webhook resolves to the same result instead of paying twice.

Gamestakers: Crypto deposit flow
Crypto deposit flow
07

Identity

KYC steps in above a threshold rather than at signup, so a casual player is not asked for documents to place a small stake, and a large withdrawal cannot leave without them.

Gamestakers: Profile and verification state
Profile and verification state
08

What broke, and what we would change

Every payment path was called more than once in the wild. Gateways retry, users double click, mobile connections drop mid request and the client resends. None of that was theoretical. And the dispute flow was built after the payment flow. Next time it goes in at the same time, because the states a dispute needs have to exist in the ledger from the first entry, not be reconstructed later.

Next
Nursing jobs, United States
RN411