Published Apr 19, 2026 ยท By Minto
How to build a transparent on-chain blind box (and how Minto ships it)
Transparency is not a slogan. A transparent blind box must let any third party verify what rules were active, for which contract, at which block, and what happened for a specific request.
What should always be public
- Runtime contract bindings: active address, effective block, and rotation history per box type.
- Rule commitments: reward rule hash, rule document hash, and immutable rule document URI/version.
- Randomness path: formula, entropy commit process, anti-replay constraints, and expiry checks.
- Request and settlement traceability: request tx/event anchors and settlement sync references.
- Payout observability: status and audit trail lookup for withdrawal records.
- Build provenance: prod/test fingerprint visibility and owner-control snapshot.
How Minto implements this in production
- Users submit on-chain open requests with
requestOpenLiteand signed authorization. - Each request is bound to a round with committed
roundSeedHash. - Result randomness is deterministic from published inputs and can be replayed by external observers.
- Public endpoints expose transparency data, payout lookup, and build provenance.
Verify runtime and rulestransparency.html
Verify code fingerprintbuild-provenance.html
Public docs baselinedocs.html
A practical transparent product does not need to claim absolute trustlessness. It needs clear boundaries, reproducible evidence, and user-level verification paths.