Randcast

Randcast is an on-chain verifiable random number generator with a suite of APIs for different use cases, including NFT allocation, game attribute generation, and combat outcomes. Randcast is built to empower a fair and creative metaverse.
Versatile
Randcast offers multiple APIs that cater to various development requirements, making it easier to tailor the randomness to specific needs, whether for gaming, generative art, or lucky draw.
Secure
Randcast employs a decentralized approach to gather entropy from a group of nodes distributed across multiple regions, providing unparalleled unpredictability and fairness at the physical level. The generated random numbers are tamper-proof and unlikely to be forged or manipulated.
Unique and Verifiable
Randcast's underlying cryptographic primitive ensures that random numbers are unique and verifiable. Random numbers are specific to a given signing group and user input.
Highly Available
Randcast's design avoids heavy synchronous communication during the random number generation phase, ensuring high availability even as the network grows.
Blockchain Agnostic
Randcast is engineered to support multiple chains, providing an adaptable solution for generating random numbers, which facilitates developers from multiverse casting “randomness” spells.
Fee Estimation
Randcast provides accurate estimates of the token required to cover request fees. This ensures sufficient funds are available in the account to avoid failed requests due to insufficient token.

Build with Randcast

build_with
PickWinner
PickRarity
DrawLottery

mapping(uint256 => string) public indexToName;
event WinnerResult(string);

function getWinner() external returns (bytes32) {
		indexToName[0] = "player1 win";
	indexToName[1] = "player2 win";
	indexToName[2] = "tie";

	bytes memory params;
	return _requestRandomness(RequestType.Randomness, params);
}

function _fulfillRandomness(bytes32 requestId, uint256 randomness) internal override {
	uint256 winnerIndex = RandcastSDK.roll(randomness, 3);
	emit WinnerResult(indexToName[winnerIndex]);
}

Latest Randomness

The latest randomness generated
--743295093370508620922441287527315888265671367406626927645387371800558922640

How it Works

how_work

Use cases

Games
Give your users a more dynamic gaming experience with random elements. Attributes of characters and items, matchmaking, map generation, event outcomes, and divination can be guaranteed fair and random with Randcast.
Lottery
Build blockchain-based lottery applications with complete transparency, ensuring that the process of picking winners is auditable and the outcomes cannot be manipulated.
NFTs
Randcast can randomly assign rarity tiers for NFT series and allow your users to review the results generated by tamper-proof randomness.
Blockchain Consensus
Embed Randcast in the consensus layer to attach a modular random beacon for your blockchains.
Marketing Campaigns & Community
Create marketing tools to randomly select community giveaway winners by customizing weighting metrics such as engagement, token staking, etc.
DAO Governance
Randcast can certify a fair random sample voting process so that the opinion of a larger Web3 community can be adequately represented.
Generative Art
Create unpredictable and distinctive artworks using Randcast to generate various characteristics such as color palettes, shapes, and patterns.
Scientific Research
Allow researchers to reduce bias by randomly selecting representative samples and test your models' robustness with simulated data that approximates real-world events.
Cryptography
Any other scenarios that require cryptographically secure randomness, such as private key generation and random seed generation for encryption.

Trusted by