TL;DR
Pyth pull-oracles let your app fetch a fresh price update on demand (instead of relying on scheduled “push” updates). This thread links to the tutorial and highlights the core mental models to design around.
Article: https://blog.kaia.io/building-real-time-price-feeds-on-kaia/
Why this matters
Price feeds are often where UX and risk collide. The real question isn’t “do you have an oracle?” — it’s:
- Are you reading a value that’s fresh at execution time, and
- Are you paying for updates you actually use (as opposed to updates scheduled on a fixed schedule)?
Pull-oracles shift the model from “prices are always being pushed on-chain” to “your app pulls an update right before it needs to read.”
What the article covers
- Push vs pull mental model: what changes when updates are fetched on-demand
- Execution-time freshness: how an update gets included before your contract reads the price
- Integration flow (high-level): where the update fits in your tx path and what your app should handle
If you’re planning to integrate pull-oracles
Start with the article and map the “update → read” path into your own app flow.
If anything is unclear, drop your questions in this thread and include:
- your use case (lending/perps/payments /etc.)
- where you’re stuck (update timing, integration assumptions, failure handling)
- whether you’re testing on Kairos vs mainnet
We’ll consolidate common edge cases + integration pain points into the next follow-up post.

