The Pyth Network pull oracle has been deployed on Solana. Developers on Solana mainnet-beta can access Pyth’s oracle prices by actively requesting or pulling price updates from the Pythnet appchain to the Solana environment. With this deployment, protocols on Solana will use the Pyth oracle the same way as applications on other blockchains.
The Pyth push oracle will remain available on Solana until June 30, 2024. Compared to the push oracle, the new Pyth pull oracle improves reliability during congestion and increases the number of price feeds available to users.
This blog post explains how the pull oracle on Solana works, the advantages it brings to Solana developers and users, and highlights current users of the Pyth pull oracle on Solana.
Pull, Don’t Push
The first version of the Pyth Network on Solana followed a push oracle design. This version of the Pyth oracle lives on Solana and is designed to receive price inputs from data providers via Solana transactions and generate a price aggregate directly on-chain. The oracle then pushes these aggregate prices on-chain for every supported price feed to the Solana environment at every slot or every 400ms. Solana protocols then read the most recently updated price message from the last updated slot.
The Pyth push oracle is the most widely adopted DeFi oracle on Solana. To date, the push oracle accounts for 95% of Solana’s total value secured (TVS) and 100% of the total volume secured.
The push oracle is not without its drawbacks, however. During times of congestion and high volatility, for example, not every pushed price update would land as users would pay priority fees for more valuable transactions for activities like liquidations or DEX trades. Furthermore, the gas inefficiencies of the push oracle limited the number of price feeds that the push oracle could provide compared to the Pyth pull oracle on other chains.
For these reasons, the Pyth contributors later developed a new price oracle which follows a pull oracle design, called Pythnet Price Feeds. In this design, the oracle only updates the on-chain price when requested. The Pythnet appchain—a Solana Virtual Machine instance—aggregates prices from the Pyth data providers every slot; users on Solana can request or pull any of these high-frequency updates to the Solana environment.
“Oracles are the backbone of DeFi, and Pyth’s high frequency oracle network has been pushing the space forward since 2021. The launch of their pull oracle on Solana gives developers greater control and optionality over how they consume oracle data, and paves the way for expansion into the growing world of new SVM networks.” — Austin Federa, Head of Strategy at Solana Foundation
Benefits of the Pyth Pull Oracle
The Pyth pull oracle brings several advantages to Solana applications:
Reliability — In a push oracle, every price update must be pushed on-chain. During periods of congestion, oracle updates often compete for bandwidth with more valuable transactions. Accordingly, these oracle updates do not always land. With the Pyth pull oracle, users can incorporate these price updates into the valuable transactions to ensure they land.
High Frequency — Similar to the above benefit, the frequency of price udpates on Pythnet is higher than the frequency on Solana mainnet-beta during periods of congestion. Solana users can pull any of these high-frequency price updates to Solana to power their DeFi transactions.
Price Feed Selection — Push oracles typically support fewer price feeds than pull oracles due to the ongoing gas expenditures of periodically updating each feed. The gas efficiency of Pyth’s pull oracle enables it to provide more than 500 price feeds for Solana protocols.
Historical Data — Solana developers will have access to Pyth Benchmarks, which allows users to query historical Pyth prices. This feature can be used for a variety of mission-critical use cases, such as backfilling transactions to specific timestamps to ensure accurate settlement and to prevent frontrunning.
Security — The Pythnet appchain boasts more data providers per feed (64) than the push oracle on Solana (32). Every Pyth price feed sources and aggregates data from multiple providers to ensure a reliable and secure price output.
Oracle Availability for New SVM Environments — The advent of Solana Virtual Machine (SVM) environments heralds new demand for blockchain infrastructure, including oracles. The deployment of the pull oracle on Solana paves the way for oracle support for new SVM ecosystems thanks to Pyth’s scalability. Pyth Network can send data cross-chain to new instances of SVMs, even if they are private or permissioned environments.
Highlighted Users
The Solana DeFi ecosystem has already started migrating to the Pyth pull oracle. To date, the Pyth pull oracle on Solana receives 200K pull updates every day. Some of the current Pyth users on Solana who are now transitioning to the pull oracle include names like:
- Kamino—a suite of lending and liquidity products providing automated liquidity strategies that auto-compounds and tokenizes liquidity positions on Solana DEXs.
"As Solana's leading borrow-lend platform, it's vital that Kamino users can rely on secure and robust oracle infrastructure. Oracles are not only just price feeds, they are also risk features. By making full use of Pyth Pull oracles we can offer high performance and oracle robustness especially in times of high congestion.” Marky, founder of Kamino.
- Jupiter—a suite of products including swaps, limit orders, DCA, and perpetuals with a full-stack infrastructure focused on a decentralized UX.
- Zeta Markets—on-chain perpetuals offering the speed and UX of a CEX with self-custody and transparency for users.
“Pyth’s ability to deliver real-time asset price updates is central to our operations, ensuring that our traders consistently have access to precise, up-to-the-second pricing data. The migration to Pyth’s pull oracle takes these capabilities even further, with enhanced reliability, performance, and security for a significantly better user experience. We firmly believe that DEXs can and should compete with CEXs on all metrics, and with Pyth’s support, we are setting new standards in decentralized trading.” - Tristan Frizza, Founder of Zeta Markets
- Drift—a decentralized perpetuals exchange with up to 20x leverage, cross-margin, and multi-collateral.
- Solend—an algorithmic, decentralized protocol for lending and borrowing assets with interest for lending and the feature of depositing collateral for leverage.
- Flash Trade—a decentralized perpetuals exchange that lets users trade up to 100x leverage on crypto and non-crypto assets at low fees and minimal price impact.
- GooseFX—a Solana DEX for perpetuals and single-sided liquidity pools designed for a simplified DeFi experience across trading and earning yield.
"While building something unique as single-sided liquidity pools, it's vital to have access to the best possible prices as fast as possible, which allows us to increase profitability and capital efficiency. Pyth's new pull oracles not only provide a high frequency price updates but their underlying mechanism also helps decongest the chain. Oracles are not just a price feed; they're a fundamental piece in building a great ecosystem. We're confident that Pyth's pull oracles will help us set new standards for DeFi protocols on Solana" - Goose Wayne, Contributor at GooseFX.
- RainFi—a P2P lending protocol allowing anyone to create their lending pools with custom interest and conditions to lend on several types of assets using the same liquidity.
“Pyth Pull oracles powers Rain's universal liquidity layer, allowing us to offer a number of token pairs for our users to leverage trade, lend and borrow from in a very cost-effective way.” - Quentin Crepy, CEO of Rain.
- PsyOptions—a suite of open-source, accessible, options infrastructure and products that allow users to tailor investment strategies to their risk-reward appetites.
- Mango Markets—a platform for lending, borrowing, swaps, and leveraged trading of digital assets through a single risk engine.
- Clone Protocol—a decentralized exchange specifically optimized for onboarding non-native token liquidity to Solana through cloned assets.
- Lifinity—the first proactive market maker on Solana designed to improve capital efficiency and reduce impermanent loss.
“As a user of Pyth since our inception, Lifinity is excited to integrate Pyth's pull oracle to determine the prices at which our DEX trades at. This enables us to trade at up-to-date prices to ensure LP profitability and continue improving liquidity on Solana.” — Durden, Lifinity
- Bonfida—the builders of the Solana Name Service (SNS), a Domain Name Service for Solana wallets.
"Our team was excited to hear about Pyth's move from a push to a pull oracle. It is imperative to us that the Solana Name Service holders and newcomers can make .sol trading decisions efficiently and confidently. The new pull oracle allows us to provide our users just that. The feeds are fast and reliable on all the supported tokens - we didn't expect less." - bonfida.sol
Getting Started
Check out the resources below to get started with Pyth on Solana. Whether you are a new user of Pyth or migrating your Solana protocol from the Pyth push oracle to the new pull oracle, the resources below are for you.
Developers will want to start with this guide on how to use Pyth’s real-time data in the Solana environment.
- Explore Pyth
- Documentation
- Best Practices
- How Pull Oracles Work
- Pyth on Solana
- Pythnet (Solana Virtual Machine)
- Pyth Solana Receiver SDK
- Build Your First Pyth App
We want to hear your feedback. Join the Pyth Discord and Telegram, and follow Pyth on X and LinkedIn. You can also learn more about Pyth here.
Stay Updated with Pyth
Stay informed about Pyth network's development and upcoming events!