Coming soonDolvero Supply · Volume 01Nothing is for sale yetRegister for the drop Coming soonDolvero Supply · Volume 01Nothing is for sale yetRegister for the drop Coming soonDolvero Supply · Volume 01Nothing is for sale yetRegister for the drop Coming soonDolvero Supply · Volume 01Nothing is for sale yetRegister for the drop
Sign in
Supply Packs

You do not have to
take our word for it.

Every pack result is decided by a formula whose inputs are all published. You can recompute your own draw and confirm we could not have chosen it.

01

We commit before we can know anything

We generate a secret seed and immediately publish SHA-256 of that seed. The seed itself stays hidden. The published hash is a commitment we cannot wriggle out of: change the seed later and the hash stops matching.

02

We bind ourselves to a coin-flip we do not control

At the same moment we name a future round of drand, a public randomness beacon run by the League of Entropy. It emits a signed value every 30 seconds on a fixed schedule, and nobody can predict it. Because we commit our seed before that round exists, we cannot pick a seed that produces a result we like.

03

Your prize is a function of both, plus your order

When your order completes, your prize is computed from our seed, that drand signature, and your own order reference. Nothing else. The same three inputs always give the same prize.

04

Then we publish the seed

Once an epoch closes we reveal its seed. Anyone can check it against the hash we published in step 1, pull that drand round themselves, and recompute every draw the epoch produced.

The exact computation

h    = HMAC_SHA256(key = seed + ":" + drand_signature, message = order_ref)
x    = int(h[0:13], 16) / 2**52          # a number in [0, 1)
point = x * (sum of all weights)
walk the weight table in the published order; the first prize whose
running total exceeds `point` is the one you won.

13 hex characters is 52 bits, which a float64 holds exactly, so the division gives the identical result in any language. Here it is in Python:

import hmac, hashlib
h = hmac.new((seed + ":" + sig).encode(), ref.encode(), hashlib.sha256).hexdigest()
x = int(h[:13], 16) / 2**52
point, acc = x * TOTAL_WEIGHT, 0
for name, weight in WEIGHTS:
    acc += weight
    if point < acc:
        print(name); break

The weight table

PrizeTierWeightOdds
Ten Percent Standard 480 48.00%
Twenty Percent Standard 300 30.00%
Thirty-Five Rare 150 15.00%
Half Off Rare 55 5.50%
Seventy-Five Vault 13 1.30%
Free Evaluation Vault 2 0.20%
Total weight1000100%

What this does not prove

Being straight about the edges is the only way the rest of this page means anything.

Check your own pack

Every epoch

#StatusCommitment SHA-256 drand roundDrawsSeed
2 live 6460599ffa19a001f3cb9b2afb567224… 6386800 0 held
1 revealed c74bc5d712df2f324fb3fde48c02f172… 6383918 0 ef379dbaeb5c05d2e6e26a890a200afd…

Beacon: drand chain 8990e7a9aaed2ffed73dbd7092123d6f… · 30 second rounds. Fetch any round yourself at api.drand.sh/public/<round>.