Pyth's publisher set is one. The way that price data leaves Pythnet, however, has two channels — and the choice of channel is dictated by who's consuming. On-chain consumers (smart contracts) need data that fits the constraints of a blockchain: discrete updates, signature verification, gas costs. Off-chain consumers (exchanges, market makers, trading firms) need data that fits the constraints of low-latency trading: continuous streams, microsecond timestamps, deeper market depth.
Pyth Core — on-chain delivery
- Channel — relayer fetches signed updates from Hermes, submits them on-chain
- Cadence — discrete updates per consuming transaction (pull model)
- Latency — typically sub-second once the relayer fires
- Cost — small update fee plus normal gas, paid by the consuming transaction
- Audience — smart-contract apps: DEXs, perpetuals, lending, options, prediction markets
Pyth Pro — off-chain delivery
- Channel — direct binary feed, separate from the on-chain network
- Cadence — continuous streaming
- Latency — sub-millisecond
- Cost — paid subscription
- Audience — institutional consumers: exchanges, market makers, trading firms
Why the split
Block times set a floor on how fast on-chain data can be useful. Once you're below that floor, you need a different distribution channel — putting more frequent updates on-chain would just waste gas. Pyth Pro covers that floor; Pyth Core covers everything above it. Both products use the same publisher submissions, just routed differently.
How to choose
If your consumer is a smart contract, you want Pyth Core. If your consumer is an off-chain trading system, exchange matching engine, or market-making bot, you want Pyth Pro. They're not alternatives — they serve different audiences.