UnverifiedPulse

Error v216 → current 26.3

The submitted Drand pulse failed cryptographic verification.

Encountered by: validatorsdevelopers

Why This Error Exists

Drand pulses are cryptographically signed. The chain verifies each signature against the stored beacon configuration. This error means verification failed - either the pulse is corrupt, from the wrong beacon, or the configuration is outdated.

Deep Dive

Each Drand pulse contains a round number, randomness, and BLS signature. The chain verifies: hash(round || message) against public_key with signature. If any part is wrong, verification fails and this error fires.

Debugging Example

You submit a pulse fetched from testnet beacon, but chain uses mainnet config. Error: UnverifiedPulse. Query BeaconConfig() and compare public_key with your source. They don't match - you're using the wrong beacon.

Prevention Tips

  • Validate BeaconConfig matches your Drand source before deployment
  • Monitor for Drand network migrations and update config accordingly
  • Log pulse verification failures for debugging

From Chain Metadata

the pulse is invalid

What This Means

The submitted Drand pulse failed cryptographic verification.

Common Causes

  • Pulse signature doesn't match the beacon configuration
  • Corrupted pulse data during transmission
  • Wrong beacon configuration (key mismatch)
  • Submitting a pulse from a different Drand network

How to Fix

  • Verify the pulse was fetched from the correct Drand beacon
  • Check BeaconConfig matches your source (public key, chain hash)
  • Ensure pulse data wasn't modified between fetch and submission
  • Confirm the Drand network hasn't migrated to new keys

Storage to Check

Thrown By

Runtime Info

Pallet Index
26
Error Index
3
Error Code
26.3
Runtime Version
v393