Pythscan
Product · Products

Entropy

Pyth's verifiable randomness product. Smart contracts request a random number on demand; a commit-reveal scheme keeps the provider honest.

Entropy is a separate Pyth product, not a price feed. It gives smart contracts a way to obtain a random number that no party — including the entropy provider and the requesting contract — can manipulate after the fact. Use cases are lotteries, NFT minting reveals, on-chain games, randomized airdrop selection: anywhere a contract needs a number that the requester themselves couldn't have known in advance.

How it works

  1. 01The entropy provider publishes a chain of commitments — each one a hash that's pre-committed to a future random value.
  2. 02A consumer contract requests randomness; the request locks in a specific commitment.
  3. 03The provider reveals the value behind that commitment. The contract verifies it matches the prior commitment and folds it with a user-contributed input to produce the final random number.

Why this design

The two failure modes for on-chain randomness are: provider can choose the result after seeing what the consumer will do with it; or consumer can re-roll until they get a number they like. Pyth Entropy's commit-reveal scheme prevents the provider from changing the number after a request, and the user-contributed input prevents the consumer from re-rolling without spending gas.

Where to read more

Entropy is documented under docs.pyth.network. The product page on Pythscan summarizes the current state of integrations.

Related concepts