Technical disclosure | Updated July 2026

Market methodology

The clock, price source, outcome rule, refund conditions, fee, and payout calculation used by Flashpoly's current high-frequency prediction market.

Summary

Current Bitcoin market parameters

Question
Will BTC/USD finish above or below its lock price after five seconds?
Server clock
1 second preparation, 3 seconds entry, 5 seconds resolution, 1.6 seconds result display
Price feed
Pyth Hermes BTC/USD stream with latest-price polling as a backstop
Price feed ID
Crypto.BTC/USD stable feed ending in 415b43
Outcome
UP when final price is higher; DOWN when lower; tie within $0.005
Pool fee
3% of a mixed pool, capped at the losing pool; no fee on ties, voids, or one-sided pools
Freshness protection
Real-money entry requires a live non-synthetic feed; an in-flight real-money round voids if the latest price is stale at settlement

Server-authoritative timing

The Flashpoly server creates each round and publishes exact timestamps for preparation, entry close, resolution, and result display. Clients render those server timestamps and compensate for clock offset; a browser does not decide when its own call locks or when a result becomes final.

The server checks the round state every 50 milliseconds. At the transition from entry to resolution it records the latest observed price as the lock price. At the transition to result it records the latest observed price as the final price and settles once.

Price source

The production BTC/USD source is the Pyth Hermes price service. Flashpoly consumes the live Hermes stream and uses the latest-price endpoint as a backstop when no stream update has arrived for 2.5 seconds.

The interface may resample or smooth points for display, but settlement uses the raw latest price observed by the server. Display interpolation cannot change the lock price, final price, or result.

Outcome calculation

The result is the final price minus the lock price. A positive difference produces UP. A negative difference produces DOWN. An absolute difference of $0.005 or less produces a tie. If either required price is missing or invalid, the result is void.

Feed failure protection

Real-money calls are unavailable when the feed is disconnected, synthetic, or not fresh. If a real-money round is already in progress and the feed is not fresh at settlement, Flashpoly marks the round void and returns all stakes. Local development can use a visibly labeled synthetic feed; synthetic prices cannot settle production real-money participation.

Failure favors a refund

Flashpoly does not infer a missing result, carry forward an uncertain value, or let a synthetic development price settle a real-money round.

Pool and fee calculation

UP and DOWN stakes form the total pool. When both a winning side and a losing side exist, the fee is 3% of the total pool, capped at the losing pool. The cap prevents the distributable amount from falling below the winning side's original stake.

The amount remaining after the fee is distributed among correct calls in proportion to each call's share of the winning side. Payouts include stake return. Incorrect calls receive zero.

Integer-cents settlement

All pool accounting uses integer cents. Each proportional payout is first rounded down; any remaining cents are then assigned in order of the largest fractional remainder. This ensures that winning payouts plus the fee equal the total staked amount exactly.

Refund matrix

When a round does not transfer value

ConditionResultFeePlayer treatment
Price difference within $0.005Tie$0All stakes returned
Missing or invalid settlement priceVoid$0All stakes returned
Stale feed on a real-money settlementVoid$0All stakes returned
No stake on the correct sideRefund$0All stakes returned
No stake on the incorrect sideRefund$0All stakes returned

References

Primary documentation

Flashpoly's implementation is described above; Pyth's own documentation describes the external data service.

Questions about a result?

Contact support@flashpoly.com with your player name and the approximate time of the round.