ZOLK
Transparency

Written on Zcash. Check it yourself.

ZOLK keeps a registry on the Zcash chain: a wallet account that pays tiny shielded memos to itself. Every whitelist card, every day's chest seed and its reveal, the daily ZOLK roots, the art commitment and the running build are written there, in chain order, where nobody can change them afterwards. Not even us.

Cards on chain
2/2
every card found
Members
3
joined with X
Memos written
71
71 mined

The registry

A Zcash account that holds nothing of members'. Every memo it has written is listed below with its transaction, in chain order.

Network
mainnet
Address
u1a82w7h87txtv09ef7dm5n29y95gwfpc59wde8tfq4fjqxsrcgljfs7yrgej9cp2ujvq2p7n4pmp0hsdxs37cpzh4dzzf2h83eca30axrpfwdfpkv0tps9v5c36nduarthkgs4r7w27mftxnlux0wq6zwm7mgw2lzw9t4xdezpwtf2w95lfjy3vyeqsh0ju3u3jqe2hk6l7497awz0fe
Read it with zcash-devtool
zcash-devtool wallet -w ./zolk-registry init-fvk --name zolk -n main -s zecrocks --fvk <viewing key> --birthday 3528104
zcash-devtool wallet -w ./zolk-registry sync -s zecrocks
zcash-devtool wallet -w ./zolk-registry enhance -s zecrocks
zcash-devtool wallet -w ./zolk-registry list-tx

Each transaction carries one memo starting with ZOLK/1. The format is in the format note.

Fair chests, day by day

Each day's chests are dealt from a seed we seal the day before and the hash of the day's first Zcash block. What the chests hold that day is not announced; the seed, the block and the mix are all revealed when the day ends, so anyone can replay every hand.

DaySeed commitmentFirst blockRevealZOLK balance root
2026-11-13waitingpending—JSON
2026-11-12today3,563,588 · 00000000…bb365aafter midnight UTC—JSON
2026-11-113,560,141 · 00000000…cf60da
68fda976…eb59f9
#3,563,588 · aff659…6161c9 · 3 members · 1,518 ZOLK
JSON
2026-11-103,556,672 · 00000000…91b9c9
8cbc6504…ee6953
queued
68fda976…eb59f9
queued · 3 members · 1,518 ZOLK
JSON
2026-11-093,553,224 · 00000000…7ff8ce
fa537905…e1320c
#3,556,675 · 5323f9…91d683 · 2 members · 692 ZOLK
JSON
2026-11-083,549,771 · 00000000…3fdf45
fa537905…e1320c
#3,553,224 · bf9f33…a1a89e · 2 members · 692 ZOLK
JSON
2026-11-073,546,328 · 00000000…709151
fa537905…e1320c
#3,549,774 · 58dc5f…c170ec · 2 members · 692 ZOLK
JSON
2026-11-063,543,289 · 00000000…b29819
fa537905…e1320c
#3,546,328 · 3f3f89…d6614e · 2 members · 692 ZOLK
JSON
2026-11-053,542,139 · 00000000…478da0
fa537905…e1320c
#3,543,289 · 49f4f5…b73d5b · 2 members · 692 ZOLK
JSON
2026-11-043,540,986 · 00000000…a82546
fa537905…e1320c
#3,542,139 · dca602…e8646c · 2 members · 692 ZOLK
JSON
2026-11-033,539,843 · 00000000…8ef342
fa537905…e1320c
#3,540,986 · 23bbf5…2dad73 · 2 members · 692 ZOLK
JSON
2026-11-023,538,694 · 00000000…1ce268
fa537905…e1320c
#3,539,844 · d3480f…a6e41f · 2 members · 692 ZOLK
JSON
2026-11-013,537,547 · 00000000…992b87
fa537905…e1320c
#3,538,696 · 9f9d95…872880 · 2 members · 692 ZOLK
JSON
2026-10-313,536,392 · 00000000…e08132
fa537905…e1320c
#3,537,548 · b3b783…d00d65 · 2 members · 692 ZOLK
JSON
2026-10-303,535,247 · 00000000…4768ad
fa537905…e1320c
#3,536,393 · c37cc0…f74e02 · 2 members · 692 ZOLK
JSON
2026-10-293,534,108 · 00000000…28d8c9
fa537905…e1320c
#3,535,248 · 67e869…cb10cf · 2 members · 692 ZOLK
JSON
2026-10-283,532,965 · 00000000…9b4cf2
fa537905…e1320c
#3,534,108 · 0cc8a6…46b26a · 2 members · 692 ZOLK
JSON
2026-10-273,531,819 · 00000000…7c5154
fa537905…e1320c
#3,532,967 · 1e4f3e…7ea14a · 2 members · 692 ZOLK
JSON
2026-10-263,530,666 · 00000000…5bb8d9
fa537905…e1320c
#3,531,819 · c298c6…84e209 · 2 members · 692 ZOLK
JSON
2026-10-253,529,520 · 00000000…e47ec8
557d7ad9…9ddd5f
#3,530,667 · 9c94c2…a12195 · 2 members · 138 ZOLK
JSON
2026-10-243,528,374 · 00000000…1e9649
557d7ad9…9ddd5f
#3,529,520 · 9f08f2…1cc41d · 2 members · 138 ZOLK
JSON

Replay: digest = sha256("zolk:day:" + seed + ":" + blockHash); a member's chests come from mulberry32 seeded by fnv1a32(sha256("zolk:kinds:" + digest + ":" + ownerTag)): one draw per chest, a card chest below the card chance, a ZOLK chest below card + ZOLK chance, empty otherwise. The chances and the number of chests are in the day's record once revealed; the day's JSON carries every opened chest under its owner tag.

Whitelist cards

One memo per card, written when it is found: the number, the holder's owner tag (their X id, hashed), the hash of the art and the time.

Voided before launch: #0002, #0001, #0003 were test cards from building the forest. Their memos stay on the chain (nothing there can be removed); a void memo was written for each and the numbers were issued again to real finds.

CardOwner tagArtFoundOn chain
#00029894b9facc2f9818119c6e95…850bf118d ago#3,528,116 · 20f460…4421e9
#00019a152de09ef448ec7c020ea7…5133c318d ago#3,528,114 · 0c2f07…272462

The art, sealed

Every card's picture is drawn by a fixed engine from the card number. All pictures were hashed and the hashes put in one Merkle root, written to the chain before the cards. No picture can be swapped later.

Collection
zolk-8888-v1
Root
86dc68307abe114250e41ce5615ddf6f9c2368ee457eca41c0fa364592de2dd0
First / last leaf
7c020ea799ad…5133c3 · 1bafcdc8a348…f930f3

The code that is running

Each build writes its commit to the registry, so the memos name the exact code that produced them.

Build
c2a8d20b6f710e1ef2f0409d7bfdda1c74c03d0f
c2a8d20b…c03d0f9h ago#3,562,839 · 8c970e…fcf1a1
3c31f5db…f0d32518d ago#3,528,846 · da7755…7d1871
45e26cb5…a99c1f18d ago#3,528,817 · b09737…ddeedd
b69f5566…f377ff18d ago#3,528,788 · fcbfe5…12ed60
50d2b3c4…d3d5de19d ago#3,528,151 · 92e963…7af175

A whitelist card is a place on the list for the ZOLK collection, not the collectible itself. The ZOLK token is held as a balance here, anchored daily by its root, until it is issued as a Zcash Shielded Asset. Zcash is a trademark of the Electric Coin Company. ZOLK