Sign in to Antimatter

Wrong network

01· Documentation

How It Works

Six deterministic steps from MetaMask to payout. No registration. No custodian. The smart contract handles every transition; Chainlink VRF picks every winner.

01
League
Pick tier
02
Wallet
Sign in
03
Deposit
Send USDT
04
Fill
Full round
05
Draw
VRF roll
06
Payout
Claim prize
01

Choose your league

Select from 9 leagues ranging from Copper ($50) to Antimatter ($120,000). Each league supports 3, 10, or 100 participants based on your chosen game mode — odds scale accordingly: 1 in 3 for Blitz, 1 in 10 for Classic, 1 in 100 for Epic.

Copper
Bronze
Silver
Gold
Palladium
Platinum
Rhodium
Iridium
Antimatter
02

Connect your wallet

Connect your MetaMask wallet. No registration required — just sign a message to authenticate. The signature lives in your wallet, never on our servers. There is no email, no password, no KYC unless your league requires it.

🦊
Sign message · MetaMask
Sign in to Antimatter · nonce 0x4f8c
● 0 gas
03

Deposit USDT

Send the exact ticket price to the pool address. The smart contract automatically detects your deposit and assigns you a position in the round. No manual hash entry, no support ticket if you fat-finger — the contract listens on its own deposit() function.

tx →USDT.transfer(pool, 500_000000)auto-assigns position #7/10
04

Wait for the round to fill

Once all participants have joined — 3, 10, or 100 depending on your game mode — the round closes automatically. The system requests a random number from Chainlink VRF in the same transaction as the final join. You can watch slots fill in real time in Live Activity.

8
9
10
7/10 seated
05

Winner determination

Chainlink VRF generates a provably random number from 1 to the total participant count. The participant holding that number wins the entire pool minus the platform fee. The VRF proof is published on-chain alongside the result, and anyone can re-verify it.

// fulfillRandomWords() callback
uint256 winnerIdx = randomWord % round.participants.length;
winner = round.participants[winnerIdx];
emit RoundResolved(leagueId, roundId, winner, prize, fee);
06

Claim your winnings

The payout is not automatic — you must claim it. Our UI requests a time-limited EIP-712 signature from the backend, which you then submit on-chain via claimPrize(). You can optionally redirect the prize to a different wallet. If the prize goes unclaimed, the round eventually transitions to an unclaimed state and participants can request refunds.

Your guarantee

Every round is verifiable on-chain.

The Chainlink VRF proof ensures complete transparency — no one can manipulate the outcome. Not us, not Chainlink, not the winner, not a miner reordering blocks. The math is fixed before any randomness is requested.

// every round emits
event RoundResolved(
  uint64 indexed leagueId,
  uint64 indexed roundId,
  address indexed winner,
  uint256 prize,
  uint256 fee
);