The full picture
How Kismetic's independent prize draws work
Most prize draws come down to trusting whoever ran them. Kismetic records each draw on a public blockchain, so entrants (and anyone else) can check the result for themselves.
Our mission
Fate, without interference
Kismet means fate: an outcome nobody arranged. That's what a prize draw is supposed to be. In practice, entrants are asked to trust that the draw was fair and have no way of checking.
We built Kismetic so they can check. Each draw leaves a public record of which entries were in, where the random number came from and who it picked. If someone questions a result, you can point them to that record.
The problem
With a traditional draw, entrants only have the organiser's word that it was fair. Even when nothing went wrong, that's hard to prove, and the questions usually arrive after the winners are announced.
The solution
Kismetic puts each draw on the Polygon blockchain. Entrants can confirm their entries were included and see that the random number came from Chainlink, not from us or the organiser.
The technology
What makes a draw verifiable
Each of these can be checked without relying on Kismetic.
Chainlink VRF
Kismetic doesn't generate the random number. Chainlink VRF does, and it sends a cryptographic proof with it that is checked on-chain before the number is used. Neither we nor the organiser can choose or predict it.
Merkle root
When the draw runs, your entry list is reduced to a single hash, the Merkle root, and written to the blockchain. If one entry changed afterwards, the hash would no longer match.
Public record
The draw, its random number and a hash of the final result are all stored on Polygon, where anyone can look them up. Entrants can check their own entries against that record without taking our word for it.
Two kinds of draw
Standard and Kismet draws
Both use the same blockchain record and the same Chainlink randomness. The difference is where the entries come from.
CSV upload
Standard draws
For any promotion where you already have a list of entrants.
- You upload a CSV with each entrant's name, email and number of entries
- Kismetic checks the file and shows you what it found before you confirm
- Run the draw straight away or schedule it for a set time
- Entrants can verify their own entries after the draw
- Paid per draw with credits
Straight from Stripe
Kismet draws
For businesses that sell through Stripe and want entries to come from real purchases.
- You connect your Stripe account, and each purchase in the entry window becomes entries automatically
- You decide how many entries each product earns, including bonus entries for subscription renewals
- Set when entries open, when they close and when the winner is announced
- Entries come straight from Stripe, so nobody types up or uploads the entry list
- Available on a monthly plan
Step by step
What happens when you run a draw
You provide the entry list and Kismetic takes care of the blockchain side.
Set up the draw
Choose the number of winners and backups. For a standard draw, upload your CSV and pick a time. For a Kismet draw, set the entry window and Kismetic collects entries from your Stripe sales until it closes.
The list is locked in
Kismetic builds a Merkle tree from your entries and writes its root to Polygon when the draw runs. From then on, the list can't be changed without the change showing.
Chainlink supplies the random number
In the same transaction, our contract asks Chainlink VRF for a random number. When it arrives, Kismetic uses it to pick the winners and any backups by a fixed method, then records a hash of the result on-chain.
Share the result
Each draw gets a public results page. Entrants in standard draws look up their entry with their email address and check it against the on-chain Merkle root in their own browser.
Plain English
What is Chainlink VRF?
VRF stands for Verifiable Random Function. When Kismetic asks Chainlink for a random number, Chainlink's network generates it and sends back a cryptographic proof with it. Chainlink's contract on Polygon checks that proof before the number reaches our contract, and both the request and the answer stay on the blockchain for anyone to look up.
The point is that the number doesn't come from our servers. A spreadsheet formula can be rerun until it gives the answer someone wanted, and a hand in a hat is only as honest as the person it belongs to. With VRF, nobody (Kismetic and the organiser included) can know or choose the number in advance.
Plain English
What is a Merkle tree?
A Merkle tree turns a long list into one short hash, called the Merkle root, while still letting anyone prove that a particular entry was on the list. Kismetic builds one from your entries and stores the root on the blockchain when the draw runs.
When an entrant verifies, they receive a short proof for each of their entries. Their browser combines that proof with their details and checks the result against the draw's Merkle root. They never see anyone else's entries, so the full list stays private.
If an entry were added, removed or edited after the draw, the root would come out different and the check would fail.
Backup winners
Backups are picked in the same draw
You can ask for up to five backup winners per prize. They come from the same random number as the main winners, in the same step, so if a winner can't be reached or doesn't claim, you move to the next backup instead of running a second draw.
Backups stay off the public results page unless you reveal one. The hash Kismetic records on-chain at the end of the draw covers the backups too, so you can show that a backup was picked on the day and not chosen later.
Get started
Run your next draw on Kismetic
You don't need a crypto wallet or any blockchain know-how. Upload a list or connect Stripe, and we'll run the draw and set up the results page.