From 6e4e3afaefd5daa52ada468a3bfde52fe2f40f3b Mon Sep 17 00:00:00 2001 From: Aditya Arora Date: Wed, 1 Oct 2025 07:45:27 +0530 Subject: [PATCH 01/10] chore(price-feeds) Rename sponsored Feeds to price pusher --- next.config.js | 2 + pages/price-feeds/_meta.json | 2 +- pages/price-feeds/index.mdx | 189 +++++++++++++++--- pages/price-feeds/pushed-feeds.mdx | 37 ++++ .../_meta.json | 0 .../aptos.mdx | 4 +- .../data/aptos/aptos_mainnet.json | 0 .../data/evm/arbitrum_mainnet.json | 0 .../data/evm/avalanche_mainnet.json | 0 .../data/evm/base_mainnet.json | 0 .../data/evm/berachain_mainnet.json | 0 .../data/evm/ethereum_mainnet.json | 0 .../data/evm/hyperevm_mainnet.json | 0 .../data/evm/linea_mainnet.json | 0 .../data/evm/soneium_mainnet.json | 0 .../data/evm/sonic_mainnet.json | 0 .../data/movement/movement_mainnet.json | 0 .../data/sui/sui_mainnet.json | 0 .../data/svm/fogo_testnet.json | 0 .../data/svm/solana_mainnet.json | 0 .../{sponsored-feeds => pushed-feeds}/evm.mdx | 26 +-- .../fogo.mdx | 4 +- .../movement.mdx | 4 +- .../solana.mdx | 4 +- .../{sponsored-feeds => pushed-feeds}/sui.mdx | 4 +- pages/price-feeds/sponsored-feeds.mdx | 37 ---- pages/price-feeds/use-real-time-data.mdx | 11 +- 27 files changed, 231 insertions(+), 93 deletions(-) create mode 100644 pages/price-feeds/pushed-feeds.mdx rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/_meta.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/aptos.mdx (63%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/data/aptos/aptos_mainnet.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/data/evm/arbitrum_mainnet.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/data/evm/avalanche_mainnet.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/data/evm/base_mainnet.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/data/evm/berachain_mainnet.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/data/evm/ethereum_mainnet.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/data/evm/hyperevm_mainnet.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/data/evm/linea_mainnet.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/data/evm/soneium_mainnet.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/data/evm/sonic_mainnet.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/data/movement/movement_mainnet.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/data/sui/sui_mainnet.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/data/svm/fogo_testnet.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/data/svm/solana_mainnet.json (100%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/evm.mdx (62%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/fogo.mdx (64%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/movement.mdx (61%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/solana.mdx (73%) rename pages/price-feeds/{sponsored-feeds => pushed-feeds}/sui.mdx (64%) delete mode 100644 pages/price-feeds/sponsored-feeds.mdx diff --git a/next.config.js b/next.config.js index cc9b8b2e..e0eecca7 100644 --- a/next.config.js +++ b/next.config.js @@ -121,6 +121,8 @@ const permanentRedirectArray = [ ], ["/benchmarks/api-instances", "/price-feeds/api-reference/"], ["/benchmarks/rate-limits", "/price-feeds/rate-limits/"], + + ["/price-feeds/sponsored-feeds", "/price-feeds/pushed-feeds"], ]; /** @type {import('next').NextConfig} */ diff --git a/pages/price-feeds/_meta.json b/pages/price-feeds/_meta.json index 8e90c268..a6ed6318 100644 --- a/pages/price-feeds/_meta.json +++ b/pages/price-feeds/_meta.json @@ -42,7 +42,7 @@ "api-reference": "API Reference", "price-feeds": "Price Feeds", "current-fees": "Current Fees", - "sponsored-feeds": "Sponsored Feeds", + "pushed-feeds": "Push Feeds", "market-hours": "Market Hours", "best-practices": "Best Practices", "error-codes": "Error Codes", diff --git a/pages/price-feeds/index.mdx b/pages/price-feeds/index.mdx index 354dd122..345f03a1 100644 --- a/pages/price-feeds/index.mdx +++ b/pages/price-feeds/index.mdx @@ -5,7 +5,11 @@ import { LightningIcon, MultiChainIcon, ShieldIcon, + CodeIcon, } from "../../components/icons/ProductIcons"; +import ContractIcon from "../../components/icons/ContractIcon"; +import SearchIcon from "../../components/icons/SearchIcon"; +import { Cards, Card } from "nextra/components"; # Introduction to Pyth Price Feeds @@ -14,44 +18,145 @@ Data is sourced from 120+ first-party providers including major exchanges and ma ## Key Features -- **1600+ price feeds** across all major asset classes +- **2000+ price feeds** across all major asset classes - **Sub-second latency** with high-frequency updates - **Cryptographically signed** and verifiable on-chain - **Multi-chain support** including EVM, Cosmos, Solana, Aptos, and more ## Our Products -
+{/* Real-Time Price Feeds - Two Column Layout */} + +
+
+ {/* Left Column - Product Information */} +
+
+
+ Core +
+
+
+ +

+ Real-Time Price Feeds +

+ +

+ Real-time, high-fidelity market data for smart contracts. +

+ + {/* Features */} +
+
+
+ +
+ + Real-time price feeds + +
+
+
+ +
+ + High-frequency data + +
+
+
+ +
+ + Multi-chain support + +
+
+ + +
+ + {/* Right Column - Integration Methods */} +
+

Integration Methods

+
+ {/* Pull Architecture */} +
+
+
+
Pull Architecture
+
+

+ Update prices on-demand, permissionlessly every 400ms. +

+ +
+ + {/* Push Architecture */} +
+
+
+
Push Architecture
+
+

+ Pyth Data Association sponsored updates to make prices available directly from smart contracts. +

+ +
+
+
+ +
+
+ +{/* Other Products Grid */} + +
} - title="Real-Time Price Feeds" - description="Real-time, high-fidelity market data for smart contracts." + badge="Benchmarks" + icon={} + title="Historical Data" + description="Access to historical price data for settlement and backtesting." features={[ - { icon: , text: "Real-time price feeds" }, - { icon: , text: "High-frequency data" }, - { icon: , text: "Multi-chain support" } + { icon: , text: "Signed data" }, + { icon: , text: "Verifiable prices" }, + { icon: , text: "Time-stamped prices" }, ]} - ctaText="Explore Price Feeds" - href="./price-feeds/use-real-time-data" + ctaText="Access Historical Data" + href="./price-feeds/use-historic-price-data" /> -{" "} - -} - title="Historical Data" - description="Access to historical price data for settlement and backtesting." - features={[ - { icon: , text: "Signed data" }, - { icon: , text: "Verifiable prices" }, - { icon: , text: "Time-stamped prices" }, - ]} - ctaText="Access Historical Data" - href="./price-feeds/use-historic-price-data" -/> - } @@ -69,6 +174,30 @@ Data is sourced from 120+ first-party providers including major exchanges and ma ## Quick Start -Follow the [Getting Started](price-feeds/getting-started.mdx) guide to integrate Pyth Price Feeds into your application. - -For contract addresses and deployment details, see [Contract Addresses](./price-feeds/contract-addresses). + + } + title="Getting Started" + href="./price-feeds/getting-started" + /> + } + title="Contract Addresses" + href="./price-feeds/contract-addresses" + /> + } + title="Push Feeds" + href="./price-feeds/pushed-feeds" + /> + } + title="API Reference" + href="./price-feeds/api-reference" + /> + } + title="Price Feed IDs" + href="./price-feeds/price-feed-ids" + /> + diff --git a/pages/price-feeds/pushed-feeds.mdx b/pages/price-feeds/pushed-feeds.mdx new file mode 100644 index 00000000..6ef72743 --- /dev/null +++ b/pages/price-feeds/pushed-feeds.mdx @@ -0,0 +1,37 @@ +import { Callout } from "nextra/components"; + +# Push Feeds + +The Pyth Data Association **pushes** price updates for various feeds on some networks. +These feeds are updated at a specific heartbeat rate or when the price changes by a specific percentage. +Developers don't need to [pull prices](./fetch-price-updates.mdx) for the following feeds, unless they required short update intervals. + +The feeds can vary by network. Please see the relevant section below for the network of interest. + +- [EVM](pushed-feeds/evm) +- [Solana](pushed-feeds/solana) +- [Fogo](pushed-feeds/fogo) +- [Aptos](pushed-feeds/aptos) +- [Sui](pushed-feeds/sui) +- [Movement](pushed-feeds/movement) + + + Push feeds are subject to change with prior notice. Please refer to the + [dev forum](https://dev-forum.pyth.network/c/announcements/6) for the latest + updates. + + + + Deviation thresholds can be customized to fit builders' needs. For thresholds + lower than those offered by our Push feeds, please reach out. + + + + DISCLAIMER: While the Pyth Data Association strives to deliver timely updates, + these Push feeds may occasionally experience delays in updates caused by + chain halts, gas estimations and other issues. Applications are advised to run + their own scheduler. Find out how you can run your own scheduler + [here](/price-feeds/schedule-price-updates/using-scheduler). + + +If you would like to see additional feeds on this list, please fill in this [form](https://tally.so/r/nGz2jj) to signal your interest. diff --git a/pages/price-feeds/sponsored-feeds/_meta.json b/pages/price-feeds/pushed-feeds/_meta.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/_meta.json rename to pages/price-feeds/pushed-feeds/_meta.json diff --git a/pages/price-feeds/sponsored-feeds/aptos.mdx b/pages/price-feeds/pushed-feeds/aptos.mdx similarity index 63% rename from pages/price-feeds/sponsored-feeds/aptos.mdx rename to pages/price-feeds/pushed-feeds/aptos.mdx index 15e020aa..164afa8d 100644 --- a/pages/price-feeds/sponsored-feeds/aptos.mdx +++ b/pages/price-feeds/pushed-feeds/aptos.mdx @@ -1,7 +1,7 @@ import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; -import aptosMainnet from "../sponsored-feeds/data/aptos/aptos_mainnet.json"; +import aptosMainnet from "../pushed-feeds/data/aptos/aptos_mainnet.json"; -# Sponsored Feeds on Aptos +# Push Feeds on Aptos ## Aptos Mainnet diff --git a/pages/price-feeds/sponsored-feeds/data/aptos/aptos_mainnet.json b/pages/price-feeds/pushed-feeds/data/aptos/aptos_mainnet.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/data/aptos/aptos_mainnet.json rename to pages/price-feeds/pushed-feeds/data/aptos/aptos_mainnet.json diff --git a/pages/price-feeds/sponsored-feeds/data/evm/arbitrum_mainnet.json b/pages/price-feeds/pushed-feeds/data/evm/arbitrum_mainnet.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/data/evm/arbitrum_mainnet.json rename to pages/price-feeds/pushed-feeds/data/evm/arbitrum_mainnet.json diff --git a/pages/price-feeds/sponsored-feeds/data/evm/avalanche_mainnet.json b/pages/price-feeds/pushed-feeds/data/evm/avalanche_mainnet.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/data/evm/avalanche_mainnet.json rename to pages/price-feeds/pushed-feeds/data/evm/avalanche_mainnet.json diff --git a/pages/price-feeds/sponsored-feeds/data/evm/base_mainnet.json b/pages/price-feeds/pushed-feeds/data/evm/base_mainnet.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/data/evm/base_mainnet.json rename to pages/price-feeds/pushed-feeds/data/evm/base_mainnet.json diff --git a/pages/price-feeds/sponsored-feeds/data/evm/berachain_mainnet.json b/pages/price-feeds/pushed-feeds/data/evm/berachain_mainnet.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/data/evm/berachain_mainnet.json rename to pages/price-feeds/pushed-feeds/data/evm/berachain_mainnet.json diff --git a/pages/price-feeds/sponsored-feeds/data/evm/ethereum_mainnet.json b/pages/price-feeds/pushed-feeds/data/evm/ethereum_mainnet.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/data/evm/ethereum_mainnet.json rename to pages/price-feeds/pushed-feeds/data/evm/ethereum_mainnet.json diff --git a/pages/price-feeds/sponsored-feeds/data/evm/hyperevm_mainnet.json b/pages/price-feeds/pushed-feeds/data/evm/hyperevm_mainnet.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/data/evm/hyperevm_mainnet.json rename to pages/price-feeds/pushed-feeds/data/evm/hyperevm_mainnet.json diff --git a/pages/price-feeds/sponsored-feeds/data/evm/linea_mainnet.json b/pages/price-feeds/pushed-feeds/data/evm/linea_mainnet.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/data/evm/linea_mainnet.json rename to pages/price-feeds/pushed-feeds/data/evm/linea_mainnet.json diff --git a/pages/price-feeds/sponsored-feeds/data/evm/soneium_mainnet.json b/pages/price-feeds/pushed-feeds/data/evm/soneium_mainnet.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/data/evm/soneium_mainnet.json rename to pages/price-feeds/pushed-feeds/data/evm/soneium_mainnet.json diff --git a/pages/price-feeds/sponsored-feeds/data/evm/sonic_mainnet.json b/pages/price-feeds/pushed-feeds/data/evm/sonic_mainnet.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/data/evm/sonic_mainnet.json rename to pages/price-feeds/pushed-feeds/data/evm/sonic_mainnet.json diff --git a/pages/price-feeds/sponsored-feeds/data/movement/movement_mainnet.json b/pages/price-feeds/pushed-feeds/data/movement/movement_mainnet.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/data/movement/movement_mainnet.json rename to pages/price-feeds/pushed-feeds/data/movement/movement_mainnet.json diff --git a/pages/price-feeds/sponsored-feeds/data/sui/sui_mainnet.json b/pages/price-feeds/pushed-feeds/data/sui/sui_mainnet.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/data/sui/sui_mainnet.json rename to pages/price-feeds/pushed-feeds/data/sui/sui_mainnet.json diff --git a/pages/price-feeds/sponsored-feeds/data/svm/fogo_testnet.json b/pages/price-feeds/pushed-feeds/data/svm/fogo_testnet.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/data/svm/fogo_testnet.json rename to pages/price-feeds/pushed-feeds/data/svm/fogo_testnet.json diff --git a/pages/price-feeds/sponsored-feeds/data/svm/solana_mainnet.json b/pages/price-feeds/pushed-feeds/data/svm/solana_mainnet.json similarity index 100% rename from pages/price-feeds/sponsored-feeds/data/svm/solana_mainnet.json rename to pages/price-feeds/pushed-feeds/data/svm/solana_mainnet.json diff --git a/pages/price-feeds/sponsored-feeds/evm.mdx b/pages/price-feeds/pushed-feeds/evm.mdx similarity index 62% rename from pages/price-feeds/sponsored-feeds/evm.mdx rename to pages/price-feeds/pushed-feeds/evm.mdx index 4ec74a86..869f8414 100644 --- a/pages/price-feeds/sponsored-feeds/evm.mdx +++ b/pages/price-feeds/pushed-feeds/evm.mdx @@ -1,17 +1,17 @@ import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; -import arbitrumMainnet from "../sponsored-feeds/data/evm/arbitrum_mainnet.json"; -import avalancheMainnet from "../sponsored-feeds/data/evm/avalanche_mainnet.json"; -import baseMainnet from "../sponsored-feeds/data/evm/base_mainnet.json"; -import berachainMainnet from "../sponsored-feeds/data/evm/berachain_mainnet.json"; -import ethereumMainnet from "../sponsored-feeds/data/evm/ethereum_mainnet.json"; -import hyperevmMainnet from "../sponsored-feeds/data/evm/hyperevm_mainnet.json"; -import soneiumMainnet from "../sponsored-feeds/data/evm/soneium_mainnet.json"; -import sonicMainnet from "../sponsored-feeds/data/evm/sonic_mainnet.json"; -import lineaMainnet from "../sponsored-feeds/data/evm/linea_mainnet.json"; - -# Sponsored Feeds on EVM - -The following EVM chains have sponsored price feeds: +import arbitrumMainnet from "../pushed-feeds/data/evm/arbitrum_mainnet.json"; +import avalancheMainnet from "../pushed-feeds/data/evm/avalanche_mainnet.json"; +import baseMainnet from "../pushed-feeds/data/evm/base_mainnet.json"; +import berachainMainnet from "../pushed-feeds/data/evm/berachain_mainnet.json"; +import ethereumMainnet from "../pushed-feeds/data/evm/ethereum_mainnet.json"; +import hyperevmMainnet from "../pushed-feeds/data/evm/hyperevm_mainnet.json"; +import soneiumMainnet from "../pushed-feeds/data/evm/soneium_mainnet.json"; +import sonicMainnet from "../pushed-feeds/data/evm/sonic_mainnet.json"; +import lineaMainnet from "../pushed-feeds/data/evm/linea_mainnet.json"; + +# Push Feeds on EVM + +The following EVM chains have Push feeds: - [Arbitrum Mainnet](#arbitrum-mainnet) - [Avalanche Mainnet](#avalanche-mainnet) diff --git a/pages/price-feeds/sponsored-feeds/fogo.mdx b/pages/price-feeds/pushed-feeds/fogo.mdx similarity index 64% rename from pages/price-feeds/sponsored-feeds/fogo.mdx rename to pages/price-feeds/pushed-feeds/fogo.mdx index fd9e3a94..2f3e7c32 100644 --- a/pages/price-feeds/sponsored-feeds/fogo.mdx +++ b/pages/price-feeds/pushed-feeds/fogo.mdx @@ -1,7 +1,7 @@ import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; -import fogoTestnet from "../sponsored-feeds/data/svm/fogo_testnet.json"; +import fogoTestnet from "../pushed-feeds/data/svm/fogo_testnet.json"; -# Sponsored Feeds on Fogo +# Push Feeds on Fogo ## Fogo Testnet diff --git a/pages/price-feeds/sponsored-feeds/movement.mdx b/pages/price-feeds/pushed-feeds/movement.mdx similarity index 61% rename from pages/price-feeds/sponsored-feeds/movement.mdx rename to pages/price-feeds/pushed-feeds/movement.mdx index 0b8d9e46..364541ce 100644 --- a/pages/price-feeds/sponsored-feeds/movement.mdx +++ b/pages/price-feeds/pushed-feeds/movement.mdx @@ -1,7 +1,7 @@ import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; -import movementMainnet from "../sponsored-feeds/data/movement/movement_mainnet.json"; +import movementMainnet from "../pushed-feeds/data/movement/movement_mainnet.json"; -# Sponsored Feeds on Movement +# Push Feeds on Movement ## Movement Mainnet diff --git a/pages/price-feeds/sponsored-feeds/solana.mdx b/pages/price-feeds/pushed-feeds/solana.mdx similarity index 73% rename from pages/price-feeds/sponsored-feeds/solana.mdx rename to pages/price-feeds/pushed-feeds/solana.mdx index 2b321aea..7b1ef94e 100644 --- a/pages/price-feeds/sponsored-feeds/solana.mdx +++ b/pages/price-feeds/pushed-feeds/solana.mdx @@ -1,7 +1,7 @@ import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; -import solanaMainnet from "../sponsored-feeds/data/svm/solana_mainnet.json"; +import solanaMainnet from "../pushed-feeds/data/svm/solana_mainnet.json"; -# Sponsored Feeds on Solana +# Push Feeds on Solana ## Solana Mainnet diff --git a/pages/price-feeds/sponsored-feeds/sui.mdx b/pages/price-feeds/pushed-feeds/sui.mdx similarity index 64% rename from pages/price-feeds/sponsored-feeds/sui.mdx rename to pages/price-feeds/pushed-feeds/sui.mdx index 9b761dfc..339bbeca 100644 --- a/pages/price-feeds/sponsored-feeds/sui.mdx +++ b/pages/price-feeds/pushed-feeds/sui.mdx @@ -1,7 +1,7 @@ import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; -import suiMainnet from "../sponsored-feeds/data/sui/sui_mainnet.json"; +import suiMainnet from "../pushed-feeds/data/sui/sui_mainnet.json"; -# Sponsored Feeds on Sui +# Push Feeds on Sui ## Sui Mainnet diff --git a/pages/price-feeds/sponsored-feeds.mdx b/pages/price-feeds/sponsored-feeds.mdx deleted file mode 100644 index f2edbdb0..00000000 --- a/pages/price-feeds/sponsored-feeds.mdx +++ /dev/null @@ -1,37 +0,0 @@ -import { Callout } from "nextra/components"; - -# Sponsored Feeds - -The Pyth Data Association sponsors price updates for some feeds on some networks. -Sponsored feeds are updated at a specific heartbeat rate or when the price changes by a specific percentage. -Developers don't need to [pull prices](./fetch-price-updates.mdx) for sponsored feeds, unless they required short update intervals. - -The sponsored feeds can vary by network. Please see the relevant section below for the network of interest. - -- [EVM](sponsored-feeds/evm) -- [Solana](sponsored-feeds/solana) -- [Fogo](sponsored-feeds/fogo) -- [Aptos](sponsored-feeds/aptos) -- [Sui](sponsored-feeds/sui) -- [Movement](sponsored-feeds/movement) - - - Sponsored feeds are subject to change with prior notice. Please refer to the - [dev forum](https://dev-forum.pyth.network/c/announcements/6) for the latest - updates. - - - - Deviation thresholds can be customized to fit builders’ needs. For thresholds - lower than those offered by our sponsored feeds, please reach out. - - - - DISCLAIMER: While the Pyth Data Association strives to deliver timely updates, - these sponsored feeds may occasionally experience delays in updates caused by - chain halts, gas estimations and other issues. Applications are advised to run - their own scheduler. Find out how you can run your own scheduler - [here](/price-feeds/schedule-price-updates/using-scheduler). - - -If you would like to see additional feeds on this list, please fill in this [form](https://tally.so/r/nGz2jj) to signal your interest. diff --git a/pages/price-feeds/use-real-time-data.mdx b/pages/price-feeds/use-real-time-data.mdx index ce0a9d02..890bc729 100644 --- a/pages/price-feeds/use-real-time-data.mdx +++ b/pages/price-feeds/use-real-time-data.mdx @@ -1,14 +1,21 @@ -# How to Use Real-Time Price Data +import { Callout } from "nextra/components"; + +# How to Pull Real-Time Price Data The following guides demonstrate how to consume Pyth real-time prices on various blockchains. These guides are intended for developers building on-chain applications that need price data, i.e., the price data must be on the blockchain. + + The following guides show how to pull real-time price data. If you want to + read prices directly from smart contracts, see [Push Feeds](../pushed-feeds). + + Pyth price feeds are available on 100+ blockchain ecosystems. Check out the complete list of chains and implementation contract addresses at [Contract Addresses](contract-addresses). If your blockchain is not supported, please [ask in Discord](https://discord.gg/invite/PythNetwork). -Then, consult the relevant ecosystem guide to get started using Pyth real-time price data: +Then, consult the relevant ecosystem guide to get started using Pyth pull real-time price data: - [EVM](use-real-time-data/evm) - [Solana](use-real-time-data/solana) From fce4d9524893e17d3784fdde50ce7b7c79f00081 Mon Sep 17 00:00:00 2001 From: Aditya Arora Date: Wed, 1 Oct 2025 13:18:06 +0530 Subject: [PATCH 02/10] chore(price-feeds) Add a callout to price pusher --- pages/price-feeds/_meta.json | 2 +- pages/price-feeds/pushed-feeds.mdx | 10 +++++----- pages/price-feeds/use-real-time-data.mdx | 10 +++++----- pages/price-feeds/use-real-time-data/evm.mdx | 16 +++++++++++----- 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/pages/price-feeds/_meta.json b/pages/price-feeds/_meta.json index a6ed6318..d1f89619 100644 --- a/pages/price-feeds/_meta.json +++ b/pages/price-feeds/_meta.json @@ -23,7 +23,7 @@ "type": "separator" }, - "use-real-time-data": "Use Real-Time Price Data", + "use-real-time-data": "Pull Real-Time Price Data", "use-historic-price-data": "Use Historic Price Data", "fetch-price-updates": "Fetch Price Updates", "schedule-price-updates": "Schedule Price Updates", diff --git a/pages/price-feeds/pushed-feeds.mdx b/pages/price-feeds/pushed-feeds.mdx index 6ef72743..b0247af7 100644 --- a/pages/price-feeds/pushed-feeds.mdx +++ b/pages/price-feeds/pushed-feeds.mdx @@ -16,8 +16,8 @@ The feeds can vary by network. Please see the relevant section below for the net - [Movement](pushed-feeds/movement) - Push feeds are subject to change with prior notice. Please refer to the - [dev forum](https://dev-forum.pyth.network/c/announcements/6) for the latest + Push feeds are subject to change with prior notice. Please refer to the [dev + forum](https://dev-forum.pyth.network/c/announcements/6) for the latest updates. @@ -28,9 +28,9 @@ The feeds can vary by network. Please see the relevant section below for the net DISCLAIMER: While the Pyth Data Association strives to deliver timely updates, - these Push feeds may occasionally experience delays in updates caused by - chain halts, gas estimations and other issues. Applications are advised to run - their own scheduler. Find out how you can run your own scheduler + these Push feeds may occasionally experience delays in updates caused by chain + halts, gas estimations and other issues. Applications are advised to run their + own scheduler. Find out how you can run your own scheduler [here](/price-feeds/schedule-price-updates/using-scheduler). diff --git a/pages/price-feeds/use-real-time-data.mdx b/pages/price-feeds/use-real-time-data.mdx index 890bc729..5f0802dd 100644 --- a/pages/price-feeds/use-real-time-data.mdx +++ b/pages/price-feeds/use-real-time-data.mdx @@ -2,19 +2,19 @@ import { Callout } from "nextra/components"; # How to Pull Real-Time Price Data -The following guides demonstrate how to consume Pyth real-time prices on various blockchains. -These guides are intended for developers building on-chain applications that need price data, i.e., the price data must +The following guides demonstrate how to consume **Pull** Pyth real-time prices on various blockchains. +These guides are intended for developers building on-chain applications that need latest price data, i.e., the price data must be on the blockchain. - The following guides show how to pull real-time price data. If you want to - read prices directly from smart contracts, see [Push Feeds](../pushed-feeds). + The following guides show **how to pull real-time** price data. If you want to + read prices from smart contracts, see [Push Feeds](../pushed-feeds). Pyth price feeds are available on 100+ blockchain ecosystems. Check out the complete list of chains and implementation contract addresses at [Contract Addresses](contract-addresses). -If your blockchain is not supported, please [ask in Discord](https://discord.gg/invite/PythNetwork). +If your blockchain is not supported, please [ask in the dev-forum](https://dev-forum.pyth.network/latest). Then, consult the relevant ecosystem guide to get started using Pyth pull real-time price data: - [EVM](use-real-time-data/evm) diff --git a/pages/price-feeds/use-real-time-data/evm.mdx b/pages/price-feeds/use-real-time-data/evm.mdx index 5ec23531..b7a139de 100644 --- a/pages/price-feeds/use-real-time-data/evm.mdx +++ b/pages/price-feeds/use-real-time-data/evm.mdx @@ -1,10 +1,16 @@ ---- -description: Consume Pyth Network prices in EVM applications ---- +import { Callout } from "nextra/components"; -# How to Use Real-Time Data in EVM Contracts +# How to Pull Real-Time Data in EVM Contracts -This guide explains how to use real-time Pyth data in EVM contracts. For an interactive playground to explore the methods supported by the Pyth contract, see the [EVM API reference](../api-reference/evm/). +This guide explains how to **Pull real-time Pyth** data in EVM contracts. For an interactive playground to explore the methods supported by the Pyth contract, see the [EVM API reference](../api-reference/evm/). + + + The following guides **show how to pull real-time** price data. If you want to + read prices from smart contracts, see [Push Feeds](../pushed-feeds). If you + want to use pushed feeds, one can just the following code from the smart + contract to read the price: ```solidity copy PythStructs.Price memory price = + pyth.getPriceNoOlderThan(priceFeedId, 60); ``` + ## Install Pyth SDK From e64c38dbcab9ce99e4a6a97e048cbc7e2f74599f Mon Sep 17 00:00:00 2001 From: Aditya Arora Date: Wed, 1 Oct 2025 13:20:02 +0530 Subject: [PATCH 03/10] chore(docs) Small improvements --- pages/price-feeds/index.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pages/price-feeds/index.mdx b/pages/price-feeds/index.mdx index 345f03a1..dcee12c2 100644 --- a/pages/price-feeds/index.mdx +++ b/pages/price-feeds/index.mdx @@ -113,14 +113,14 @@ Data is sourced from 120+ first-party providers including major exchanges and ma
- {/* Push Architecture */} + {/* Push Feeds */}
-
Push Architecture
+
Push Feeds

- Pyth Data Association sponsored updates to make prices available directly from smart contracts. + Pyth Data Association sponsored price updates to make prices available directly from smart contracts.

} title="Price Feed IDs" - href="./price-feeds/price-feed-ids" + href="./price-feeds/price-feeds" /> From fa19dd17c20ca4583b541ecb3d852d61bd92a387 Mon Sep 17 00:00:00 2001 From: Aditya Arora Date: Thu, 2 Oct 2025 13:45:22 +0530 Subject: [PATCH 04/10] chore(price-feeds) Improved layout, added a new guide --- pages/price-feeds/_meta.json | 2 +- pages/price-feeds/index.mdx | 18 ++--- pages/price-feeds/pushed-feeds.mdx | 2 +- pages/price-feeds/pushed-feeds/aptos.mdx | 7 ++ pages/price-feeds/pushed-feeds/evm.mdx | 7 ++ pages/price-feeds/pushed-feeds/fogo.mdx | 7 ++ pages/price-feeds/pushed-feeds/movement.mdx | 7 ++ pages/price-feeds/pushed-feeds/solana.mdx | 7 ++ pages/price-feeds/pushed-feeds/sui.mdx | 7 ++ pages/price-feeds/use-real-time-data.mdx | 21 +++--- .../price-feeds/use-real-time-data/_meta.json | 13 +--- .../pull-integration/_meta.json | 14 ++++ .../{ => pull-integration}/aptos.mdx | 0 .../{ => pull-integration}/cosmwasm.mdx | 0 .../{ => pull-integration}/evm.mdx | 16 ++-- .../{ => pull-integration}/fuel.mdx | 0 .../{ => pull-integration}/iota.mdx | 0 .../{ => pull-integration}/near.mdx | 0 .../{ => pull-integration}/solana.mdx | 0 .../{ => pull-integration}/stacks.mdx | 0 .../{ => pull-integration}/starknet.mdx | 0 .../{ => pull-integration}/sui.mdx | 0 .../{ => pull-integration}/ton.mdx | 0 .../use-real-time-data/push-integration.mdx | 74 +++++++++++++++++++ 24 files changed, 162 insertions(+), 40 deletions(-) create mode 100644 pages/price-feeds/use-real-time-data/pull-integration/_meta.json rename pages/price-feeds/use-real-time-data/{ => pull-integration}/aptos.mdx (100%) rename pages/price-feeds/use-real-time-data/{ => pull-integration}/cosmwasm.mdx (100%) rename pages/price-feeds/use-real-time-data/{ => pull-integration}/evm.mdx (88%) rename pages/price-feeds/use-real-time-data/{ => pull-integration}/fuel.mdx (100%) rename pages/price-feeds/use-real-time-data/{ => pull-integration}/iota.mdx (100%) rename pages/price-feeds/use-real-time-data/{ => pull-integration}/near.mdx (100%) rename pages/price-feeds/use-real-time-data/{ => pull-integration}/solana.mdx (100%) rename pages/price-feeds/use-real-time-data/{ => pull-integration}/stacks.mdx (100%) rename pages/price-feeds/use-real-time-data/{ => pull-integration}/starknet.mdx (100%) rename pages/price-feeds/use-real-time-data/{ => pull-integration}/sui.mdx (100%) rename pages/price-feeds/use-real-time-data/{ => pull-integration}/ton.mdx (100%) create mode 100644 pages/price-feeds/use-real-time-data/push-integration.mdx diff --git a/pages/price-feeds/_meta.json b/pages/price-feeds/_meta.json index d1f89619..a6ed6318 100644 --- a/pages/price-feeds/_meta.json +++ b/pages/price-feeds/_meta.json @@ -23,7 +23,7 @@ "type": "separator" }, - "use-real-time-data": "Pull Real-Time Price Data", + "use-real-time-data": "Use Real-Time Price Data", "use-historic-price-data": "Use Historic Price Data", "fetch-price-updates": "Fetch Price Updates", "schedule-price-updates": "Schedule Price Updates", diff --git a/pages/price-feeds/index.mdx b/pages/price-feeds/index.mdx index dcee12c2..577ad69f 100644 --- a/pages/price-feeds/index.mdx +++ b/pages/price-feeds/index.mdx @@ -61,7 +61,7 @@ Data is sourced from 120+ first-party providers including major exchanges and ma
- High-frequency data + 400ms frequency updates
@@ -69,7 +69,7 @@ Data is sourced from 120+ first-party providers including major exchanges and ma
- Multi-chain support + 100+ blockchains (EVM, Solana, Aptos, Sui, etc.) @@ -91,21 +91,21 @@ Data is sourced from 120+ first-party providers including major exchanges and ma

Integration Methods

- {/* Pull Architecture */} + {/* Pull Integration */}
-
Pull Architecture
+
Pull Integration

- Update prices on-demand, permissionlessly every 400ms. + Update 2000+ prices on-demand, permissionlessly every 400ms.

- Integrate Pull Method + Get Started with Pull Integration @@ -117,17 +117,17 @@ Data is sourced from 120+ first-party providers including major exchanges and ma
-
Push Feeds
+
Push Integration

- Pyth Data Association sponsored price updates to make prices available directly from smart contracts. + Consume Pyth real-time prices without pulling them explicitly.

- Explore Push Feeds + Get Started with Push Integration diff --git a/pages/price-feeds/pushed-feeds.mdx b/pages/price-feeds/pushed-feeds.mdx index b0247af7..906aab60 100644 --- a/pages/price-feeds/pushed-feeds.mdx +++ b/pages/price-feeds/pushed-feeds.mdx @@ -4,7 +4,7 @@ import { Callout } from "nextra/components"; The Pyth Data Association **pushes** price updates for various feeds on some networks. These feeds are updated at a specific heartbeat rate or when the price changes by a specific percentage. -Developers don't need to [pull prices](./fetch-price-updates.mdx) for the following feeds, unless they required short update intervals. +Applications can depend on receiving updates for these feeds, without having to pull them explicitly. The feeds can vary by network. Please see the relevant section below for the network of interest. diff --git a/pages/price-feeds/pushed-feeds/aptos.mdx b/pages/price-feeds/pushed-feeds/aptos.mdx index 164afa8d..103d8072 100644 --- a/pages/price-feeds/pushed-feeds/aptos.mdx +++ b/pages/price-feeds/pushed-feeds/aptos.mdx @@ -1,3 +1,5 @@ +import { Callout } from "nextra/components"; + import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; import aptosMainnet from "../pushed-feeds/data/aptos/aptos_mainnet.json"; @@ -5,4 +7,9 @@ import aptosMainnet from "../pushed-feeds/data/aptos/aptos_mainnet.json"; ## Aptos Mainnet + + If you would like to see additional feeds on this list, please fill in this + [form](https://tally.so/r/nGz2jj) to signal your interest. + + diff --git a/pages/price-feeds/pushed-feeds/evm.mdx b/pages/price-feeds/pushed-feeds/evm.mdx index 869f8414..9bb5357c 100644 --- a/pages/price-feeds/pushed-feeds/evm.mdx +++ b/pages/price-feeds/pushed-feeds/evm.mdx @@ -1,3 +1,5 @@ +import { Callout } from "nextra/components"; + import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; import arbitrumMainnet from "../pushed-feeds/data/evm/arbitrum_mainnet.json"; import avalancheMainnet from "../pushed-feeds/data/evm/avalanche_mainnet.json"; @@ -23,6 +25,11 @@ The following EVM chains have Push feeds: - [Soneium Mainnet](#soneium-mainnet) - [Sonic Mainnet](#sonic-mainnet) + + If you would like to see additional feeds on this list, please fill in this + [form](https://tally.so/r/nGz2jj) to signal your interest. + + ## Arbitrum Mainnet diff --git a/pages/price-feeds/pushed-feeds/fogo.mdx b/pages/price-feeds/pushed-feeds/fogo.mdx index 2f3e7c32..3fd3c19f 100644 --- a/pages/price-feeds/pushed-feeds/fogo.mdx +++ b/pages/price-feeds/pushed-feeds/fogo.mdx @@ -1,3 +1,5 @@ +import { Callout } from "nextra/components"; + import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; import fogoTestnet from "../pushed-feeds/data/svm/fogo_testnet.json"; @@ -5,4 +7,9 @@ import fogoTestnet from "../pushed-feeds/data/svm/fogo_testnet.json"; ## Fogo Testnet + + If you would like to see additional feeds on this list, please fill in this + [form](https://tally.so/r/nGz2jj) to signal your interest. + + diff --git a/pages/price-feeds/pushed-feeds/movement.mdx b/pages/price-feeds/pushed-feeds/movement.mdx index 364541ce..86db3793 100644 --- a/pages/price-feeds/pushed-feeds/movement.mdx +++ b/pages/price-feeds/pushed-feeds/movement.mdx @@ -1,3 +1,5 @@ +import { Callout } from "nextra/components"; + import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; import movementMainnet from "../pushed-feeds/data/movement/movement_mainnet.json"; @@ -5,4 +7,9 @@ import movementMainnet from "../pushed-feeds/data/movement/movement_mainnet.json ## Movement Mainnet + + If you would like to see additional feeds on this list, please fill in this + [form](https://tally.so/r/nGz2jj) to signal your interest. + + diff --git a/pages/price-feeds/pushed-feeds/solana.mdx b/pages/price-feeds/pushed-feeds/solana.mdx index 7b1ef94e..1d7248dc 100644 --- a/pages/price-feeds/pushed-feeds/solana.mdx +++ b/pages/price-feeds/pushed-feeds/solana.mdx @@ -1,8 +1,15 @@ +import { Callout } from "nextra/components"; + import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; import solanaMainnet from "../pushed-feeds/data/svm/solana_mainnet.json"; # Push Feeds on Solana + + If you would like to see additional feeds on this list, please fill in this + [form](https://tally.so/r/nGz2jj) to signal your interest. + + ## Solana Mainnet + If you would like to see additional feeds on this list, please fill in this + [form](https://tally.so/r/nGz2jj) to signal your interest. + + ## Sui Mainnet diff --git a/pages/price-feeds/use-real-time-data.mdx b/pages/price-feeds/use-real-time-data.mdx index 5f0802dd..fd8d9820 100644 --- a/pages/price-feeds/use-real-time-data.mdx +++ b/pages/price-feeds/use-real-time-data.mdx @@ -1,21 +1,16 @@ import { Callout } from "nextra/components"; -# How to Pull Real-Time Price Data +# How to Use Real-Time Price Data -The following guides demonstrate how to consume **Pull** Pyth real-time prices on various blockchains. +The following guides demonstrate how to consume Pyth real-time prices on various blockchains. These guides are intended for developers building on-chain applications that need latest price data, i.e., the price data must be on the blockchain. - - The following guides show **how to pull real-time** price data. If you want to - read prices from smart contracts, see [Push Feeds](../pushed-feeds). - - Pyth price feeds are available on 100+ blockchain ecosystems. Check out the complete list of chains and implementation contract addresses at [Contract Addresses](contract-addresses). If your blockchain is not supported, please [ask in the dev-forum](https://dev-forum.pyth.network/latest). -Then, consult the relevant ecosystem guide to get started using Pyth pull real-time price data: +Then, consult the relevant ecosystem guide to get started using Pyth **pull** real-time price data: - [EVM](use-real-time-data/evm) - [Solana](use-real-time-data/solana) @@ -25,12 +20,16 @@ Then, consult the relevant ecosystem guide to get started using Pyth pull real-t - [IOTA](use-real-time-data/iota.md) - [Near](use-real-time-data/sui.md) +To consume real-time price data using **push** integration, check out the following guides: + +- [Using Push Integration](use-real-time-data/push-integration) + +This guide will walk you through the steps to use real-time price data using Push Integration in every ecosystem. + Pyth price feeds can also be used in off-chain applications. For example, an application may need to show real-time asset prices on a website. Developers building such applications can consult the following guide: - [Off-chain Apps](use-real-time-data/off-chain.md) -Off-chain application developers should also consider using [Benchmarks](../benchmarks). -In addition to real-time data, Benchmarks provides access to historical Pyth prices. -These historical prices are useful for building price charts or graphs. +To fetch historical prices, application developers can check out the [Use Historic Price Data](use-historic-price-data) guide. diff --git a/pages/price-feeds/use-real-time-data/_meta.json b/pages/price-feeds/use-real-time-data/_meta.json index ec7a0445..2bb70c3e 100644 --- a/pages/price-feeds/use-real-time-data/_meta.json +++ b/pages/price-feeds/use-real-time-data/_meta.json @@ -1,14 +1,5 @@ { - "evm": "in EVM Contracts", - "solana": "in Solana and SVM Programs", - "starknet": "in Starknet Contracts", - "fuel": "in Fuel Contracts", - "stacks": "in Stacks Contracts", - "aptos": "in Aptos Contracts", - "sui": "in Sui Contracts", - "iota": "in IOTA Contracts", - "ton": "in TON Contracts", - "cosmwasm": "in CosmWasm Contracts", - "near": "in Near Contracts", + "pull-integration": "using Pull Integration", + "push-integration": "using Push Integration", "off-chain": "in Off-Chain Applications" } diff --git a/pages/price-feeds/use-real-time-data/pull-integration/_meta.json b/pages/price-feeds/use-real-time-data/pull-integration/_meta.json new file mode 100644 index 00000000..2508b645 --- /dev/null +++ b/pages/price-feeds/use-real-time-data/pull-integration/_meta.json @@ -0,0 +1,14 @@ +{ +"evm": "in EVM Contracts", +"solana": "in Solana and SVM Programs", +"starknet": "in Starknet Contracts", +"fuel": "in Fuel Contracts", +"stacks": "in Stacks Contracts", +"aptos": "in Aptos Contracts", +"sui": "in Sui Contracts", +"iota": "in IOTA Contracts", +"ton": "in TON Contracts", +"cosmwasm": "in CosmWasm Contracts", +"near": "in Near Contracts", +"off-chain": "in Off-Chain Applications" +} \ No newline at end of file diff --git a/pages/price-feeds/use-real-time-data/aptos.mdx b/pages/price-feeds/use-real-time-data/pull-integration/aptos.mdx similarity index 100% rename from pages/price-feeds/use-real-time-data/aptos.mdx rename to pages/price-feeds/use-real-time-data/pull-integration/aptos.mdx diff --git a/pages/price-feeds/use-real-time-data/cosmwasm.mdx b/pages/price-feeds/use-real-time-data/pull-integration/cosmwasm.mdx similarity index 100% rename from pages/price-feeds/use-real-time-data/cosmwasm.mdx rename to pages/price-feeds/use-real-time-data/pull-integration/cosmwasm.mdx diff --git a/pages/price-feeds/use-real-time-data/evm.mdx b/pages/price-feeds/use-real-time-data/pull-integration/evm.mdx similarity index 88% rename from pages/price-feeds/use-real-time-data/evm.mdx rename to pages/price-feeds/use-real-time-data/pull-integration/evm.mdx index b7a139de..2c75aab4 100644 --- a/pages/price-feeds/use-real-time-data/evm.mdx +++ b/pages/price-feeds/use-real-time-data/pull-integration/evm.mdx @@ -1,15 +1,17 @@ import { Callout } from "nextra/components"; -# How to Pull Real-Time Data in EVM Contracts +# How to Use Real-Time Data in EVM Contracts -This guide explains how to **Pull real-time Pyth** data in EVM contracts. For an interactive playground to explore the methods supported by the Pyth contract, see the [EVM API reference](../api-reference/evm/). +This guide explains how to Use real-time Pyth data in EVM contracts. For an interactive playground to explore the methods supported by the Pyth contract, see the [EVM API reference](../api-reference/evm/). - The following guides **show how to pull real-time** price data. If you want to - read prices from smart contracts, see [Push Feeds](../pushed-feeds). If you - want to use pushed feeds, one can just the following code from the smart - contract to read the price: ```solidity copy PythStructs.Price memory price = - pyth.getPriceNoOlderThan(priceFeedId, 60); ``` + If you want to use real-time Price data using Push Integration, jump straight to Point 5 below and use the + ```solidity copy + PythStructs.Price memory price = pyth.getPriceNoOlderThan(priceFeedId, 60); + ``` + +Developers only need to pass the price feed ID to the above method from the [Push Feeds list](../pushed-feeds). + ## Install Pyth SDK diff --git a/pages/price-feeds/use-real-time-data/fuel.mdx b/pages/price-feeds/use-real-time-data/pull-integration/fuel.mdx similarity index 100% rename from pages/price-feeds/use-real-time-data/fuel.mdx rename to pages/price-feeds/use-real-time-data/pull-integration/fuel.mdx diff --git a/pages/price-feeds/use-real-time-data/iota.mdx b/pages/price-feeds/use-real-time-data/pull-integration/iota.mdx similarity index 100% rename from pages/price-feeds/use-real-time-data/iota.mdx rename to pages/price-feeds/use-real-time-data/pull-integration/iota.mdx diff --git a/pages/price-feeds/use-real-time-data/near.mdx b/pages/price-feeds/use-real-time-data/pull-integration/near.mdx similarity index 100% rename from pages/price-feeds/use-real-time-data/near.mdx rename to pages/price-feeds/use-real-time-data/pull-integration/near.mdx diff --git a/pages/price-feeds/use-real-time-data/solana.mdx b/pages/price-feeds/use-real-time-data/pull-integration/solana.mdx similarity index 100% rename from pages/price-feeds/use-real-time-data/solana.mdx rename to pages/price-feeds/use-real-time-data/pull-integration/solana.mdx diff --git a/pages/price-feeds/use-real-time-data/stacks.mdx b/pages/price-feeds/use-real-time-data/pull-integration/stacks.mdx similarity index 100% rename from pages/price-feeds/use-real-time-data/stacks.mdx rename to pages/price-feeds/use-real-time-data/pull-integration/stacks.mdx diff --git a/pages/price-feeds/use-real-time-data/starknet.mdx b/pages/price-feeds/use-real-time-data/pull-integration/starknet.mdx similarity index 100% rename from pages/price-feeds/use-real-time-data/starknet.mdx rename to pages/price-feeds/use-real-time-data/pull-integration/starknet.mdx diff --git a/pages/price-feeds/use-real-time-data/sui.mdx b/pages/price-feeds/use-real-time-data/pull-integration/sui.mdx similarity index 100% rename from pages/price-feeds/use-real-time-data/sui.mdx rename to pages/price-feeds/use-real-time-data/pull-integration/sui.mdx diff --git a/pages/price-feeds/use-real-time-data/ton.mdx b/pages/price-feeds/use-real-time-data/pull-integration/ton.mdx similarity index 100% rename from pages/price-feeds/use-real-time-data/ton.mdx rename to pages/price-feeds/use-real-time-data/pull-integration/ton.mdx diff --git a/pages/price-feeds/use-real-time-data/push-integration.mdx b/pages/price-feeds/use-real-time-data/push-integration.mdx new file mode 100644 index 00000000..20fb01eb --- /dev/null +++ b/pages/price-feeds/use-real-time-data/push-integration.mdx @@ -0,0 +1,74 @@ +# How to Use Real-Time Data using Push Integration + +This guide will walk you through the steps to use real-time price data using Push Integration in various ecosystems. + + +Pyth is a decentralized oracle network that provides real-time price data to blockchain applications. +It follows a design where price updates are pulled from pythnet, but it can be integrated into applications using push integration as well. +[What is a Pull Oracle](/price-feeds/pull-updates) explains this difference in detail. + +Application developers can [schedule price updates](/price-feeds/schedule-price-updates) by running a [price-pusher](/price-feeds/schedule-price-updates/using-scheduler) to automate the process of updating the on-chain price. + +On the other hand, [Push feeds](../pushed-feeds) can be used to consume real-time price data without having to run the price-pusher. + +To use real-time price data using push feeds, developers can use the following code snippet based on the ecosystem: + +### EVM + +Developers building on EVM chains can use Push Feeds to consume real-time price data by reading the price from the Pyth Oracle smart contract. + +```solidity copy +PythStructs.Price memory price = pyth.getPriceNoOlderThan(priceFeedId, 60); +``` +Developers only need to pass the price feed ID to the above method from the [Push Feeds list](../pushed-feeds). + +Sample code snippet: + +```solidity {30-31} copy +pragma solidity ^0.8.0; + +import "@pythnetwork/pyth-sdk-solidity/IPyth.sol"; +import "@pythnetwork/pyth-sdk-solidity/PythStructs.sol"; + +contract SomeContract { + IPyth pyth; + + /** + * @param pythContract The address of the Pyth contract + */ + constructor(address pythContract) { + // The IPyth interface from pyth-sdk-solidity provides the methods to interact with the Pyth contract. + // Instantiate it with the Pyth contract address from https://docs.pyth.network/price-feeds/contract-addresses/evm + pyth = IPyth(pythContract); + } + + /** + * This method is an example of how to interact with the Pyth contract using Push Integration. + */ + function exampleMethod() public { + + // Read the current price from a price feed if it is less than 60 seconds old. + // Each price feed (e.g., ETH/USD) is identified by a price feed ID. + // The complete list of feed IDs is available at https://docs.pyth.network/price-feeds/price-feeds + bytes32 priceFeedId = 0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace; // ETH/USD + PythStructs.Price memory price = pyth.getPriceNoOlderThan(priceFeedId, 60); + } +} + +``` + +### SVM + +Developers building on SVM chains can use Price Feed Accounts to consume real-time price data. +The [SVM guide](../use-real-time-data/solana#price-feed-accounts) explains in detail how to integrate Pyth using Price Feed Accounts. + +### Aptos + +Developers building on Aptos can use Push Feeds to consume real-time price data by reading the price from the Pyth Oracle smart contract on Aptos. + +```rust copy +let btc_price_identifier = x"e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43"; +let btc_usd_price_id = price_identifier::from_byte_vec(btc_price_identifier); +pyth::get_price(btc_usd_price_id) +``` + From 24f9bcce43d89489285057dc741b8a2de53ce6e2 Mon Sep 17 00:00:00 2001 From: Aditya Arora Date: Thu, 2 Oct 2025 14:00:08 +0530 Subject: [PATCH 05/10] chore(price-feeds) improvements --- pages/price-feeds/use-real-time-data.mdx | 23 +++++++++++------ .../price-feeds/use-real-time-data/_meta.json | 3 +-- .../use-real-time-data/off-chain.mdx | 13 ---------- .../pull-integration/_meta.json | 25 +++++++++---------- .../pull-integration/evm.mdx | 5 ++-- .../pull-integration/starknet.mdx | 10 ++------ .../use-real-time-data/push-integration.mdx | 10 +++----- 7 files changed, 37 insertions(+), 52 deletions(-) delete mode 100644 pages/price-feeds/use-real-time-data/off-chain.mdx diff --git a/pages/price-feeds/use-real-time-data.mdx b/pages/price-feeds/use-real-time-data.mdx index fd8d9820..f046ec58 100644 --- a/pages/price-feeds/use-real-time-data.mdx +++ b/pages/price-feeds/use-real-time-data.mdx @@ -10,15 +10,20 @@ Pyth price feeds are available on 100+ blockchain ecosystems. Check out the complete list of chains and implementation contract addresses at [Contract Addresses](contract-addresses). If your blockchain is not supported, please [ask in the dev-forum](https://dev-forum.pyth.network/latest). -Then, consult the relevant ecosystem guide to get started using Pyth **pull** real-time price data: -- [EVM](use-real-time-data/evm) -- [Solana](use-real-time-data/solana) -- [Aptos](use-real-time-data/aptos.md) -- [CosmWasm](use-real-time-data/cosmwasm.md) -- [Sui](use-real-time-data/sui.md) -- [IOTA](use-real-time-data/iota.md) -- [Near](use-real-time-data/sui.md) +## Pull Integration + +Consult the relevant ecosystem guide to get started using Pyth **Pull Integration:** + +- [EVM](use-real-time-data/pull-integration/evm) +- [Solana](use-real-time-data/pull-integration/solana) +- [Aptos](use-real-time-data/pull-integration/aptos.md) +- [CosmWasm](use-real-time-data/pull-integration/cosmwasm.md) +- [Sui](use-real-time-data/pull-integration/sui.md) +- [IOTA](use-real-time-data/pull-integration/iota.md) +- [Near](use-real-time-data/pull-integration/near.md) + +## Push Integration To consume real-time price data using **push** integration, check out the following guides: @@ -26,6 +31,8 @@ To consume real-time price data using **push** integration, check out the follow This guide will walk you through the steps to use real-time price data using Push Integration in every ecosystem. +## Off-Chain Applications + Pyth price feeds can also be used in off-chain applications. For example, an application may need to show real-time asset prices on a website. Developers building such applications can consult the following guide: diff --git a/pages/price-feeds/use-real-time-data/_meta.json b/pages/price-feeds/use-real-time-data/_meta.json index 2bb70c3e..e558db33 100644 --- a/pages/price-feeds/use-real-time-data/_meta.json +++ b/pages/price-feeds/use-real-time-data/_meta.json @@ -1,5 +1,4 @@ { "pull-integration": "using Pull Integration", - "push-integration": "using Push Integration", - "off-chain": "in Off-Chain Applications" + "push-integration": "using Push Integration" } diff --git a/pages/price-feeds/use-real-time-data/off-chain.mdx b/pages/price-feeds/use-real-time-data/off-chain.mdx deleted file mode 100644 index e0cdc788..00000000 --- a/pages/price-feeds/use-real-time-data/off-chain.mdx +++ /dev/null @@ -1,13 +0,0 @@ -import { Callout } from "nextra/components"; - -# How to Use Real-Time Data in Off-Chain Applications - -This guide explains how to fetch the latest prices and subscribe to real-time price updates in off-chain applications. - - - [`price-service-sdk`](https://github.com/pyth-network/pyth-crosschain/tree/main/price_service/client/js) was is deprecated and replaced by the [`hermes-client`](https://github.com/pyth-network/pyth-crosschain/tree/main/apps/hermes/client/js). - It can be used for fetching prices for off-chain applications as well as fetching price updates. - -Please refer to the [fetch-price-updates](../fetch-price-updates) guide for the details. - - diff --git a/pages/price-feeds/use-real-time-data/pull-integration/_meta.json b/pages/price-feeds/use-real-time-data/pull-integration/_meta.json index 2508b645..b060d1f9 100644 --- a/pages/price-feeds/use-real-time-data/pull-integration/_meta.json +++ b/pages/price-feeds/use-real-time-data/pull-integration/_meta.json @@ -1,14 +1,13 @@ { -"evm": "in EVM Contracts", -"solana": "in Solana and SVM Programs", -"starknet": "in Starknet Contracts", -"fuel": "in Fuel Contracts", -"stacks": "in Stacks Contracts", -"aptos": "in Aptos Contracts", -"sui": "in Sui Contracts", -"iota": "in IOTA Contracts", -"ton": "in TON Contracts", -"cosmwasm": "in CosmWasm Contracts", -"near": "in Near Contracts", -"off-chain": "in Off-Chain Applications" -} \ No newline at end of file + "evm": "in EVM Contracts", + "solana": "in Solana and SVM Programs", + "starknet": "in Starknet Contracts", + "fuel": "in Fuel Contracts", + "stacks": "in Stacks Contracts", + "aptos": "in Aptos Contracts", + "sui": "in Sui Contracts", + "iota": "in IOTA Contracts", + "ton": "in TON Contracts", + "cosmwasm": "in CosmWasm Contracts", + "near": "in Near Contracts" +} diff --git a/pages/price-feeds/use-real-time-data/pull-integration/evm.mdx b/pages/price-feeds/use-real-time-data/pull-integration/evm.mdx index 2c75aab4..a7ba35c8 100644 --- a/pages/price-feeds/use-real-time-data/pull-integration/evm.mdx +++ b/pages/price-feeds/use-real-time-data/pull-integration/evm.mdx @@ -5,13 +5,14 @@ import { Callout } from "nextra/components"; This guide explains how to Use real-time Pyth data in EVM contracts. For an interactive playground to explore the methods supported by the Pyth contract, see the [EVM API reference](../api-reference/evm/). - If you want to use real-time Price data using Push Integration, jump straight to Point 5 below and use the + If you want to use real-time Price data using Push Integration instead, you can use the following code snippet: ```solidity copy PythStructs.Price memory price = pyth.getPriceNoOlderThan(priceFeedId, 60); ``` - Developers only need to pass the price feed ID to the above method from the [Push Feeds list](../pushed-feeds). +For complete example, refer to the [Push Integration guide](../push-integration). + ## Install Pyth SDK diff --git a/pages/price-feeds/use-real-time-data/pull-integration/starknet.mdx b/pages/price-feeds/use-real-time-data/pull-integration/starknet.mdx index dfb901f8..8d2fe277 100644 --- a/pages/price-feeds/use-real-time-data/pull-integration/starknet.mdx +++ b/pages/price-feeds/use-real-time-data/pull-integration/starknet.mdx @@ -21,15 +21,9 @@ Pyth also provides a javascript SDK to interact with the Pyth contract on Starkn - ```sh copy - npm install --save @pythnetwork/pyth-starknet-js - ``` - - - ```sh copy - yarn add @pythnetwork/pyth-starknet-js - ``` + ```sh copy npm install --save @pythnetwork/pyth-starknet-js ``` + ```sh copy yarn add @pythnetwork/pyth-starknet-js ``` ## Write Contract Code diff --git a/pages/price-feeds/use-real-time-data/push-integration.mdx b/pages/price-feeds/use-real-time-data/push-integration.mdx index 20fb01eb..213c8216 100644 --- a/pages/price-feeds/use-real-time-data/push-integration.mdx +++ b/pages/price-feeds/use-real-time-data/push-integration.mdx @@ -2,8 +2,7 @@ This guide will walk you through the steps to use real-time price data using Push Integration in various ecosystems. - -Pyth is a decentralized oracle network that provides real-time price data to blockchain applications. +Pyth is a decentralized oracle network that provides real-time price data to blockchain applications. It follows a design where price updates are pulled from pythnet, but it can be integrated into applications using push integration as well. [What is a Pull Oracle](/price-feeds/pull-updates) explains this difference in detail. @@ -20,6 +19,7 @@ Developers building on EVM chains can use Push Feeds to consume real-time price ```solidity copy PythStructs.Price memory price = pyth.getPriceNoOlderThan(priceFeedId, 60); ``` + Developers only need to pass the price feed ID to the above method from the [Push Feeds list](../pushed-feeds). Sample code snippet: @@ -43,10 +43,9 @@ contract SomeContract { } /** - * This method is an example of how to interact with the Pyth contract using Push Integration. - */ + * This method is an example of how to interact with the Pyth contract using Push Integration. + */ function exampleMethod() public { - // Read the current price from a price feed if it is less than 60 seconds old. // Each price feed (e.g., ETH/USD) is identified by a price feed ID. // The complete list of feed IDs is available at https://docs.pyth.network/price-feeds/price-feeds @@ -71,4 +70,3 @@ let btc_price_identifier = x"e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658af let btc_usd_price_id = price_identifier::from_byte_vec(btc_price_identifier); pyth::get_price(btc_usd_price_id) ``` - From 00e1d7f01cbd21031ec8eac846d1fd8db76567dd Mon Sep 17 00:00:00 2001 From: Aditya Arora Date: Thu, 2 Oct 2025 14:27:57 +0530 Subject: [PATCH 06/10] redirect --- next.config.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/next.config.js b/next.config.js index e0eecca7..38901b70 100644 --- a/next.config.js +++ b/next.config.js @@ -123,6 +123,11 @@ const permanentRedirectArray = [ ["/benchmarks/rate-limits", "/price-feeds/rate-limits/"], ["/price-feeds/sponsored-feeds", "/price-feeds/pushed-feeds"], + + [ + "/price-feeds/use-real-time-data/:path*", + "/price-feeds/use-real-time-data/pull-integration/:path*", + ], ]; /** @type {import('next').NextConfig} */ From b1f284b31bc09b22cf96def8bd97f69e31d633b0 Mon Sep 17 00:00:00 2001 From: Aditya Arora Date: Fri, 3 Oct 2025 07:56:46 +0530 Subject: [PATCH 07/10] chore(price-feeds) Requested changes --- next.config.js | 6 ++-- pages/price-feeds/_meta.json | 2 +- pages/price-feeds/index.mdx | 4 +-- .../{pushed-feeds.mdx => push-feeds.mdx} | 31 +++++++++---------- .../{pushed-feeds => push-feeds}/_meta.json | 0 .../{pushed-feeds => push-feeds}/aptos.mdx | 2 +- .../data/aptos/aptos_mainnet.json | 0 .../data/evm/arbitrum_mainnet.json | 0 .../data/evm/avalanche_mainnet.json | 0 .../data/evm/base_mainnet.json | 0 .../data/evm/berachain_mainnet.json | 0 .../data/evm/ethereum_mainnet.json | 0 .../data/evm/hyperevm_mainnet.json | 0 .../data/evm/linea_mainnet.json | 0 .../data/evm/soneium_mainnet.json | 0 .../data/evm/sonic_mainnet.json | 0 .../data/movement/movement_mainnet.json | 0 .../data/sui/sui_mainnet.json | 0 .../data/svm/fogo_testnet.json | 0 .../data/svm/solana_mainnet.json | 0 .../{pushed-feeds => push-feeds}/evm.mdx | 20 ++++++------ .../{pushed-feeds => push-feeds}/fogo.mdx | 2 +- .../{pushed-feeds => push-feeds}/movement.mdx | 2 +- .../{pushed-feeds => push-feeds}/solana.mdx | 2 +- .../{pushed-feeds => push-feeds}/sui.mdx | 2 +- pages/price-feeds/use-real-time-data.mdx | 21 ++++++++++--- .../pull-integration/evm.mdx | 6 ++-- .../pull-integration/ton.mdx | 8 ++--- .../use-real-time-data/push-integration.mdx | 15 +++++---- 29 files changed, 69 insertions(+), 54 deletions(-) rename pages/price-feeds/{pushed-feeds.mdx => push-feeds.mdx} (62%) rename pages/price-feeds/{pushed-feeds => push-feeds}/_meta.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/aptos.mdx (85%) rename pages/price-feeds/{pushed-feeds => push-feeds}/data/aptos/aptos_mainnet.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/data/evm/arbitrum_mainnet.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/data/evm/avalanche_mainnet.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/data/evm/base_mainnet.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/data/evm/berachain_mainnet.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/data/evm/ethereum_mainnet.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/data/evm/hyperevm_mainnet.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/data/evm/linea_mainnet.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/data/evm/soneium_mainnet.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/data/evm/sonic_mainnet.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/data/movement/movement_mainnet.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/data/sui/sui_mainnet.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/data/svm/fogo_testnet.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/data/svm/solana_mainnet.json (100%) rename pages/price-feeds/{pushed-feeds => push-feeds}/evm.mdx (70%) rename pages/price-feeds/{pushed-feeds => push-feeds}/fogo.mdx (86%) rename pages/price-feeds/{pushed-feeds => push-feeds}/movement.mdx (84%) rename pages/price-feeds/{pushed-feeds => push-feeds}/solana.mdx (88%) rename pages/price-feeds/{pushed-feeds => push-feeds}/sui.mdx (86%) diff --git a/next.config.js b/next.config.js index 38901b70..18876559 100644 --- a/next.config.js +++ b/next.config.js @@ -122,11 +122,11 @@ const permanentRedirectArray = [ ["/benchmarks/api-instances", "/price-feeds/api-reference/"], ["/benchmarks/rate-limits", "/price-feeds/rate-limits/"], - ["/price-feeds/sponsored-feeds", "/price-feeds/pushed-feeds"], + ["/price-feeds/sponsored-feeds", "/price-feeds/push-feeds"], [ - "/price-feeds/use-real-time-data/:path*", - "/price-feeds/use-real-time-data/pull-integration/:path*", + "/price-feeds/use-real-time-data/:path((?!pull-integration(?:/|$)).*)", + "/price-feeds/use-real-time-data/pull-integration/:path", ], ]; diff --git a/pages/price-feeds/_meta.json b/pages/price-feeds/_meta.json index a6ed6318..71e6bd4a 100644 --- a/pages/price-feeds/_meta.json +++ b/pages/price-feeds/_meta.json @@ -42,7 +42,7 @@ "api-reference": "API Reference", "price-feeds": "Price Feeds", "current-fees": "Current Fees", - "pushed-feeds": "Push Feeds", + "push-feeds": "Push Feeds", "market-hours": "Market Hours", "best-practices": "Best Practices", "error-codes": "Error Codes", diff --git a/pages/price-feeds/index.mdx b/pages/price-feeds/index.mdx index 577ad69f..2d3e494b 100644 --- a/pages/price-feeds/index.mdx +++ b/pages/price-feeds/index.mdx @@ -124,7 +124,7 @@ Data is sourced from 120+ first-party providers including major exchanges and ma

Get Started with Push Integration @@ -188,7 +188,7 @@ Data is sourced from 120+ first-party providers including major exchanges and ma } title="Push Feeds" - href="./price-feeds/pushed-feeds" + href="./price-feeds/push-feeds" /> } diff --git a/pages/price-feeds/pushed-feeds.mdx b/pages/price-feeds/push-feeds.mdx similarity index 62% rename from pages/price-feeds/pushed-feeds.mdx rename to pages/price-feeds/push-feeds.mdx index 906aab60..94984f7c 100644 --- a/pages/price-feeds/pushed-feeds.mdx +++ b/pages/price-feeds/push-feeds.mdx @@ -8,30 +8,29 @@ Applications can depend on receiving updates for these feeds, without having to The feeds can vary by network. Please see the relevant section below for the network of interest. -- [EVM](pushed-feeds/evm) -- [Solana](pushed-feeds/solana) -- [Fogo](pushed-feeds/fogo) -- [Aptos](pushed-feeds/aptos) -- [Sui](pushed-feeds/sui) -- [Movement](pushed-feeds/movement) - - - Push feeds are subject to change with prior notice. Please refer to the [dev - forum](https://dev-forum.pyth.network/c/announcements/6) for the latest - updates. +- [EVM](push-feeds/evm) +- [Solana](push-feeds/solana) +- [Fogo](push-feeds/fogo) +- [Aptos](push-feeds/aptos) +- [Movement](push-feeds/movement) +- [Sui](push-feeds/sui) + + + Deviation thresholds can be customized to fit builders' needs, and additional + feeds can be requested for this list. If you need custom thresholds or would + like to see additional feeds, please fill in this [form](https://tally.so/r/nGz2jj) + to signal your interest. - Deviation thresholds can be customized to fit builders' needs. For thresholds - lower than those offered by our Push feeds, please reach out. + Push feeds are subject to change with prior notice. Please refer to the [dev- + forum](https://dev-forum.pyth.network/c/announcements/6) for the latest changes. DISCLAIMER: While the Pyth Data Association strives to deliver timely updates, - these Push feeds may occasionally experience delays in updates caused by chain + these push feeds may occasionally experience delays in updates caused by chain halts, gas estimations and other issues. Applications are advised to run their own scheduler. Find out how you can run your own scheduler [here](/price-feeds/schedule-price-updates/using-scheduler). - -If you would like to see additional feeds on this list, please fill in this [form](https://tally.so/r/nGz2jj) to signal your interest. diff --git a/pages/price-feeds/pushed-feeds/_meta.json b/pages/price-feeds/push-feeds/_meta.json similarity index 100% rename from pages/price-feeds/pushed-feeds/_meta.json rename to pages/price-feeds/push-feeds/_meta.json diff --git a/pages/price-feeds/pushed-feeds/aptos.mdx b/pages/price-feeds/push-feeds/aptos.mdx similarity index 85% rename from pages/price-feeds/pushed-feeds/aptos.mdx rename to pages/price-feeds/push-feeds/aptos.mdx index 103d8072..ddae8ac5 100644 --- a/pages/price-feeds/pushed-feeds/aptos.mdx +++ b/pages/price-feeds/push-feeds/aptos.mdx @@ -1,7 +1,7 @@ import { Callout } from "nextra/components"; import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; -import aptosMainnet from "../pushed-feeds/data/aptos/aptos_mainnet.json"; +import aptosMainnet from "../push-feeds/data/aptos/aptos_mainnet.json"; # Push Feeds on Aptos diff --git a/pages/price-feeds/pushed-feeds/data/aptos/aptos_mainnet.json b/pages/price-feeds/push-feeds/data/aptos/aptos_mainnet.json similarity index 100% rename from pages/price-feeds/pushed-feeds/data/aptos/aptos_mainnet.json rename to pages/price-feeds/push-feeds/data/aptos/aptos_mainnet.json diff --git a/pages/price-feeds/pushed-feeds/data/evm/arbitrum_mainnet.json b/pages/price-feeds/push-feeds/data/evm/arbitrum_mainnet.json similarity index 100% rename from pages/price-feeds/pushed-feeds/data/evm/arbitrum_mainnet.json rename to pages/price-feeds/push-feeds/data/evm/arbitrum_mainnet.json diff --git a/pages/price-feeds/pushed-feeds/data/evm/avalanche_mainnet.json b/pages/price-feeds/push-feeds/data/evm/avalanche_mainnet.json similarity index 100% rename from pages/price-feeds/pushed-feeds/data/evm/avalanche_mainnet.json rename to pages/price-feeds/push-feeds/data/evm/avalanche_mainnet.json diff --git a/pages/price-feeds/pushed-feeds/data/evm/base_mainnet.json b/pages/price-feeds/push-feeds/data/evm/base_mainnet.json similarity index 100% rename from pages/price-feeds/pushed-feeds/data/evm/base_mainnet.json rename to pages/price-feeds/push-feeds/data/evm/base_mainnet.json diff --git a/pages/price-feeds/pushed-feeds/data/evm/berachain_mainnet.json b/pages/price-feeds/push-feeds/data/evm/berachain_mainnet.json similarity index 100% rename from pages/price-feeds/pushed-feeds/data/evm/berachain_mainnet.json rename to pages/price-feeds/push-feeds/data/evm/berachain_mainnet.json diff --git a/pages/price-feeds/pushed-feeds/data/evm/ethereum_mainnet.json b/pages/price-feeds/push-feeds/data/evm/ethereum_mainnet.json similarity index 100% rename from pages/price-feeds/pushed-feeds/data/evm/ethereum_mainnet.json rename to pages/price-feeds/push-feeds/data/evm/ethereum_mainnet.json diff --git a/pages/price-feeds/pushed-feeds/data/evm/hyperevm_mainnet.json b/pages/price-feeds/push-feeds/data/evm/hyperevm_mainnet.json similarity index 100% rename from pages/price-feeds/pushed-feeds/data/evm/hyperevm_mainnet.json rename to pages/price-feeds/push-feeds/data/evm/hyperevm_mainnet.json diff --git a/pages/price-feeds/pushed-feeds/data/evm/linea_mainnet.json b/pages/price-feeds/push-feeds/data/evm/linea_mainnet.json similarity index 100% rename from pages/price-feeds/pushed-feeds/data/evm/linea_mainnet.json rename to pages/price-feeds/push-feeds/data/evm/linea_mainnet.json diff --git a/pages/price-feeds/pushed-feeds/data/evm/soneium_mainnet.json b/pages/price-feeds/push-feeds/data/evm/soneium_mainnet.json similarity index 100% rename from pages/price-feeds/pushed-feeds/data/evm/soneium_mainnet.json rename to pages/price-feeds/push-feeds/data/evm/soneium_mainnet.json diff --git a/pages/price-feeds/pushed-feeds/data/evm/sonic_mainnet.json b/pages/price-feeds/push-feeds/data/evm/sonic_mainnet.json similarity index 100% rename from pages/price-feeds/pushed-feeds/data/evm/sonic_mainnet.json rename to pages/price-feeds/push-feeds/data/evm/sonic_mainnet.json diff --git a/pages/price-feeds/pushed-feeds/data/movement/movement_mainnet.json b/pages/price-feeds/push-feeds/data/movement/movement_mainnet.json similarity index 100% rename from pages/price-feeds/pushed-feeds/data/movement/movement_mainnet.json rename to pages/price-feeds/push-feeds/data/movement/movement_mainnet.json diff --git a/pages/price-feeds/pushed-feeds/data/sui/sui_mainnet.json b/pages/price-feeds/push-feeds/data/sui/sui_mainnet.json similarity index 100% rename from pages/price-feeds/pushed-feeds/data/sui/sui_mainnet.json rename to pages/price-feeds/push-feeds/data/sui/sui_mainnet.json diff --git a/pages/price-feeds/pushed-feeds/data/svm/fogo_testnet.json b/pages/price-feeds/push-feeds/data/svm/fogo_testnet.json similarity index 100% rename from pages/price-feeds/pushed-feeds/data/svm/fogo_testnet.json rename to pages/price-feeds/push-feeds/data/svm/fogo_testnet.json diff --git a/pages/price-feeds/pushed-feeds/data/svm/solana_mainnet.json b/pages/price-feeds/push-feeds/data/svm/solana_mainnet.json similarity index 100% rename from pages/price-feeds/pushed-feeds/data/svm/solana_mainnet.json rename to pages/price-feeds/push-feeds/data/svm/solana_mainnet.json diff --git a/pages/price-feeds/pushed-feeds/evm.mdx b/pages/price-feeds/push-feeds/evm.mdx similarity index 70% rename from pages/price-feeds/pushed-feeds/evm.mdx rename to pages/price-feeds/push-feeds/evm.mdx index 9bb5357c..c2508ddc 100644 --- a/pages/price-feeds/pushed-feeds/evm.mdx +++ b/pages/price-feeds/push-feeds/evm.mdx @@ -1,19 +1,19 @@ import { Callout } from "nextra/components"; import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; -import arbitrumMainnet from "../pushed-feeds/data/evm/arbitrum_mainnet.json"; -import avalancheMainnet from "../pushed-feeds/data/evm/avalanche_mainnet.json"; -import baseMainnet from "../pushed-feeds/data/evm/base_mainnet.json"; -import berachainMainnet from "../pushed-feeds/data/evm/berachain_mainnet.json"; -import ethereumMainnet from "../pushed-feeds/data/evm/ethereum_mainnet.json"; -import hyperevmMainnet from "../pushed-feeds/data/evm/hyperevm_mainnet.json"; -import soneiumMainnet from "../pushed-feeds/data/evm/soneium_mainnet.json"; -import sonicMainnet from "../pushed-feeds/data/evm/sonic_mainnet.json"; -import lineaMainnet from "../pushed-feeds/data/evm/linea_mainnet.json"; +import arbitrumMainnet from "../push-feeds/data/evm/arbitrum_mainnet.json"; +import avalancheMainnet from "../push-feeds/data/evm/avalanche_mainnet.json"; +import baseMainnet from "../push-feeds/data/evm/base_mainnet.json"; +import berachainMainnet from "../push-feeds/data/evm/berachain_mainnet.json"; +import ethereumMainnet from "../push-feeds/data/evm/ethereum_mainnet.json"; +import hyperevmMainnet from "../push-feeds/data/evm/hyperevm_mainnet.json"; +import soneiumMainnet from "../push-feeds/data/evm/soneium_mainnet.json"; +import sonicMainnet from "../push-feeds/data/evm/sonic_mainnet.json"; +import lineaMainnet from "../push-feeds/data/evm/linea_mainnet.json"; # Push Feeds on EVM -The following EVM chains have Push feeds: +The following EVM chains have push feeds: - [Arbitrum Mainnet](#arbitrum-mainnet) - [Avalanche Mainnet](#avalanche-mainnet) diff --git a/pages/price-feeds/pushed-feeds/fogo.mdx b/pages/price-feeds/push-feeds/fogo.mdx similarity index 86% rename from pages/price-feeds/pushed-feeds/fogo.mdx rename to pages/price-feeds/push-feeds/fogo.mdx index 3fd3c19f..73a38d4a 100644 --- a/pages/price-feeds/pushed-feeds/fogo.mdx +++ b/pages/price-feeds/push-feeds/fogo.mdx @@ -1,7 +1,7 @@ import { Callout } from "nextra/components"; import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; -import fogoTestnet from "../pushed-feeds/data/svm/fogo_testnet.json"; +import fogoTestnet from "../push-feeds/data/svm/fogo_testnet.json"; # Push Feeds on Fogo diff --git a/pages/price-feeds/pushed-feeds/movement.mdx b/pages/price-feeds/push-feeds/movement.mdx similarity index 84% rename from pages/price-feeds/pushed-feeds/movement.mdx rename to pages/price-feeds/push-feeds/movement.mdx index 86db3793..5d135de7 100644 --- a/pages/price-feeds/pushed-feeds/movement.mdx +++ b/pages/price-feeds/push-feeds/movement.mdx @@ -1,7 +1,7 @@ import { Callout } from "nextra/components"; import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; -import movementMainnet from "../pushed-feeds/data/movement/movement_mainnet.json"; +import movementMainnet from "../push-feeds/data/movement/movement_mainnet.json"; # Push Feeds on Movement diff --git a/pages/price-feeds/pushed-feeds/solana.mdx b/pages/price-feeds/push-feeds/solana.mdx similarity index 88% rename from pages/price-feeds/pushed-feeds/solana.mdx rename to pages/price-feeds/push-feeds/solana.mdx index 1d7248dc..145e492e 100644 --- a/pages/price-feeds/pushed-feeds/solana.mdx +++ b/pages/price-feeds/push-feeds/solana.mdx @@ -1,7 +1,7 @@ import { Callout } from "nextra/components"; import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; -import solanaMainnet from "../pushed-feeds/data/svm/solana_mainnet.json"; +import solanaMainnet from "../push-feeds/data/svm/solana_mainnet.json"; # Push Feeds on Solana diff --git a/pages/price-feeds/pushed-feeds/sui.mdx b/pages/price-feeds/push-feeds/sui.mdx similarity index 86% rename from pages/price-feeds/pushed-feeds/sui.mdx rename to pages/price-feeds/push-feeds/sui.mdx index 982162b4..a09eb1fd 100644 --- a/pages/price-feeds/pushed-feeds/sui.mdx +++ b/pages/price-feeds/push-feeds/sui.mdx @@ -1,7 +1,7 @@ import { Callout } from "nextra/components"; import { SponsoredFeedsTable } from "../../../components/SponsoredFeedsTableWithData"; -import suiMainnet from "../pushed-feeds/data/sui/sui_mainnet.json"; +import suiMainnet from "../push-feeds/data/sui/sui_mainnet.json"; # Push Feeds on Sui diff --git a/pages/price-feeds/use-real-time-data.mdx b/pages/price-feeds/use-real-time-data.mdx index f046ec58..86c24607 100644 --- a/pages/price-feeds/use-real-time-data.mdx +++ b/pages/price-feeds/use-real-time-data.mdx @@ -3,20 +3,33 @@ import { Callout } from "nextra/components"; # How to Use Real-Time Price Data The following guides demonstrate how to consume Pyth real-time prices on various blockchains. -These guides are intended for developers building on-chain applications that need latest price data, i.e., the price data must +These guides are intended for developers building on-chain applications that need the latest price data, i.e., the price data must be on the blockchain. Pyth price feeds are available on 100+ blockchain ecosystems. Check out the complete list of chains and implementation contract addresses at [Contract Addresses](contract-addresses). - If your blockchain is not supported, please [ask in the dev-forum](https://dev-forum.pyth.network/latest). +## Choosing Your Integration Method + +**Pull integration** is the default choice for most applications. You manually pull the latest price data in your smart contract when needed. + +**Push integration** is for applications that don't want to manually update prices in every transaction and prefer to rely on [Price Pushers](/price-feeds/schedule-price-updates) or [push-feeds](/price-feeds/push-feeds) that automatically maintain up-to-date prices on-chain. + + + Pyth is fundamentally a pull oracle, and all feeds are available through both + integration methods. If you don't see specific feeds in push-feeds, you can + run a price pusher yourself or ask the team by filling out [this + form](https://tally.so/r/nGz2jj). + + ## Pull Integration -Consult the relevant ecosystem guide to get started using Pyth **Pull Integration:** +Consult the relevant ecosystem guide to get started using **pull integration**: - [EVM](use-real-time-data/pull-integration/evm) - [Solana](use-real-time-data/pull-integration/solana) +- [Starknet](use-real-time-data/pull-integration/starknet) - [Aptos](use-real-time-data/pull-integration/aptos.md) - [CosmWasm](use-real-time-data/pull-integration/cosmwasm.md) - [Sui](use-real-time-data/pull-integration/sui.md) @@ -29,7 +42,7 @@ To consume real-time price data using **push** integration, check out the follow - [Using Push Integration](use-real-time-data/push-integration) -This guide will walk you through the steps to use real-time price data using Push Integration in every ecosystem. +This guide will walk you through the steps to use real-time price data using push integration in every ecosystem. ## Off-Chain Applications diff --git a/pages/price-feeds/use-real-time-data/pull-integration/evm.mdx b/pages/price-feeds/use-real-time-data/pull-integration/evm.mdx index a7ba35c8..5eeb30b6 100644 --- a/pages/price-feeds/use-real-time-data/pull-integration/evm.mdx +++ b/pages/price-feeds/use-real-time-data/pull-integration/evm.mdx @@ -2,14 +2,14 @@ import { Callout } from "nextra/components"; # How to Use Real-Time Data in EVM Contracts -This guide explains how to Use real-time Pyth data in EVM contracts. For an interactive playground to explore the methods supported by the Pyth contract, see the [EVM API reference](../api-reference/evm/). +This guide explains how to use real-time Pyth data in EVM contracts. For an interactive playground to explore the methods supported by the Pyth contract, see the [EVM API reference](../api-reference/evm/). - If you want to use real-time Price data using Push Integration instead, you can use the following code snippet: + If you want to use real-time price data using push integration instead, you can use the following code snippet: ```solidity copy PythStructs.Price memory price = pyth.getPriceNoOlderThan(priceFeedId, 60); ``` -Developers only need to pass the price feed ID to the above method from the [Push Feeds list](../pushed-feeds). +Developers only need to pass the price feed ID to the above method from the [Push Feeds list](../push-feeds). For complete example, refer to the [Push Integration guide](../push-integration). diff --git a/pages/price-feeds/use-real-time-data/pull-integration/ton.mdx b/pages/price-feeds/use-real-time-data/pull-integration/ton.mdx index 53dd0473..f80319ef 100644 --- a/pages/price-feeds/use-real-time-data/pull-integration/ton.mdx +++ b/pages/price-feeds/use-real-time-data/pull-integration/ton.mdx @@ -14,15 +14,15 @@ Install the Pyth TON SDK and other necessary dependencies using npm: - ```sh copy + ```sh copy npm install @pythnetwork/pyth-ton-js @pythnetwork/hermes-client - @ton/core @ton/ton @ton/crypto + @ton/core @ton/ton @ton/crypto ``` - ```sh copy + ```sh copy yarn add @pythnetwork/pyth-ton-js @pythnetwork/hermes-client - @ton/core @ton/ton @ton/crypto + @ton/core @ton/ton @ton/crypto ``` diff --git a/pages/price-feeds/use-real-time-data/push-integration.mdx b/pages/price-feeds/use-real-time-data/push-integration.mdx index 213c8216..fb5b642c 100644 --- a/pages/price-feeds/use-real-time-data/push-integration.mdx +++ b/pages/price-feeds/use-real-time-data/push-integration.mdx @@ -1,15 +1,18 @@ # How to Use Real-Time Data using Push Integration -This guide will walk you through the steps to use real-time price data using Push Integration in various ecosystems. +This guide will walk you through the steps to use real-time price data using push integration in various ecosystems. + +To use the push integration, developers first need to ensure the feeds used by their application are being updated on-chain. +Refer to the [Push Feeds page](../push-feeds) to see which feeds are being updated on each blockchain. +If your feeds are not listed there, you have several options: + +- **Run Price Pusher**: Set up and run a [price-pusher](/price-feeds/schedule-price-updates/using-scheduler) to automate the process of updating the on-chain price +- **Request Feeds**: Fill out [this form](https://tally.so/r/nGz2jj) to request the feeds you need. Pyth is a decentralized oracle network that provides real-time price data to blockchain applications. It follows a design where price updates are pulled from pythnet, but it can be integrated into applications using push integration as well. [What is a Pull Oracle](/price-feeds/pull-updates) explains this difference in detail. -Application developers can [schedule price updates](/price-feeds/schedule-price-updates) by running a [price-pusher](/price-feeds/schedule-price-updates/using-scheduler) to automate the process of updating the on-chain price. - -On the other hand, [Push feeds](../pushed-feeds) can be used to consume real-time price data without having to run the price-pusher. - To use real-time price data using push feeds, developers can use the following code snippet based on the ecosystem: ### EVM @@ -20,7 +23,7 @@ Developers building on EVM chains can use Push Feeds to consume real-time price PythStructs.Price memory price = pyth.getPriceNoOlderThan(priceFeedId, 60); ``` -Developers only need to pass the price feed ID to the above method from the [Push Feeds list](../pushed-feeds). +Developers only need to pass the price feed ID to the above method from the [Push Feeds list](../push-feeds). Sample code snippet: From c60a41d43448220dbc8e4067767f2329fd5e962f Mon Sep 17 00:00:00 2001 From: Aditya Arora Date: Fri, 3 Oct 2025 08:20:17 +0530 Subject: [PATCH 08/10] chore(pricefeeds) Rename Edits --- pages/price-feeds/push-feeds.mdx | 11 ++++++----- pages/price-feeds/use-real-time-data.mdx | 9 +++++---- .../use-real-time-data/push-integration.mdx | 6 +++--- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/pages/price-feeds/push-feeds.mdx b/pages/price-feeds/push-feeds.mdx index 94984f7c..59f74d35 100644 --- a/pages/price-feeds/push-feeds.mdx +++ b/pages/price-feeds/push-feeds.mdx @@ -16,15 +16,16 @@ The feeds can vary by network. Please see the relevant section below for the net - [Sui](push-feeds/sui) - Deviation thresholds can be customized to fit builders' needs, and additional - feeds can be requested for this list. If you need custom thresholds or would - like to see additional feeds, please fill in this [form](https://tally.so/r/nGz2jj) - to signal your interest. + Deviation thresholds can be customized to fit builders' needs, and additional + feeds can be requested for this list. If you need custom thresholds or would + like to see additional feeds, please fill in this + [form](https://tally.so/r/nGz2jj) to signal your interest. Push feeds are subject to change with prior notice. Please refer to the [dev- - forum](https://dev-forum.pyth.network/c/announcements/6) for the latest changes. + forum](https://dev-forum.pyth.network/c/announcements/6) for the latest + changes. diff --git a/pages/price-feeds/use-real-time-data.mdx b/pages/price-feeds/use-real-time-data.mdx index 86c24607..5fa12c2e 100644 --- a/pages/price-feeds/use-real-time-data.mdx +++ b/pages/price-feeds/use-real-time-data.mdx @@ -14,13 +14,14 @@ If your blockchain is not supported, please [ask in the dev-forum](https://dev-f **Pull integration** is the default choice for most applications. You manually pull the latest price data in your smart contract when needed. -**Push integration** is for applications that don't want to manually update prices in every transaction and prefer to rely on [Price Pushers](/price-feeds/schedule-price-updates) or [push-feeds](/price-feeds/push-feeds) that automatically maintain up-to-date prices on-chain. +**Push integration** is for applications that don't want to manually pull prices in every transaction and prefer to rely on [Price Pushers](/price-feeds/schedule-price-updates) or [Push-Feeds](/price-feeds/push-feeds) that automatically maintain up-to-date prices on-chain. Pyth is fundamentally a pull oracle, and all feeds are available through both - integration methods. If you don't see specific feeds in push-feeds, you can - run a price pusher yourself or ask the team by filling out [this - form](https://tally.so/r/nGz2jj). + integration methods. If you want to use push integration, you can push the + prices for the feeds you need. You can run a [Price + Pusher](/price-feeds/schedule-price-updates) or ask the team to add the feeds + you need by filling out [this form](https://tally.so/r/nGz2jj). ## Pull Integration diff --git a/pages/price-feeds/use-real-time-data/push-integration.mdx b/pages/price-feeds/use-real-time-data/push-integration.mdx index fb5b642c..d1f506b1 100644 --- a/pages/price-feeds/use-real-time-data/push-integration.mdx +++ b/pages/price-feeds/use-real-time-data/push-integration.mdx @@ -17,7 +17,7 @@ To use real-time price data using push feeds, developers can use the following c ### EVM -Developers building on EVM chains can use Push Feeds to consume real-time price data by reading the price from the Pyth Oracle smart contract. +Developers building on EVM chains can use push feeds to consume real-time price data by reading the price from the Pyth oracle smart contract. ```solidity copy PythStructs.Price memory price = pyth.getPriceNoOlderThan(priceFeedId, 60); @@ -61,12 +61,12 @@ contract SomeContract { ### SVM -Developers building on SVM chains can use Price Feed Accounts to consume real-time price data. +Developers building on SVM chains can use Price Feed Accounts to integrate Pyth using push integration. The [SVM guide](../use-real-time-data/solana#price-feed-accounts) explains in detail how to integrate Pyth using Price Feed Accounts. ### Aptos -Developers building on Aptos can use Push Feeds to consume real-time price data by reading the price from the Pyth Oracle smart contract on Aptos. +Developers building on Aptos can use push feeds to consume real-time price data by reading the price from the Pyth Oracle smart contract on Aptos. ```rust copy let btc_price_identifier = x"e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43"; From 11571912ad34130640bf5a990d8e9ecb913f59fd Mon Sep 17 00:00:00 2001 From: Aditya Arora Date: Mon, 6 Oct 2025 16:40:35 +0530 Subject: [PATCH 09/10] chore(price-pusher) Reanmed Scheduler to Price Pusher --- next.config.js | 4 ++++ pages/price-feeds/push-feeds.mdx | 4 ++-- pages/price-feeds/schedule-price-updates.mdx | 2 +- pages/price-feeds/schedule-price-updates/_meta.json | 2 +- .../{using-scheduler.mdx => using-price-pusher.mdx} | 4 ++-- pages/price-feeds/use-pyth-for-morpho.mdx | 8 ++++---- .../use-real-time-data/pull-integration/solana.mdx | 4 ++-- pages/price-feeds/use-real-time-data/push-integration.mdx | 2 +- 8 files changed, 17 insertions(+), 13 deletions(-) rename pages/price-feeds/schedule-price-updates/{using-scheduler.mdx => using-price-pusher.mdx} (82%) diff --git a/next.config.js b/next.config.js index 18876559..99fa6d84 100644 --- a/next.config.js +++ b/next.config.js @@ -86,7 +86,11 @@ const permanentRedirectArray = [ ["/pythnet-price-feeds/hermes", "/price-feeds/how-pyth-works/hermes"], [ "/documentation/pythnet-price-feeds/scheduler", + "/price-feeds/schedule-price-updates/using-price-pusher", + ], + [ "/price-feeds/schedule-price-updates/using-scheduler", + "/price-feeds/schedule-price-updates/using-price-pusher", ], [ "/documentation/pythnet-price-feeds/off-chain", diff --git a/pages/price-feeds/push-feeds.mdx b/pages/price-feeds/push-feeds.mdx index 59f74d35..6cb3aef6 100644 --- a/pages/price-feeds/push-feeds.mdx +++ b/pages/price-feeds/push-feeds.mdx @@ -32,6 +32,6 @@ The feeds can vary by network. Please see the relevant section below for the net DISCLAIMER: While the Pyth Data Association strives to deliver timely updates, these push feeds may occasionally experience delays in updates caused by chain halts, gas estimations and other issues. Applications are advised to run their - own scheduler. Find out how you can run your own scheduler - [here](/price-feeds/schedule-price-updates/using-scheduler). + own price-pusher. Find out how you can run your own price-pusher + [here](/price-feeds/schedule-price-updates/using-price-pusher). diff --git a/pages/price-feeds/schedule-price-updates.mdx b/pages/price-feeds/schedule-price-updates.mdx index 8c362b20..ac6d8db0 100644 --- a/pages/price-feeds/schedule-price-updates.mdx +++ b/pages/price-feeds/schedule-price-updates.mdx @@ -14,7 +14,7 @@ There are also three different tools to schedule price updates: - [Adrastia's Pyth Price Feed Updater](schedule-price-updates/using-adrastia) is a white-glove service that automates price updates based on time and price deviations, supporting any EVM chain. - [Gelato](schedule-price-updates/using-gelato) provides a turnkey automation solution for scheduled updates. -- [Scheduler](schedule-price-updates/using-scheduler) is a service that developers can run to trigger price updates when certain time or price change conditions are met. +- [Price Pusher](schedule-price-updates/using-price-pusher) is a service that developers can run to trigger price updates when certain time or price change conditions are met. For developers comparing these three options, Adrastia and Gelato are simpler, in that they do not require you to operate a service. diff --git a/pages/price-feeds/schedule-price-updates/_meta.json b/pages/price-feeds/schedule-price-updates/_meta.json index cea14c6e..30143971 100644 --- a/pages/price-feeds/schedule-price-updates/_meta.json +++ b/pages/price-feeds/schedule-price-updates/_meta.json @@ -1,5 +1,5 @@ { "using-adrastia": "Using Adrastia", "using-gelato": "Using Gelato", - "using-scheduler": "Using Scheduler" + "using-price-pusher": "Using Price Pusher" } diff --git a/pages/price-feeds/schedule-price-updates/using-scheduler.mdx b/pages/price-feeds/schedule-price-updates/using-price-pusher.mdx similarity index 82% rename from pages/price-feeds/schedule-price-updates/using-scheduler.mdx rename to pages/price-feeds/schedule-price-updates/using-price-pusher.mdx index d4eb8c2d..01fb49c0 100644 --- a/pages/price-feeds/schedule-price-updates/using-scheduler.mdx +++ b/pages/price-feeds/schedule-price-updates/using-price-pusher.mdx @@ -1,6 +1,6 @@ -# Scheduler +# Price Pusher -The [scheduler](https://github.com/pyth-network/pyth-crosschain/tree/main/apps/price_pusher) (previously known as "price pusher") +The [Price Pusher](https://github.com/pyth-network/pyth-crosschain/tree/main/apps/price_pusher) is an off-chain application that regularly pulls price updates on to a blockchain. Anyone can run this service to regularly update the on-chain Pyth price based on various conditions, such as a minimum update frequency, or a price change threshold. This service can simplify the process of migrating to Pyth from other oracles. diff --git a/pages/price-feeds/use-pyth-for-morpho.mdx b/pages/price-feeds/use-pyth-for-morpho.mdx index 369e6ca2..76bdd652 100644 --- a/pages/price-feeds/use-pyth-for-morpho.mdx +++ b/pages/price-feeds/use-pyth-for-morpho.mdx @@ -8,12 +8,12 @@ Pyth provides a wrapper which implements Morpho's `IOracle` interface called [`p There are two steps to use Pyth price feeds for Morpho markets: -1. Run the price pusher or scheduler. +1. Run the [Price Pusher](https://github.com/pyth-network/pyth-crosschain/tree/main/apps/price_pusher). 2. Deploy the [`MorphoPythOracle.sol`](https://github.com/pyth-network/pyth-morpho-wrapper/blob/main/src/morpho-pyth/MorphoPythOracle.sol) contract for the respective price feed pair. -### Run the price pusher or scheduler +### Run the Price Pusher As a pull oracle, Pyth's users are typically responsible for updating the state of on-chain feeds. Please see [What is a Pull Oracle?](/price-feeds/pull-updates) to learn more about pull updates. @@ -21,11 +21,11 @@ Please see [What is a Pull Oracle?](/price-feeds/pull-updates) to learn more abo The Pyth Data Association sponsors regular on-chain updates for some price feeds. See [Sponsored Feeds](./sponsored-feeds.mdx) for the current list of feeds and their update parameters. -If you don't find relevant price IDs in the [Sponsored Feeds](./sponsored-feeds.mdx) list, please contact the Pyth team [here](https://tally.so/r/nGz2jj) to run the scheduler/price pusher for the price feed you need. +If you don't find relevant price IDs in the [Sponsored Feeds](./sponsored-feeds.mdx) list, please contact the Pyth team [here](https://tally.so/r/nGz2jj) to run the Price Pusher for the price feed you need. ### Deploy the Morpho oracle contract -After running the price pusher or scheduler, you can deploy the Morpho oracle contract using the MorphoPythOracle.sol contract. +After running the [Price Pusher](https://github.com/pyth-network/pyth-crosschain/tree/main/apps/price_pusher), you can deploy the Morpho oracle contract using the MorphoPythOracle.sol contract. To deploy a MorphoPythOracle on an EVM chain, we highly recommend using the factory MorphoPythOracleFactory. Please refer to the factory addresses [here](https://github.com/pyth-network/pyth-morpho-wrapper?tab=readme-ov-file#factory-addresses). diff --git a/pages/price-feeds/use-real-time-data/pull-integration/solana.mdx b/pages/price-feeds/use-real-time-data/pull-integration/solana.mdx index 262e442c..224cfbae 100644 --- a/pages/price-feeds/use-real-time-data/pull-integration/solana.mdx +++ b/pages/price-feeds/use-real-time-data/pull-integration/solana.mdx @@ -140,8 +140,8 @@ const solUsdPriceFeedAccount = pythSolanaReceiver Additionally, updating a price feed is a permissionless operation, and anyone can run this process. Please see [Using -Scheduler](/price-feeds/schedule-price-updates/using-scheduler) for more -information. Running the scheduler can help with reliability and update +Price Pusher](/price-feeds/schedule-price-updates/using-price-pusher) for more +information. Running the Price Pusher can help with reliability and update feed/shard pairs that are not part of the default schedule. diff --git a/pages/price-feeds/use-real-time-data/push-integration.mdx b/pages/price-feeds/use-real-time-data/push-integration.mdx index d1f506b1..f3d2a803 100644 --- a/pages/price-feeds/use-real-time-data/push-integration.mdx +++ b/pages/price-feeds/use-real-time-data/push-integration.mdx @@ -6,7 +6,7 @@ To use the push integration, developers first need to ensure the feeds used by t Refer to the [Push Feeds page](../push-feeds) to see which feeds are being updated on each blockchain. If your feeds are not listed there, you have several options: -- **Run Price Pusher**: Set up and run a [price-pusher](/price-feeds/schedule-price-updates/using-scheduler) to automate the process of updating the on-chain price +- **Run Price Pusher**: Set up and run a [price-pusher](/price-feeds/schedule-price-updates/using-price-pusher) to automate the process of updating the on-chain price - **Request Feeds**: Fill out [this form](https://tally.so/r/nGz2jj) to request the feeds you need. Pyth is a decentralized oracle network that provides real-time price data to blockchain applications. From 9f88bebf1baa27ee2ef6327b25b399af9ed3cf7a Mon Sep 17 00:00:00 2001 From: Aditya Arora Date: Wed, 8 Oct 2025 10:56:54 +0530 Subject: [PATCH 10/10] chore(price-feeds) Price Pusher rename --- pages/price-feeds/use-pyth-for-morpho.mdx | 6 ++++-- pages/price-feeds/use-real-time-data.mdx | 14 +++++++------- .../use-real-time-data/pull-integration/evm.mdx | 6 ++++-- .../pull-integration/starknet.mdx | 10 ++++++++-- .../use-real-time-data/push-integration.mdx | 8 ++------ 5 files changed, 25 insertions(+), 19 deletions(-) diff --git a/pages/price-feeds/use-pyth-for-morpho.mdx b/pages/price-feeds/use-pyth-for-morpho.mdx index 76bdd652..66c56243 100644 --- a/pages/price-feeds/use-pyth-for-morpho.mdx +++ b/pages/price-feeds/use-pyth-for-morpho.mdx @@ -8,16 +8,18 @@ Pyth provides a wrapper which implements Morpho's `IOracle` interface called [`p There are two steps to use Pyth price feeds for Morpho markets: -1. Run the [Price Pusher](https://github.com/pyth-network/pyth-crosschain/tree/main/apps/price_pusher). +1. Schedule Price Updates. 2. Deploy the [`MorphoPythOracle.sol`](https://github.com/pyth-network/pyth-morpho-wrapper/blob/main/src/morpho-pyth/MorphoPythOracle.sol) contract for the respective price feed pair. -### Run the Price Pusher +### Schedule Price Updates As a pull oracle, Pyth's users are typically responsible for updating the state of on-chain feeds. Please see [What is a Pull Oracle?](/price-feeds/pull-updates) to learn more about pull updates. +Consult [Schedule Price Updates](/price-feeds/schedule-price-updates) guide for more information. + The Pyth Data Association sponsors regular on-chain updates for some price feeds. See [Sponsored Feeds](./sponsored-feeds.mdx) for the current list of feeds and their update parameters. diff --git a/pages/price-feeds/use-real-time-data.mdx b/pages/price-feeds/use-real-time-data.mdx index 5fa12c2e..fc3af2c4 100644 --- a/pages/price-feeds/use-real-time-data.mdx +++ b/pages/price-feeds/use-real-time-data.mdx @@ -12,16 +12,16 @@ If your blockchain is not supported, please [ask in the dev-forum](https://dev-f ## Choosing Your Integration Method -**Pull integration** is the default choice for most applications. You manually pull the latest price data in your smart contract when needed. +**Pull integration** is the default choice for most applications. In this integration, the application retrieves price data from a [webserveice](./how-pyth-works/hermes) and submits it to +an on-chain smart contact as part of the transaction. This integration provides the lowest-latency access to Pyth price data. -**Push integration** is for applications that don't want to manually pull prices in every transaction and prefer to rely on [Price Pushers](/price-feeds/schedule-price-updates) or [Push-Feeds](/price-feeds/push-feeds) that automatically maintain up-to-date prices on-chain. +**Push integration** is for applications that don't want to pull prices in every transaction and prefer a purely on-chain integration. - Pyth is fundamentally a pull oracle, and all feeds are available through both - integration methods. If you want to use push integration, you can push the - prices for the feeds you need. You can run a [Price - Pusher](/price-feeds/schedule-price-updates) or ask the team to add the feeds - you need by filling out [this form](https://tally.so/r/nGz2jj). + All feeds are available through both integration methods. However, for the to + use push integration, the application needs to submit the prices to the + on-chain smart contract as part of the transaction. Check out the [Push + Integration](use-real-time-data/push-integration) guide to get started. ## Pull Integration diff --git a/pages/price-feeds/use-real-time-data/pull-integration/evm.mdx b/pages/price-feeds/use-real-time-data/pull-integration/evm.mdx index 5eeb30b6..f497a6e1 100644 --- a/pages/price-feeds/use-real-time-data/pull-integration/evm.mdx +++ b/pages/price-feeds/use-real-time-data/pull-integration/evm.mdx @@ -2,10 +2,12 @@ import { Callout } from "nextra/components"; # How to Use Real-Time Data in EVM Contracts -This guide explains how to use real-time Pyth data in EVM contracts. For an interactive playground to explore the methods supported by the Pyth contract, see the [EVM API reference](../api-reference/evm/). +This guide explains how to use real-time Pyth data in EVM contracts using the pull integration. + +For an interactive playground to explore the methods supported by the Pyth contract, see the [EVM API reference](../api-reference/evm/). - If you want to use real-time price data using push integration instead, you can use the following code snippet: + If you want to use real-time price data using the push integration instead, you can use the following code snippet: ```solidity copy PythStructs.Price memory price = pyth.getPriceNoOlderThan(priceFeedId, 60); ``` diff --git a/pages/price-feeds/use-real-time-data/pull-integration/starknet.mdx b/pages/price-feeds/use-real-time-data/pull-integration/starknet.mdx index 8d2fe277..587cdf14 100644 --- a/pages/price-feeds/use-real-time-data/pull-integration/starknet.mdx +++ b/pages/price-feeds/use-real-time-data/pull-integration/starknet.mdx @@ -21,9 +21,15 @@ Pyth also provides a javascript SDK to interact with the Pyth contract on Starkn - ```sh copy npm install --save @pythnetwork/pyth-starknet-js ``` + ```sh copy + npm install --save @pythnetwork/pyth-starknet-js + ``` + + + ```sh copy + yarn add @pythnetwork/pyth-starknet-js + ``` - ```sh copy yarn add @pythnetwork/pyth-starknet-js ``` ## Write Contract Code diff --git a/pages/price-feeds/use-real-time-data/push-integration.mdx b/pages/price-feeds/use-real-time-data/push-integration.mdx index f3d2a803..73509237 100644 --- a/pages/price-feeds/use-real-time-data/push-integration.mdx +++ b/pages/price-feeds/use-real-time-data/push-integration.mdx @@ -6,12 +6,8 @@ To use the push integration, developers first need to ensure the feeds used by t Refer to the [Push Feeds page](../push-feeds) to see which feeds are being updated on each blockchain. If your feeds are not listed there, you have several options: -- **Run Price Pusher**: Set up and run a [price-pusher](/price-feeds/schedule-price-updates/using-price-pusher) to automate the process of updating the on-chain price -- **Request Feeds**: Fill out [this form](https://tally.so/r/nGz2jj) to request the feeds you need. - -Pyth is a decentralized oracle network that provides real-time price data to blockchain applications. -It follows a design where price updates are pulled from pythnet, but it can be integrated into applications using push integration as well. -[What is a Pull Oracle](/price-feeds/pull-updates) explains this difference in detail. +- **Request Feeds**: Fill out [this form](https://tally.so/r/nGz2jj) to request the feeds you need. This is the fastest and simplest way to get your feeds pushed on chain. +- **Run Price Pusher**: Set up and run a [Price Pusher](/price-feeds/schedule-price-updates/using-price-pusher) to automate the process of updating the on-chain price To use real-time price data using push feeds, developers can use the following code snippet based on the ecosystem: