Read
Edit
History
Notify
Share
Pyth Network
Pyth Network is a decentralized oracle, sharing real-time financial market data across various blockchains. Founded April 2021 by Ciarán Cronin, Michael Cahill and Jayant Krishnamurthy, Pyth aggregates price feeds for diverse asset classes such as US equities, commodities, and cryptocurrencies with exchanges and global market-making entities as their primary publishers. The price feeds present a compilation of publisher prices, updating multiple times per second. [1]
Overview
Launched on Solana in August 2021, Pyth Network's role is to provide three distinct data products catering to diverse applications. The Solana Price Feeds update prices on the Solana mainnet as fast as possible, aiming to offer real-time data. Pythnet Price Feeds, extends prices across multiple blockchain ecosystems, including Ethereum, BNB, Avalanche, and others, which are applicable in both on-chain and off-chain scenarios. The Benchmarks product supplements Pyth's portfolio by supplying historical price data for settlement purposes and similar applications. [1][23]
For application developers, Pyth Network provides documentation for each product and additional resources are provided, including guidelines for data providers, insights into Pyth's operational mechanics, metrics reflecting network adoption and growth, and tutorials elucidating integration processes. [1]
Main Components
Solana Price Feeds
Solana Price Feeds are a component of Pyth Network's decentralized oracle, offering real-time updates on financial market prices directly to the Solana blockchain. Each price feed resides in a distinct Solana account, enabling seamless integration into applications. To retrieve the current value, developers can effortlessly pass the relevant account to their Solana program, leveraging Pyth's dedicated Solana SDK for streamlined data deserialization. [2]
Utilizing Price Feeds
Price Feed Account IDs
Identification of Pyth Network price feeds on Solana involves unique account keys, varying between mainnet, testnet, and devnet. A comprehensive list of price feeds for Solana, categorized under the "mainnet-beta" tag, is accessible on the pyth.network website. The price feed ids page further details the identification of each available price feed, facilitating on-chain utilization by storing the feed id in the program. [3]
Fixed-Point Numeric Representation
Pyth's price feeds adopt a fixed-point format, unifying the exponent for both price and confidence interval. The integer representation is computed by multiplying the values by 10^exponent. For instance, with AAPL/USD reporting an exponent of -5, a confidence interval of 1500 corresponds to $0.015, and a price of 12276250 equates to $122.7625. [3]
Price Availability
In certain scenarios, Pyth may be unable to furnish a current price, attributing to factors like restricted market hours or network outages. To mitigate the inadvertent use of stale prices, Pyth's SDKs feature a default staleness check. Developers are encouraged to exercise caution and tailor parameters to align with specific use cases. [4]
Market Hours
Aligned with traditional market hours, Pyth price feeds adhere to specific schedules for each asset class, whether crypto, US equities, FX, or metals. Understanding market hours aids integrators in aligning applications with accurate and up-to-date pricing information. [5]
Latency
Integration of Pyth Network price feeds necessitates consideration of latency disparities between on-chain oracles and off-chain sources. Despite Pyth's low latency design, on-chain oracles inherently face delays due to consensus and security measures. Developers are advised to adopt strategies that account for potential latency races, drawing parallels to market making in traditional finance. [6]
Confidence Intervals
Pyth Network distinguishes itself by publishing not just prices but also confidence intervals, recognizing the inherent variability in real market prices. A Laplace distribution model underlies these intervals, offering users a probability distribution to navigate price uncertainties. Developers are recommended to leverage confidence intervals for conservative decision-making during times of market flux, aligning with a prudent risk management approach. This principle proves particularly relevant in various financial scenarios, including lending, derivative contracts, and settlement agreements. [7]
Pythnet Price Feeds
Pyth Network employs a unique "pull" model for price updates, diverging from the more common "push" model used by many oracles. Unlike push models, Pyth Network relies on users to submit price updates on-chain. This process is facilitated through the Wormhole Network, a cross-chain messaging protocol, ensuring authenticity through cryptographic signatures. [8]
Implementation
In the pull model, developers integrating Pyth into their applications must adopt a two-fold approach: [8]
- On-chain Integration:
- On-chain programs read prices from the Pyth program deployed on the same blockchain.
- Off-chain Integration:
- Off-chain frontends and jobs include Pyth price updates alongside their application-specific transactions.
This decentralized model allows for efficient, cost-effective, and frequent updates while maintaining reliability.
Utility
Price Feed IDs
Each Pyth Network price feed is uniquely identified by an ID, represented in various formats depending on the blockchain. To use a price feed on-chain, developers retrieve its ID from the pyth.network website or the price feed IDs page. It's crucial to store the feed ID in the program for subsequent price feed queries. [9]
Fixed-Point Numeric Representation
Pyth price feeds utilize fixed-point representation for numbers, employing a consistent exponent for both price and confidence interval. The integer representation is obtained by multiplying the value by 10^exponent. This ensures accuracy in representing prices and confidence intervals. [9]
Price Availability
Pyth acknowledges scenarios where it may be unable to provide a current price, such as during market closures or network outages. Integrators are urged to implement checks to avoid accidental usage of stale prices. Pyth SDKs include built-in staleness checks, preventing the retrieval of outdated prices. [9]
Market Hours
Pyth price feeds adhere to traditional market hours for various asset classes, ensuring users are aware of the specific timeframes during which prices are available. This aligns with the operating hours of respective markets. [9]
Hermes
Hermes serves as a critical component in Pyth Network's architecture, providing a web API for streaming Pyth price updates. Users can access the latest price data through public endpoints, and developers are encouraged to consider self-hosting Hermes for resilience and decentralization. [10]
Public Endpoints
The Pyth Data Association operates stable and beta endpoints for Hermes, allowing developers to test integrations. While these public endpoints are available, hosting a dedicated instance of Hermes is recommended for production deployments. [10]
Hermes Node Providers
Several node providers offer Hermes services, contributing to the decentralization and resilience of the Pyth Network. Developers can choose from Triton, P2P, Blockdaemon, and Figment for Hermes node services. [10]
Usage
Developers can interact with Hermes using its comprehensive API, which supports RESTful queries and WebSocket subscriptions. The Pyth Network SDKs, tailored for specific blockchains, simplify the integration process by providing seamless communication with Hermes. [10]
Fees
The Pyth Network protocol allows for optional data fees to update on-chain price feeds. The governance of each blockchain determines the existence and size of these fees. Developers can pass these fees along to end users, ensuring a sustainable model and compensating data providers for their contributions. [10]
Pyth Benchmarks
Pyth Benchmarks offer users the capability to retrieve historical price data from the Pythnet Price Feeds. This feature enables applications to access specific price points, crucial for activities like contract settlement or any application requiring historical pricing information. The data retrieved from Pyth Benchmarks is signed and verifiable on-chain, maintaining the same trust assumptions as Pythnet Price Feeds. [11]
Reliability and Limitations
To ensure the reliability of the Pyth Benchmarks API, a request rate limit is in place. The set limit is 30 requests every 10 seconds per IP address for most endpoints, with an exception for the TradingView endpoint, allowing 90 requests every 10 seconds. Clients exceeding this limit will receive a 429 (Too Many Requests) response for the subsequent 60-second period. [11]
Accessing Benchmark Prices
- Manual Browsing:[12]
- Users can explore the benchmarks page on the pyth.network website, providing an interface to search the archive of benchmark prices. Default options for common settlement dates and times are available, allowing users to select a specific time and view all Pyth prices active at that moment. Each displayed price corresponds to the Pyth price update just before the selected time, ensuring accuracy.
- On-Chain Contracts:[13]
- On-chain contracts can integrate benchmark prices using the pull model, akin to Pythnet Price Feeds. The process involves the following steps: a. Utilize the Hermes endpoint /api/get_vaa to fetch a signed price update for the desired price feed and time. This returns the price update immediately following the queried time. b. Pass the obtained price update to the on-chain contract as part of the transaction requiring benchmark data. c. Within the on-chain contract, invoke the parsePriceFeedUpdates function on the Pyth contract, which validates the update's correctness and returns the requested asset's price if valid. The update must have correct signatures and fall within a user-configured time interval, aligned with their specific requirements.
Publishing Data
Data providers looking to contribute to the Pyth Network can follow a set of structured steps:[14]
- Request Access:
- Contact the Pyth Data Association through Discord or Telegram to express interest in becoming a data provider. Only entities with first-party data, such as exchanges, market makers, and trading firms, are eligible to participate.
- Generate Keypair:
- Every data provider on the network is identified by a public key, and their prices are signed using the corresponding private key. To get started, create a Solana public/private key pair using the Solana Tool Suite. Sharing the public key with the Pyth Data Association enables authorization for publishing prices.
- Procure Validators:
- Obtain a Solana RPC node and a Pythnet validator with assistance from the Pyth Data Association.
- pyth-agent:
- Utilize the pyth-agent software package to publish data to the network. This package simplifies communication with the blockchain, providing a JSON RPC interface for submitting price data. Refer to the README for instructions and explore the example publisher for practical integration with the pyth-agent API.
Funding
In December 2023, the Pyth Data Association conducted a fundraising round, with contributions from industry entities such as Castle Island Ventures, Multicoin Capital, and Wintermute Ventures. The Pyth Data Association allocated PYTH tokens to the fundraising contributors, empowering them to potentially influence the platform's development. The fundraising round aimed to expand the Pyth community and enhance the network through increased access to capital, governance participation, protocol improvements, and strategic guidance. [16]
Tokenomics
Pyth Network Token (PYTH)
PYTH serves as the governance token for the Pyth Network, enabling token holders to engage in governance activities through the staking and governance front end.
To partake in community governance, holders must stake their tokens in the Pyth staking program, where each staked token translates to one vote in the governance process. Proposals to the Pyth DAO can be submitted by any PYTH Token holder who has staked at least 0.25% of the total PYTH tokens.[17]
Token Distribution
The PYTH token has a total supply of 10,000,000,000 (10B) tokens. Initially, 1,500,000,000 (15%) PYTH tokens were in circulation as of November 2023, while the remaining 85% were subject to a lockup schedule, unlocking at intervals of 6, 18, 30, and 42 months after the token launch.
Token Allocation | Amount | Unlocked Tokens | Locked Tokens |
---|---|---|---|
Publisher Rewards | 2,200,000,000 PYTH | ~2% (50M) | Subject to unlock schedule |
Ecosystem Growth | 5,200,000,000 PYTH | ~13% (700M) | Subject to unlock schedule |
Protocol Development | 1,000,000,000 PYTH | ~15% (150M) | Subject to unlock schedule |
Community and Launch | 600,000,000 PYTH | All 600M | Unlocked from day one |
Private Sales | 1,000,000,000 PYTH | None | Subject to unlock schedule |
Pyth Retrospective Airdrop
The Pyth DAO Constitution outlines the framework for community governance, including procedures for proposing and voting on network upgrades, parameter adjustments, and strategic initiatives.
Token holders play a central role in governance by participating in on-chain voting using the PYTH Token. This governance structure aims to foster community involvement, transparency, and consensus-driven decision-making within the Pyth Network ecosystem.
In November 2023 and again in February 2024 the network conducted a retrospective airdrop program, distributing PYTH Tokens to eligible participants based on their contributions and activity across multiple blockchains and decentralized applications.
This initiative aims to incentivize community engagement and promote broader participation in network governance.[20][22]
Governance
Pyth DAO Constitution
The Pyth Network recently introduced the Pyth DAO Constitution, which outlines the governance framework and procedures for community participation.
Token holders can engage in governance activities such as proposing and voting on network upgrades, changes to protocol parameters, and strategic initiatives. The PYTH Token is an integral part of the network's decentralized governance model, aiming to ensure community representation and decision-making transparency.
Through the Pyth DAO, token holders collectively contribute to the evolution and sustainability of the Pyth Network ecosystem.[21]
Contributors
- Marc Tillement
- Edward Zuo
- Mario Bernadi
- Burak Saglamm
- Yanis Kheddouci
- Ande Zheng[15]
Pyth Launches Express Relay
On July 11, 2024, Pyth Network launched Express Relay, designed to connect leading trading firms to DeFi protocols. [24]
Introducing: Express Relay—priority auctions for a more self-sovereign DeFi.
Remove the extractive role of miners, roll out protocols faster, and instantly access a network of top searchers. - the team tweeted[24]
Express Relay directly connects DeFi protocols to a network of established searchers. This priority auction allows searchers to compete for priority to perform lucrative operations (such as liquidations) on integrated DeFi protocols. [24]
Pyth Network also claims that Express Relay addresses the problem of MEV (Maximal Extractable Value), the profit that miners or validators extract from reordering, including, or excluding transactions within a block.
"This extraction results in costs and inefficiencies for DeFi protocols and users."
Express Relay connects DeFi protocols to a network of searchers through protocol-controlled auctions for valuable transactions like liquidations. It claims to enable protocols to eliminate MEV, significantly reducing the cost of critical operations such as liquidation rewards (the discount offered to searchers to liquidate underwater positions). [25]
"Express Relay offers early-stage protocols a way to accelerate deployment. Instead of building liquidator networks and negotiating with searchers, protocols can seamlessly connect to an established searcher network to bootstrap liquidations." - the team tweeted[26]
Pyth Network also mentioned that protocols, including Synthetix, Zerolend, Ionic, Synonym, Keom, Jax Finance, Vela Exchange, and Fulcrom Finance have already integrated or begun integrating with Express Relay, enabling them to spend fewer resources on bootstrapping their own liquidator and searcher networks. [27]
Pyth Network
Commit Info
Feedback
Average Rating
How was your experience?
Give this wiki a quick rating to let us know!
Twitter Timeline
Loading
Media
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]