How pr00f Works

Request To Result

Verified Onchain

A pr00f Request, Step By Step

Request

01

Consumer Contract

Requests Randomness

Your consumer contract calls the Coordinator to request randomness and sets a callback gas limit.

Quote

02

Pay The Request Fee

In ETH

Quote the fulfillment fee and pay per request in native ETH. No subscription is required.

Bind

03

Fix A Future Round

drand

pr00f binds your request to a future drand round, before its randomness is known.

Publish

04

The Beacon Publishes

A Signature

The League of Entropy publishes the round’s randomness and its signature.

Submit

05

Anyone Can Deliver

The Proof

Our fulfiller, or any other caller, can submit the published signature to pr00f.

Verify

06

Check The Signature

Onchain

The onchain verifier checks the signature. Invalid proofs are rejected.

Derive

07

Calculate Your Result

Per Request

pr00f derives a random number for your request from the verified round.

Fulfill

08

Call Your Contract

Callback

The Coordinator stores the verified random number, then calls your consumer contract’s fulfillment callback.

Store

09

Keep The Result

Onchain

The random number stays onchain, whether or not your callback succeeds.

Inspect

10

Read Request Status

Publicly

Read the request’s status, bound round, and stored result onchain.

Recover

11

Read Stored Result

If Callback Fails

If your callback fails, your app can still read the stored random number.

Cancel

12

Cancel After The Delay

If Pending

A request that remains pending can be cancelled after the required delay.

The Coinlords Collection

1,111 Characters

Meet the Coinlords

Explore the collection

The Art Behind Coinlords

Collection Preview