Equitable Minting
Learn about our on-demand, on-chain and fair generation technology
When we looked at the market around the start of the CryptoVikings project, we saw a common design pattern and a critical issue it presented. We made solving that problem the core goal of CryptoVikings. Through an on-demand, on-chain and verifiably-fair generation process, we're able to make minting outcomes unpredictable and fair for everyone.

The Problem

We found that a lot of NFT collections are built in a particular way. There are pregenerated asset sets served through storage solutions like IPFS, simple ERC-721 contracts indexing those collections and similarly simple APIs and websites.
We found that for a surprising number of these, little thought had gone into keeping things fair. We found crawlable APIs serving metadata for unminted tokens and revealing front ends with only semi-hidden asset pages. All this added up to gameable systems in which people in the know could win out over everyone else by predicting the outcomes and ensuring that they get the best of the best - and we didn't like that at all.
We wanted CryptoVikings to be fair for everyone and completely unpredictable - not with a sidestep solution like a delayed reveal, but with a dynamic and verifiable system.

The Solution

CryptoVikings generates attributes and assets on-demand. There are no pregenerated assets, and nothing exists until you click Mint. All attribute generation is done on-chain and stored publicly for anyone to verify.
To achieve this, we developed a robust and complex system integrating Chainlink VRF to serve as a provably-fair source of truth for attribute generation.
When you click Mint, our main contract mints your NFT and asks for a random number from VRF, which is stored against the token ID. From there, our API and our contracts communicate in a multi-stage process to break down statistics, asset names and attributes.
The complete on-chain representation is used for image generation once the process is complete - image generation is the only meaningful thing that doesn't happen on-chain.
With this system in place, we were able to avoid any potential at all for predictability. CryptoVikings is verifiably fair for everyone - even we don't know what the final collection will look like, nor can we manipulate it in any way.
See below for a flow chart describing exactly what happens when you click mint (higher-res version here)
For a deeper technical breakdown of a CryptoViking's on-chain generation and representation, head over to Technical Deep Dive.
If you're interested in seeing how this works, click here to find our verified main contract on PolygonScan.
Copy link