Pythscan
Tech · Tech

Hermes

The web service that distributes signed Pyth price updates. Sits between Pythnet (where prices are signed) and any chain that needs to read one.

Hermes is the public web service Pyth runs to expose signed price updates. When a smart contract on Solana, Ethereum, or any other supported chain needs a fresh BTC/USD update, a relayer fetches the latest signed update from Hermes and submits it on-chain inside the same transaction that consumes it. Hermes itself is a stateless distribution layer — it doesn't produce prices, it just serves the latest signed update for any feed.

What lives in Hermes

  • The latest signed update for every Pyth feed, indexed by feed ID
  • Recent historical updates (a recent window, not full history)
  • Streaming endpoints for clients that want updates as they're produced

Why it exists separately

Pythnet is where prices are aggregated and signed. Consumer chains are where prices are used. Hermes is the bridge. Putting distribution in its own service keeps Pythnet focused on aggregation (low-latency, single workload) and gives consumer applications a simple HTTP/WebSocket interface that's the same regardless of which chain they're integrating from.

How developers use it

Most developers don't talk to Hermes directly — the Pyth SDKs handle it. If you do call Hermes directly (for backend services, off-chain monitoring), the canonical URL is hermes.pyth.network. Use the streaming endpoint if you need updates pushed; use the REST endpoint for on-demand fetches.

Related concepts