Pythscan
Core concept · Core

Off-chain vs on-chain delivery

Pyth Core delivers prices to smart contracts via the pull model. Pyth Pro delivers to off-chain consumers via a direct binary feed. Same publisher set, different distribution.

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.

Related concepts