One function to get random values directly in your smart contract.

Build with Randomizer Try real-time game

function flip() external {
    // Make request to Randomizer with 100k callback gas limit
    uint256 flip = Randomizer.request(100000);
    flipToAddress[flip] = msg.sender;

function randomizerCallback(uint256 _id, bytes32 _value) external {
	require(msg.sender == address(Randomizer));
    address player = flipToAddress[_id];
    // Convert the random bytes to a number between 0 and 99
    uint256 random = uint256(_value) % 100;
    // 50% win/lose
    if(random >= 50){
      emit Win(player);
    } else {
      emit Lose(player);


Easy Randomness

Call a single contract function and receive a callback near-instantly with random bytes32.

ETH Settlement

Requests are settled in native ETH. No need to fund your requests with a payment ERC20 token.

NFTs 2.0

Randomizer Governance will be powered by NFTs with new, unique features never seen before.


Independent beacons supply and combine random values and send a callback to the requestooor. On testnet the beacons are operated by the developer.

Proof of Stake (PoS)

Beacons stake ETH for their position and ETH is awarded based on fulfilled requests.

Real-time Results

Give users a real-time experience by getting random results instantly, before they're on-chain, through our Sequencer Socket service.

On-chain Validation

Values are hashed and verified on-chain to ensure there is no manipulation by any party.

Low Fees

Randomizer keeps gas fees at a minimum, especially on Layer 2.

DAO Governance

Randomizer will evolve into a DAO with decentralized governance. Join the Discord if you plan to participate.