How BNB Machine Winners Are Chosen: Chainlink VRF Explained
Nobody picks BNB Machine winners. Learn how Chainlink VRF creates a provably random number, how the proof is checked on-chain, and how to verify a draw.
Nobody picks the winners in BNB Machine: not the team, not the owner, and not Chainlink. Winners are drawn with Chainlink VRF (Verifiable Random Function), a service that produces a random number together with a cryptographic proof that the blockchain checks.

Why randomness on a blockchain is hard
Blockchains are deterministic: every computer must reach the same result, so there's no built-in "random" button. Simple tricks like using the block time can be predicted or influenced. That's why serious on-chain games use an outside source of randomness that can be proven fair.
What Chainlink VRF is
Chainlink is the most widely used network for bringing outside data onto blockchains. Its VRF service generates a random number using a secret key and also produces a proof that the number came from that key and that specific request. The proof is checked by Chainlink's coordinator contract on BNB Smart Chain before the number reaches BNB Machine. If the proof is wrong, the number is rejected.
A draw, step by step
- The round fills. The last ticket sold triggers the draw automatically.
- The contract requests a random number from Chainlink VRF (
RandomnessRequestedevent). - Chainlink answers with the number and its proof, and the proof is verified on-chain.
- The contract stores the number (
RandomnessFixed) and turns it into winning ticket numbers. - Winners are paid to their earnings balance (
WinnerSelectedevents).
Why nobody can cheat the draw
- The team can't predict it: the number doesn't exist until after the round is full.
- Chainlink can't choose it: the proof ties the number to the key and the request; a different number would fail the check.
- The owner can't override it: the contract has no function to choose or change a winner.
- There's no backup method anyone could steer: BNB Machine uses Chainlink VRF only, not block data that could be re-rolled.
How to verify a draw yourself
- Open the BNB Machine contract on BscScan and go to the Events tab.
- Find
RandomnessRequestedfor the pool and round, then the matchingRandomnessFixedwith the random number. - Check the
WinnerSelectedevents: each shows the winner's address, ticket number and prize.
What if Chainlink is slow?
Chainlink normally answers within a minute or two. If no answer arrives within 24 hours, anyone can request it again from the pool page. If a full round has no random number for 7 days, it can be cancelled and every buyer gets back the 80% held for the draw.
Frequently asked questions
What does VRF stand for?
Verifiable Random Function: a random number that comes with a proof anyone can verify.
Can the BNB Machine team choose who wins?
No. There is no function in the contract to choose or change a winner, and the random number comes from Chainlink with a proof checked on-chain.
Is Chainlink VRF used by other projects?
Yes. It's widely used for blockchain games, NFT drops and lotteries across many networks.
How long does a draw take?
Usually a minute or two after the round fills. The bot or any member then completes the draw on-chain.
Can I see who won a round?
Yes. Winners are shown on the pool page and every WinnerSelected event is public on BscScan.
Ready to join?
Create your account with your wallet in about 10 minutes. Activation is $20 in BNB, priced live by Chainlink.