Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsiTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
A drand API response is only trustworthy when you verify its beacon signature against a public key and chain identity you already trust. HTTPS protects the connection to a relay; it does not prove that the relay returned a valid beacon. For a long-lived integration, pin the chain’s public key and parameters out of band, verify the signature, and independently check the requested round before using the result.
What beacon verification proves—and what it does not
A drand beacon includes a BLS signature. A valid signature establishes that the beacon matches the configured chain key and protocol rules; the relay’s separate randomness field is not proof on its own. The protocol specification describes the beacon format and trust structure: drand protocol specification.
Verification does not establish that your application selected a fair round, mapped the beacon to a bounded value without bias, or used the result safely in downstream logic. Those require separate checks.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Choose and pin the intended chain
First select the network and scheme your application is meant to use. drand’s API documentation describes its documented networks, endpoints, and response fields; network names and endpoint availability can change, so consult the current documentation when configuring a deployment: drand HTTP API.
#1 Best Overall
- THE RANDOM NUMBER GENERATOR (RNG-01) is a laboratory quality instrument that uses the immutable randomness of radioactivity decay to generate random numbers
- THE RNG-01 PRODUCES approximately one to three random numbers every minute from background radiation.
- TRUE RANDOM NUMBERS that are useful for data encryption (cryptography), statistical mechanics, probability, gaming, neural networks and disorder systems, PSI and ESP testing, micro PK experiments, etc.
- SELECTION OF RANDOM NUMBER RANGES: 1-2, 1-4, 1-8, 1-16, 1-32, 1-64 and 1-128 .
- This unit is the Clear Transparent Etched Case. IMAGES SCIENTIFIC INSTRUMENTS INC., manufacturing electronic instruments and kits for over 25 years.
Chain information is the client’s root of trust. Obtain the expected public key and relevant parameters—such as the chain hash, scheme, genesis time, and period—from a source you trust independently of the relay you will query. Store or otherwise pin these values in trusted application or deployment configuration. A relay’s /info response is useful for comparison, but accepting its key without independent verification lets a dishonest node define the key against which its own responses are checked. The drand operator guide explains this out-of-band verification requirement: drand operator guide.
When you fetch /info, compare the returned chain identity and public key with the pinned values; do not silently replace your configuration with whatever the endpoint reports. The official JavaScript examples show this comparison using expected chainHash and publicKey values: drand Code Examples.
Fetch a beacon and verify it
The HTTP API provides latest-beacon and specific-round endpoints. A response contains a round and BLS signature; chained beacon responses may also include previous_signature. The API supplies the data, but the application must establish that the signature and response match its trusted chain configuration.
Rank #2
- This password key storage, random number generator. Protected storage of up to 16 keys, certificates or data. Hardware support for asymmetric signature, verification, and key agreement.
- It can be applied to the key management and exchange of IoT endpoints, encrypted small messages and PI data, secure boot and protection download and ecosystem control, anti-cloning and other fields.
- Curve support: NIST standard P256 elliptic curve , Random number generator (RNG): high quality FIPS 800-90 A/B/C
- IIC interface: 1MHz standard , IO port level: 1.8-5.5V
- Power supply voltage: 25.5V
- Request the intended round. Use a specific-round endpoint when the application’s protocol requires a particular round. Treat “latest” as a distinct choice with its own timing and fairness implications.
- Verify the signature using the pinned key. Prefer a maintained drand client that performs beacon verification. Confirm that its verification option is enabled and that it is using the expected chain hash and public key. The drand client documentation describes verification and client capabilities: drand client libraries.
- Reject identity mismatches. If the endpoint’s chain hash or public key differs from the configured values, do not trust its response or update the pin automatically. Investigate the network, configuration, and endpoint.
- Check the round and protocol fields. Confirm the returned round is the one your application intended and that fields required by the selected scheme are present and correctly handled.
In the official JavaScript examples, disableBeaconVerification is set to false. The page’s code comment warns that setting it to true disables signature checking and is “faster but insecure.” Keep verification enabled for values used as randomness, and configure expected chain values through chainVerificationParams where applicable: drand Code Examples.
Chained and unchained schemes are different
For a chained scheme, each beacon incorporates the previous signature, linking rounds. Verification should follow the chain rules, including the previous-signature relationship where required. For an unchained scheme, that link is absent; an individual beacon can be verified without proving a chain of prior rounds. Do not demand a previous signature from an unchained response or treat its absence as evidence of tampering. The protocol specification defines the scheme distinctions: drand protocol specification.
Derive the expected round from time carefully
A round corresponds to time through the chain’s genesis time and period. Use the selected chain’s parameters and rules to determine which round is expected; do not assume that every nominal period necessarily produced a beacon. Networks can miss rounds, and after recovery a later beacon may build on the last successfully generated beacon. A gap is therefore not, by itself, evidence that a response was forged. The operator guide and protocol specification describe these timing and recovery considerations: drand operator guide; drand protocol specification.
Define application behavior for a missing or unavailable round explicitly. Depending on the protocol, that may mean waiting, applying a documented recovery rule, or failing the operation. Do not silently substitute a different round if doing so could let a caller or adversary influence the outcome.
Convert a verified beacon into a bounded sample
drand’s tutorial explains deriving a random value by hashing the signature and discusses rejection sampling by re-hashing signatures as an exercise: drand tutorial. Treat this as a separate layer after beacon verification. Specify the exact input encoding, hash function, output interpretation, bound, and retry procedure so that independent implementations can reproduce the same result.
Avoid modulo bias
If a hash produces a uniformly distributed integer over a range whose size is not divisible by your desired bound n, mapping it with x % n gives some outcomes more representations than others. Rejection sampling avoids that bias: choose a fixed-width output range, reject values at or above the largest multiple of n below that range, and reduce accepted values modulo n. If a value is rejected, derive another candidate using a precisely specified domain-separated input, such as an agreed counter included with the verified signature. This method relies on the hash output behaving uniformly for the application’s purposes; it does not make the round-selection process fair by itself.
Document whether retries are deterministic and how the counter or re-hashing input is encoded. Without that detail, two consumers can verify the same beacon but produce different samples—or accidentally reintroduce bias through an ad hoc fallback.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Direct HTTP calls or a maintained client?
| Approach | Signature and identity verification | Transport and operations | Round and sample control |
|---|---|---|---|
| Direct HTTP integration | Your code must verify the BLS signature and compare chain identity against pinned values. | You control HTTP handling and any failover or caching; the API documents multiple relays but does not guarantee their availability. | You have direct control over round selection and sample mapping, and must implement both correctly. |
| Maintained drand client | Client libraries are intended to verify rounds; keep verification enabled and provide expected chain identity where supported. | Libraries offer features such as multiple transports, failover, racing, aggregation, and caching. These are capabilities, not independent guarantees of latency, uptime, or security. | Your application still chooses the round policy and defines any bounded-sample mapping. |
The official client documentation describes supported transports and client features: drand client libraries. A client can reduce implementation burden, but it does not remove the need to select the right chain, pin its identity, or decide how the application consumes randomness.
Quick Recap
Implementation checklist
- Pin the intended chain’s public key and parameters from a trusted out-of-band source.
- Compare the relay’s reported chain hash and public key to those pins.
- Use a maintained client where practical, with beacon verification enabled.
- Check the exact round and apply the correct chained or unchained rules.
- Handle missing rounds and relay failures according to an explicit application policy.
- Specify a bounded-sample mapping that avoids modulo bias, including deterministic retry inputs.
- Keep round selection separate from signature verification and sample conversion; each has distinct security implications.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

