Pyth vs. Chainlink
How We Stack Up
Selecting an oracle can be difficult. What's the difference between one and another? We've outlined Pyth's key differentiators below.
Pyth’s mission is to provide high-fidelity, high-frequency financial market data to end users securing their DeFi protocols.
Pyth’s data ranges from cryptocurrencies to foreign exchanges to equities to precious metals.
Chainlink’s mission is to expand the capabilities of smart contracts by enabling access to real-world data and off-chain computation.
Chainlink’s data provides solutions for various applications like gaming, sports betting and weather as well as financial data.
Pyth’s data comes from financial institutions in the traditional finance and crypto industries.
These include CBOE, Jane Street, Susquehanna, Two Sigma, LMAX, Wintermute, Binance, OKX, Kucoin, and more.
Chainlink’s data comes from relayers (often referred to as node operators).
These node operators come from DevOps teams from firms such as 01node, Artfactstakin, Inotel, StakeFish, LinkPool, and more.
Pyth uses first-party data that comes from exchanges, trading firms and financial institutions.
Chainlink sources some data from exchanges like Kraken and Huobi, but primarily from third-party data aggregators like BraveNewCoin, CoinMarketCap and CoinGecko to deliver price feeds.
Learn more on chain.link↗
Pyth is available on the following chains:
Chainlink is available on the following chains:
Pyth’s data comes directly from data owners. This includes exchanges and trading firms. The data owners have full rights to the distribution of their price data.
Chainlink's data comes from the node operator relaying it. While it is possible to find out where that data originates from by reaching out to the node operators, the operators themselves are rarely data owners.
Pyth publishes aggregated price and Confidence Intervals (CI) for all price feeds. These intervals are a certainty measure of the “true” price of the asset since assets can trade at different prices in different venues.
Chainlink publishes the median price from its data sources once the minimum number of node reporters have reported a price.
Pyth does not use price triggers to prevent certain prices from being pushed. Pyth uses Confidence Intervals to ensure continuous price availability.
This allows projects to consume Pyth’s price feeds during the most volatile market conditions.
Chainlink does use price triggers with an accepted bound established when a feed is created.
This can prevent protocols from updating correctly during the most volatile market conditions.
Oracle Update Frequency
On Pythnet, Pyth price feeds continuously update every 300ms.
On Solana, prices update every 400ms. Using an on-demand price update model Pyth users may permissionlessly push price updates on-chain at every slot for usage.
Thus, Pyth feeds could technically update according to the native blockchain speed of the dApp e.g. 10/15sec on Ethereum every 3sec on BNB Chain, and in under 1sec on Aptos, etc.
Chainlink is built as a push model oracle whereby applications can only get an updated price when certain conditions are met.
For Ethereum, Chainlink updates its prices once an hour or at every 0.5% or 1% price deviation.
On BNB Chain, Chainlink updates its prices once a minute or at every 0.1 to 0.5% price deviation.
On Solana, Chainlink updates its prices every 5sec.
Learn more on chain.link ↗
Pyth’s data is verifiable on-chain.
Chainlink’s data exists off-chain and has to be verified on an individual basis.
Pyth has the following special features:
Chainlink has the following special features:
Performance During Black Swan Events
During the LUNA/UST incident in May ‘22, Pyth managed to track the LUNA price very accurately during the UST de-peg.
During the LUNA/UST incident in May ‘22, Chainlink had a “circuit breaker” that stopped updating the price of an asset if it went below 0.1 USD. This caused certain protocols to potentially receive inaccurate prices.