# Randoo > Randoo is a drop-in VRF coordinator for the Ronin blockchain. Game contracts call requestRandomSeed, pay extra RON with the request, and receive a verifiable random seed on-chain in about two seconds. It implements the same IRoninVRFCoordinatorForConsumers ABI as native Ronin VRF at half the $0.01 service fee, with no subscription. Randoo is not native Sky Mavis VRF. Games opt in by deploying their consumer with the Randoo coordinator address. Primary documentation language: English. Website: https://randoo.xyz ## Facts - Product: Randoo, a VRF coordinator for Ronin games - Website: https://randoo.xyz - ABI: IRoninVRFCoordinatorForConsumers — requestRandomSeed, estimateRequestRandomFee, rawFulfillRandomSeed - Billing: pay per request in RON, no subscription, no LINK - Service fee: half of native Ronin VRF ($0.01), quoted on-chain - Latency: about two seconds p50 request-to-callback - Proof: Chainlink-format VRF.sol verifier; seed bound to the request - Coordinator (Ronin mainnet + Saigon): 0xC66eB2e7EE91145875000Ad46B55600000000001 - Native Ronin VRF mainnet: 0x16a62a921e7fec5bf867ff5c805b662db757b778 - Native Ronin VRF Saigon: 0xa60c1e07fa030e4b49eb54950adb298ab94dd312 - Source: https://github.com/dwi/randoo - Ronin VRF reference: https://docs.roninchain.com/developers/tools/vrf ## Pages - [Randoo — Ronin VRF coordinator](https://randoo.xyz/): Drop-in Ronin VRF for games. Same requestRandomSeed ABI as native Ronin VRF, half the $0.01 fee, verifiable seed in about two seconds. - [Randoo docs](https://randoo.xyz/docs): Developer documentation for the Randoo Ronin VRF coordinator: quickstart, ABI, contracts, SDK, workers, and gas. - [Quickstart](https://randoo.xyz/docs/quickstart): Deploy a Ronin VRFConsumer against Randoo, quote estimateRequestRandomFee, and request a verifiable seed. - [Migrate from Ronin VRF](https://randoo.xyz/docs/ronin): Swap one coordinator address and your existing Ronin VRFConsumer runs on Randoo at half the service fee. - [Contracts](https://randoo.xyz/docs/contracts): Randoo coordinator, proof verifier, and consumer addresses for Saigon and Ronin mainnet. - [SDK](https://randoo.xyz/docs/sdk): TypeScript helpers for quoting and requesting Randoo VRF randomness. - [Workers](https://randoo.xyz/docs/workers): How the Randoo oracle watches, proves, and fulfills VRF requests. - [Gas and failure](https://randoo.xyz/docs/gas): Randoo fee quotes, gas spikes, callbacks, and refunds. - [Pricing](https://randoo.xyz/pricing): Randoo is pay-per-request at half the native Ronin VRF $0.01 service fee. No subscription. - [Networks](https://randoo.xyz/networks): Randoo coordinator 0xC66eB2e7EE91145875000Ad46B55600000000001 on Ronin mainnet (chain 2020) and Saigon (chain 202601). - [Playground](https://randoo.xyz/playground): Race Randoo against native Ronin VRF in the browser and watch whose seed lands first. ## Optional - [llms-full.txt](https://randoo.xyz/llms-full.txt): longer citation sheet with FAQ answers ## What Randoo is Drop-in Ronin VRF for games. Same requestRandomSeed ABI as native Ronin VRF, half the $0.01 fee, verifiable seed in about two seconds. Randoo is a drop-in VRF coordinator for the Ronin blockchain. Game contracts call requestRandomSeed, pay extra RON with the request, and receive a verifiable random seed on-chain in about two seconds. It implements the same IRoninVRFCoordinatorForConsumers ABI as native Ronin VRF at half the $0.01 service fee, with no subscription. ## How to use it Add verifiable randomness to a Ronin game contract with the native VRFConsumer ABI and the Randoo coordinator. 1. **Inherit VRFConsumer.** Use VRFConsumer from the Ronin random beacon. Your contract already compiles against Randoo if it compiles against native Ronin VRF. 2. **Point at the Randoo coordinator.** Pass 0xC66eB2e7EE91145875000Ad46B55600000000001 into the VRFConsumer constructor instead of the native proxy. Same CREATE3 address on Ronin mainnet and Saigon. 3. **Quote and request.** Call estimateRequestRandomFee, then requestRandomSeed with msg.value at least that quote and a non-zero refund address. 4. **Fulfill on-chain.** The oracle proves the seed. Your rawFulfillRandomSeed (or _fulfillRandomSeed) runs with the verified seed. Unused RON is refunded. ## FAQ ### What is Randoo? Randoo is a drop-in VRF coordinator for Ronin. Game contracts call requestRandomSeed on the Randoo coordinator, pay extra RON with the request, and receive a verifiable random seed on-chain in about two seconds. It uses the same consumer ABI as native Ronin VRF at half the service fee. ### What is a verifiable random function (VRF)? A verifiable random function produces a random output plus a proof that the output was computed from a secret key and a public input. On-chain VRF lets a game contract trust a random seed without trusting the oracle that delivered it. The coordinator checks the proof before calling the consumer back. ### What is a VRF coordinator? A VRF coordinator is the on-chain contract that accepts randomness requests, holds the prepaid fee, and later calls the consumer with a verifiable random seed. On Ronin, consumers talk to a coordinator through requestRandomSeed, estimateRequestRandomFee, and rawFulfillRandomSeed. ### How does Ronin VRF work? A game contract sends RON with requestRandomSeed. An oracle waits for confirmations, produces a VRF proof bound to that request, and the coordinator verifies the proof on-chain before calling rawFulfillRandomSeed on the consumer. Unused gas is refunded to the refund address. ### How do I get a random number in a Ronin smart contract? Inherit Ronin's VRFConsumer, deploy it with a coordinator address, quote estimateRequestRandomFee, and call requestRandomSeed with enough msg.value. The seed arrives in rawFulfillRandomSeed. Point the constructor at Randoo instead of the native coordinator to use Randoo. ### How much does Ronin VRF cost? Native Ronin VRF charges a $0.01 service fee in RON plus fulfillment gas. Randoo bills half that service fee, quoted on-chain, plus estimated fulfillment gas. There is no subscription. Overpayment is refunded after the callback. ### How do I migrate from native Ronin VRF to Randoo? Change the coordinator address in your consumer constructor to 0xC66eB2e7EE91145875000Ad46B55600000000001. That CREATE3 address is the same on Ronin mainnet and Saigon. Keep requestRandomSeed, estimateRequestRandomFee, and rawFulfillRandomSeed. No other consumer code has to change. Rehearse on Saigon before mainnet. ### Is Randoo compatible with requestRandomSeed? Yes. Randoo implements IRoninVRFCoordinatorForConsumers: requestRandomSeed, estimateRequestRandomFee, and rawFulfillRandomSeed. It is an ABI drop-in, not a semantic clone: seed derivation and deploy shape differ from the native proxy. ### Does Randoo require a Chainlink VRF subscription? No. Randoo v1 is pay-per-request on Ronin. You send the fee with the request. There is no subscription ID, no LINK token, and no need to fund a Chainlink billing account. ### How long does on-chain randomness take on Ronin? Randoo targets about two seconds p50 from request to callback under normal conditions. Pickup is milliseconds after confirmation; the oracle then proves and fulfills. Live p50 and success rate are published on the homepage. ### Is Randoo the same as native Sky Mavis VRF? No. Native Ronin VRF is the Sky Mavis coordinator at a well-known proxy. Randoo is a separate coordinator with the same consumer ABI, a lower service fee, and its own oracle set. Games opt in by pointing at Randoo's address.