Skip to main content

How VPR protects race results from manipulation

Learn how Virtual Pigeon Racing protects race outcomes and why results cannot be secretly changed after a race finishes.

Written by VPR
Updated over a week ago

In Virtual Pigeon Racing, race results are protected by a system designed to prevent manipulation. Once a race begins, the inputs that determine the outcome are locked and the race events are recorded in a verifiable way.

Because of this system, race results cannot be secretly changed by players or by the platform after the race.

How VPR protects race results

Race conditions are locked before the race

Before a race starts, the full race configuration is locked.

At that moment the system freezes:

  • The pigeons entered in the race

  • The attributes of those pigeons

  • The weather conditions used for the race

  • The race engine version

  • A cryptographic commitment to the race randomness

This locked state forms the official race setup. Once it is locked, the data cannot be changed without breaking the verification system.

Weather conditions are frozen

Weather plays an important role in race performance. To keep the race fair, the system takes a weather snapshot before the race begins.

This snapshot is used for the entire race simulation.

  • Weather is not updated live during the race

  • The snapshot is included in the locked race data

  • Any attempt to change it would be detectable

This ensures that all pigeons compete under the same verified conditions

Randomness is locked before the race

Some parts of the race simulation use randomness.

To prevent manipulation, VPR uses a commit–reveal system:

  1. Before the race begins, a secret random value is generated.

  2. A cryptographic fingerprint of that value is published.

  3. The secret is revealed after the race finishes.

This prevents anyone from rerolling randomness or changing outcomes after seeing the result.

Every race event is recorded

During the race, the system records a timeline of events such as:

  • Position updates

  • Weather ticks

  • AI decisions

  • Random number usage

Each event is cryptographically linked to the previous one, creating a tamper-evident chain. If even a single value were changed afterward, the verification would fail.

Race inputs are anchored on the blockchain

Before the race begins, a cryptographic fingerprint of the race setup is stored on the Polygon blockchain. This creates a public timestamp showing that the race configuration was locked before the race started. Even the platform cannot rewrite this record afterward.

Races can be independently verified

After the race finishes:

  • The secret random value is revealed

  • The race data can be verified

  • The race can be replayed using the same inputs

Because the race engine is deterministic, the same inputs will always produce the exact same result. This allows independent verification of the race outcome.

Note: For a deeper technical explanation of how races are secured and verified, see: Fairness and competitive integrity.

Did this answer your question?