Monad-native randomness · no backend

Lock in the future.
Verify what arrives.

An open-source, contract-only randomness primitive for Monad builders. Three future proposer-entropy values become one permanent, inspectable seed.

Protocol fee
0
Entropy blocks
3
Backend
None
Demo chain
10143
Protocol fee · 0Every caller pays their own Monad gas.Each platform sets its own request price, including zero.No project treasury, relayer, keeper reward, or gas subsidy.

One request, one outcome

The block numbers are the source of truth.

  1. 01

    Choose an isolated platform

    Deploy your own instance or paste the exact published PlatformRandomness contract.

  2. 02

    Tx1 · Lock request

    Requester, price, ID, and targets +8 · +24 · +40 are fixed.

  3. 03

    Tx2 · Store result

    Requester opens at target three +2; anyone can rescue at T+64.

  4. 04

    Verify forever—or expire honestly

    Finalized results persist. After first target +8,191, expiry creates no result.

At roughly 0.3 seconds per block, requester Tx2 is about 13 seconds and permissionless rescue about 31 seconds after Tx1. Network timing varies; observed block height always wins.

Live testnet workspace

Two transactions. No service account.

Monad testnet
Connect a wallet to write

The public result explorer below remains available without a wallet.

Current block
01

Connect + isolate

Your wallet deploys the demo. This project never receives a private key or pays the transaction.

Required to write
WalletNot connected
or use an existing instance
02

Tx1 · Lock request

Reads this platform's current price and sends exactly that value. Three target blocks are emitted in the receipt.

+8 · +24 · +40
03

Tx2 · Store result

Fetches exactly three raw headers from Monad RPC, then the contract authenticates and stores one result.

Requester first

Readiness appears after Tx1.

Permanent output

Verified randomness

Awaiting Tx2

No result is shown until three canonical headers are authenticated and Tx2 stores the seed on-chain.

32-byte seed
Available after Tx2
1–100 draw
Unbiased on-chain draw
Requester
Locked by Tx1
Finalizer
Recorded by Tx2

Read-only · wallet optional

Result explorer

Enter an exact published PlatformRandomness address and request ID. Its runtime bytecode hash is verified, and all authoritative data comes directly from Monad; this page uses no indexer or application server.

Finalized requests show a permanent seed and draw. Expired requests explicitly show no result.

Take it. Inspect it. Ship it.

Public infrastructure, not a toll booth.

The contracts charge no protocol fee and keep no author treasury. Integrating platforms operate an isolated instance, choose its fixed price, and keep their own storage, counters, caps, and revenue isolated.