Flare selects its price data providers by random draw on every block
@FlareNetworks builds its price oracle into the chain's core protocol, so every feed is secured by the same economic weight as the network itself, as stated in Flare's developer docs.
Each block, roughly every 1.8 seconds, a stake-weighted random draw picks a sample of the network's 100 data providers, and the chosen few submit small updates to the previous price.
Every 90 seconds, all providers run a commit-reveal round, submitting prices in sealed form before opening them together so nobody can copy anyone else.
Those slower anchor readings keep the fast per-block feeds from drifting, with outlier submissions filtered out.