CASE

> HOW IT WORKS

A case you cannot open is worthless. A case anyone can read is worthless too — the price would just be the contents. Case exists in the gap: a real asset you can trade, whose contents are fixed, provable, and unreadable until somebody destroys it to find out.

01

THE CONTENTS ARE SEALED, NOT JUST HIDDEN

A drop is between 10 and 500 items. Grades are dealt across the list on a steep ladder rather than rolled per case, so the counts are facts:

50.0%
Consumer
25.0%
Industrial
14.0%
Mil-Spec
7.0%
Restricted
3.0%
Classified
0.8%
Covert
0.2%
Gold

Then every item is hashed together with 32 random bytes and the resulting leaves become a Merkle tree whose root goes on chain with the coin.

The nonce is the part that matters. Without it a leaf would commit to a tiny, guessable field set — four tier names and a formulaic item name — and anyone could enumerate every possibility and match it against the published commitments in about a second. With it, a leaf is noise. There is a test in scripts/test-sealed.mjs that runs exactly that attack and confirms it recovers nothing.

02

TWO MECHANISMS, DOING DIFFERENT JOBS

It is worth separating these, because they are often conflated and only one of them is about secrecy.

the shuffle

Decides which item position each case maps to. SHA256(domain ‖ root ‖ blockhash), seeded by the slot the launch landed in. Published in full — you can see that case #7 maps to item 41.

the nonces

Hide what each position contains. Knowing case #7 holds item 41 tells you nothing, because item 41 is a hash until the case holding it is burned.

The blockhash did not exist when the list was written, which is what stops a creator arranging items against a seed they can already see. It is also why the certificate is written after the launch rather than inside its bundle.

03

A CASE IS AN ASSET, NOT A TICKET

Claiming mints a Metaplex Core asset to your wallet. It is transferable the moment it exists: list it, gift it, sit on it. Case does not run a marketplace and takes no cut of a resale — there is nothing to take a cut of, because the trade happens wherever you choose and we never see it.

That has a consequence worth stating plainly: we do not know who owns a case. Our record says who claimed it, which stops being true the first time it changes hands. So opening reads the current owner off the chain, and the burn is the real enforcement — the Core program will not let you burn an asset you do not own, whatever our database thinks.

04

OPENING IS DESTRUCTION

One transaction: burn the case, mint the card. Atomic, so there is no instant where the case is gone and the card does not exist, and none where both do.

This is what makes the supply honest. Count the live assets in the case collection and you have the number of unopened cases — no API call, no trust. “Sealed” is a state of the chain rather than a flag in our database.

The reveal that comes back carries the item, its nonce, and a Merkle proof. Your browser folds them through the proof and checks the rootbefore you sign anything. If it does not match, nothing is signed and the case stays sealed.

worth knowing if you read the code: the Merkle tree sorts its leaves, so a leaf's position in the tree is not its item index. Handing the proof builder an item index produces a proof that verifies — for whichever item happened to sort into that slot. Every reveal would be for the wrong card and every “did it verify?” test would pass. lib/sealed.ts looks the leaf up by bytes for that reason.

05

WHY THE ODDS MOVE

The tier counts are fixed and public from launch, so every open is information about what is left. Pull the last Covert and every sealed case remaining is provably 0% to be one. Open forty Consumers and the top of the ladder roughly doubles.

That number is arithmetic over the remaining supply, and it is the closest thing to a fair price a sealed case has. It is not a valuation, and we are not making one.

06

WHAT THIS COSTS

Claiming a case costs the network rent for the asset — about 0.0037 SOL, paid to the network and not to us. Opening mints the card (rent again) and burns the case, which refunds the case's rent to you, so the two roughly cancel. Nothing is custodied at any point.

07

WHAT THIS DOES NOT DO

Stated plainly, because the rest of the page is a list of guarantees and these are the holes in them.

  • We can read the item list. We just cannot change it. The platform knows what is in every case from the moment the drop is built. What the commitment buys you is that a substituted card produces a leaf that does not hash into the root — so we can lie to you only by producing a proof that fails in your own browser.
  • A collectible is worth what someone pays for it. Frequently nothing. Honest odds say nothing about whether the items have value.
  • Buying a sealed case is a trade with a stranger. We do not run the market, do not escrow anything, and cannot help if it goes wrong.
  • One claim per wallet is not one per person. And owning is unlimited by design — buying nine sealed cases is the product working, not a hole in it.
  • The platform co-signs every claim and open. It is the collections' update authority, so it could stop signing and no further cases could be claimed or opened. Assets already minted are unaffected — including sealed cases, which stay yours and stay sealed.
  • Drop state lives in memory. It does not survive a restart. Your assets do; our record of which case is which does not.