Read

Edit

History

Notify

Share

Pyth Network

Pyth Network is a decentralized , sharing real-time financial market data across various . Founded April 2021 by , and , Pyth aggregates price feeds for diverse asset classes such as US equities, commodities, and 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 in August 2021, Pyth Network's role is to provide three distinct data products catering to diverse applications. The Price Feeds update prices on the as fast as possible, aiming to offer real-time data. Pythnet Price Feeds, extends prices across multiple ecosystems, including , , , 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

Price Feeds are a component of Pyth Network's decentralized , offering real-time updates on financial market prices directly to the . Each price feed resides in a distinct account, enabling seamless integration into applications. To retrieve the current value, developers can effortlessly pass the relevant account to their program, leveraging Pyth's dedicated SDK for streamlined data deserialization. [2]

Utilizing Price Feeds

Price Feed Account IDs

Identification of Pyth Network price feeds on involves unique account keys, varying between , , and devnet. A comprehensive list of price feeds for , 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 , 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 and off-chain sources. Despite Pyth's low latency design, on-chain 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]

  1. On-chain Integration:
    • On-chain programs read prices from the Pyth program deployed on the same .
  2. 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 . 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, , 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 , 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 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

  1. 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.
  2. 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]

  1. 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.
  2. 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 public/private key pair using the Tool Suite. Sharing the public key with the Pyth Data Association enables authorization for publishing prices.
  3. Procure Validators:
    • Obtain a RPC node and a Pythnet validator with assistance from the Pyth Data Association.
  4. 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 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 for the Pyth Network, enabling token holders to engage in governance activities through the 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 AllocationAmountUnlocked TokensLocked Tokens
Publisher Rewards2,200,000,000 PYTH~2% (50M)Subject to unlock schedule
Ecosystem Growth5,200,000,000 PYTH~13% (700M)Subject to unlock schedule
Protocol Development1,000,000,000 PYTH~15% (150M)Subject to unlock schedule
Community and Launch600,000,000 PYTHAll 600MUnlocked from day one
Private Sales1,000,000,000 PYTHNoneSubject to unlock schedule

[19]

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 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]
See something wrong? Report to us.

Pyth Network

Commit Info

Edited By

0xf32ECD5c8f5633212f1a25A3931aDDc0CEc42938
0xf3...2938

Edited On

February 29, 2024

Reason for edit:

tokenomics section, few further details and timeline

Feedback

Average Rating

No ratings yet, be the first to rate!

How was your experience?

Give this wiki a quick rating to let us know!

Twitter Timeline

Loading...

Loading

Media

REFERENCES

Join the IQ Brainlist

Sign up for the IQ Brainlist to get early access to editing on the IQ.wiki site!

Join Now

Subscribe to our newsletter

The IQ Ecosystem Report will keep you updated on everything IQ.

Subscribe

IQ.wiki

IQ.wiki's vision is to bring blockchain knowledge to the world and knowledge onto the blockchain. A part of Brainfund group

https://twitter.com/IQWIKIhttps://www.reddit.com/r/Everipedia/https://t.me/everipediahttps://www.instagram.com/iqwiki_/https://github.com/EveripediaNetworkhttps://discord.gg/x9EWvTcPXthttps://www.facebook.com/iqdotwiki

IQ

What's IQ?StakingBonds

Company

About usCareersBrandingIQ GPTIQ Dashboard

© 2024 IQ.wiki Powered By BrainDAO & IQ