-
}
- 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"
- />
-
-
+
+
}
- title="Lazer"
- description="High-performance, low-latency price feeds for institutional applications."
+ title="Pyth Pro"
+ description={<>Subscription-based price data for institutions and advanced use cases.
Previously known as Lazer.>}
features={[
{ icon:
, text: "Ultra-low latency" },
- { icon:
, text: "Institutional grade" },
- { icon:
, text: "High-frequency data" }
+ { icon:
, text: "Crypto, Equities & Indexes" },
+ { icon:
, text: "Customizable channels and latency" },
+ { icon:
, text: "Dedicated support" }
+ ]}
+ quickActions={[
+ { icon:
, title: "Available Price Feeds", href: "./price-feeds/pro/price-feed-ids" },
+ { icon:
, title: "Get an access token", href: "https://tally.so/r/3xG8E5" },
+ { icon:
, title: "Pricing", href: "https://www.pyth.network/pricing" },
]}
- ctaText="Learn About Lazer"
- href="../lazer"
+ ctaText="Explore Pro Documentation"
+ href="./price-feeds/pro"
/>
+
+{" "}
+
+
}
+ title="Pyth Core"
+ description="The original Pyth oracle: decentralized price feeds for DeFi and TradFi builders."
+ features={[
+ { icon:
, text: "400ms update frequency" },
+ { icon:
, text: "100+ blockchains" },
+ { icon:
, text: "Supports Pull and Push updates" },
+ { icon:
, text: "Decentralized Oracle" },
+ ]}
+ quickActions={[
+ {
+ icon:
,
+ title: "Available Price Feeds",
+ href: "./price-feeds/core/price-feeds",
+ },
+ {
+ icon:
,
+ title: "Contract Addresses",
+ href: "./price-feeds/core/contract-addresses",
+ },
+ {
+ icon:
,
+ title: "Current Fees",
+ href: "./price-feeds/core/current-fees",
+ },
+ ]}
+ ctaText="Explore Core Documentation"
+ href="./price-feeds/core"
+/>
+
-## Quick Start
+## Additional Resources
-
- }
- title="Getting Started"
- href="./price-feeds/getting-started"
- />
- }
- title="Contract Addresses"
- href="./price-feeds/contract-addresses"
- />
- }
- title="Push Feeds"
- href="./price-feeds/push-feeds"
- />
- }
- title="API Reference"
- href="./price-feeds/api-reference"
- />
- }
- title="Price Feed IDs"
- href="./price-feeds/price-feeds"
- />
-
+
+
+
+{" "}
+
+
+
+
+
Examples
+
Sample applications and integration examples.
+
View Examples →
+
+
diff --git a/pages/lazer/_meta.json b/pages/price-feeds/pro/_meta.json
similarity index 68%
rename from pages/lazer/_meta.json
rename to pages/price-feeds/pro/_meta.json
index b77c9dc2..d7330b56 100644
--- a/pages/lazer/_meta.json
+++ b/pages/price-feeds/pro/_meta.json
@@ -1,13 +1,4 @@
{
- "documentation-home": {
- "title": "← Documentation Home",
- "href": "/home"
- },
-
- "-- Lazer": {
- "title": "Lazer",
- "type": "separator"
- },
"index": "Introduction",
"getting-started": "Getting Started",
@@ -17,7 +8,7 @@
},
"acquire-access-token": "Acquire an Access Token",
- "subscribe-price-updates": "Subscribe to Price Updates",
+ "subscribe-price-updates": "Subscribe to Prices",
"integrate-as-consumer": "Integrate as a Consumer",
"integrate-as-publisher": "Integrate as a Publisher",
@@ -25,7 +16,6 @@
"title": "Reference Material",
"type": "separator"
},
- "payload-reference": "Payload Reference",
"price-feed-ids": "Price Feed IDs",
"websocket-api-reference": {
@@ -39,10 +29,10 @@
"href": "https://github.com/pyth-network/pyth-examples/tree/main/lazer",
"newWindow": true
},
- "-- Understand Lazer": {
- "title": "Understanding Lazer",
+ "-- Understand Pyth Pro": {
+ "title": "Understanding Pyth Pro",
"type": "separator"
},
- "how-lazer-works": "How Lazer Works"
+ "how-lazer-works": "How Pyth Pro Works"
}
diff --git a/pages/lazer/acquire-access-token.mdx b/pages/price-feeds/pro/acquire-access-token.mdx
similarity index 70%
rename from pages/lazer/acquire-access-token.mdx
rename to pages/price-feeds/pro/acquire-access-token.mdx
index b11f23cd..83e8b152 100644
--- a/pages/lazer/acquire-access-token.mdx
+++ b/pages/price-feeds/pro/acquire-access-token.mdx
@@ -2,14 +2,14 @@ import { Callout } from "nextra/components";
# Acquire an Access Token
-This guide explains how to acquire an access token for Pyth Lazer, which is required to authenticate websocket connections and subscribe to price updates.
+This guide explains how to acquire an access token for Pyth Pro, which is required to authenticate websocket connections and subscribe to price updates.
## Request Access Token
Please fill out [this form](https://tally.so/r/3xG8E5) to contact the Pyth team and get the access token.
- Access tokens are required for all Pyth Lazer websocket connections. Make sure
+ Access tokens are required for all Pyth Pro websocket connections. Make sure
to keep your token secure and do not share it publicly.
@@ -30,4 +30,4 @@ const client = await PythLazerClient.create(
## Next Steps
-After acquiring your access token, you can proceed to [subscribe to price updates](./subscribe-price-updates.mdx) using the Pyth Lazer websocket API.
+After acquiring your access token, you can proceed to [subscribe to price feeds](./subscribe-price-updates.mdx) using the Pyth Pro websocket API.
diff --git a/pages/lazer/getting-started.mdx b/pages/price-feeds/pro/getting-started.mdx
similarity index 73%
rename from pages/lazer/getting-started.mdx
rename to pages/price-feeds/pro/getting-started.mdx
index b1a7b38d..646c0295 100644
--- a/pages/lazer/getting-started.mdx
+++ b/pages/price-feeds/pro/getting-started.mdx
@@ -1,9 +1,9 @@
import { Callout, Steps } from "nextra/components";
-# Getting Started with Pyth Lazer
+# Getting Started with Pyth Pro
-Pyth Lazer is a high-performance, low-latency service that provides real-time financial market data.
-This guide will walk you through setting up and running a basic JavaScript example to subscribe to Lazer price feeds.
+Pyth Pro is a high-performance, low-latency service that provides real-time financial market data.
+This guide will walk you through setting up and running a basic JavaScript example to subscribe to Pyth Pro price feeds.
## Prerequisites
@@ -12,7 +12,7 @@ Before getting started, make sure you have the following installed:
- **Node.js** (version 18 or higher)
- **pnpm** package manager
- **Git** for cloning the examples repository
-- A **Lazer Access Token** - see [How to Acquire an Access Token](./acquire-access-token) if you don't have one
+- A **Pyth Pro Access Token** - see [How to Acquire an Access Token](./acquire-access-token) if you don't have one
@@ -33,35 +33,39 @@ Install the required dependencies using pnpm:
pnpm install
```
-This will install `@pythnetwork/pyth-lazer-sdk`, which is the main Lazer SDK.
+This will install `@pythnetwork/pyth-lazer-sdk`, which will be used to subscribe to Pyth Pro prices.
+
+
+ **Pyth Pro was previously known as Pyth Lazer**. The SDK remains the same.
+
### Configure Your Access Token
-Set your Lazer access token as an environment variable:
+Set your Pyth Pro access token as an environment variable:
```bash copy
export ACCESS_TOKEN=your_actual_token_here
```
- Replace `your_actual_token_here` with your actual Lazer access token. If you
+ Replace `your_actual_token_here` with your actual PythPro access token. If you
don't have one, follow the [access token guide](./acquire-access-token) to
obtain it.
### Run the Basic WebSocket Example
-Now you can run the basic example that demonstrates connecting to Lazer and receiving price updates:
+Now you can run the basic example that demonstrates connecting to Pyth Pro and receiving price updates:
```bash copy
pnpm run start
```
-This command will subscribe to Pyth Lazer updates for two price feeds, receiving streaming updates.
+This command will subscribe to Pyth Pro updates for two price feeds, receiving streaming updates.
Each update is then printed to the terminal on receipt.
You should see output similar to the following:
-```
+```bash
got message: {
type: 'json',
value: {
@@ -98,7 +102,7 @@ stream updated for subscription 1 : [
### Understanding the Code
-The main example code in `src/index.ts` demonstrates the core Lazer integration pattern:
+The main example code in `src/index.ts` demonstrates the core Pyth Pro integration pattern:
```typescript
import { PythLazerClient } from "@pythnetwork/pyth-lazer-sdk";
@@ -127,25 +131,27 @@ client.subscribe({
});
```
+NOTE: Every property passed to `client.subscribe` are explained in the [API Reference](https://pyth-lazer.dourolabs.app/docs).
+
## What's Next?
-Now that you've successfully run the basic Lazer example, you can explore more advanced integration patterns:
+Now that you've successfully run the basic Pyth Pro example, you can explore more advanced integration patterns:
### More Information
-Explore additional Lazer capabilities:
+Explore additional Pyth Pro capabilities:
- **[Subscribe to Price Updates](./subscribe-price-updates)** - Detailed guide on WebSocket subscriptions and message handling
- **[Price Feed IDs](./price-feed-ids)** - Complete list of available price feeds and their identifiers
### Blockchain Integration
-Learn how to integrate Lazer price feeds into your smart contracts:
+Learn how to integrate Pyth Pro price feeds into your smart contracts:
-- **[Solana Integration](./integrate-as-consumer/svm)** - Build SVM smart contracts that consume Lazer price feeds with cryptographic verification
-- **[EVM Integration](./integrate-as-consumer/evm)** - Integrate Lazer into Ethereum and other EVM-compatible chains
+- **[Solana Integration](./integrate-as-consumer/svm)** - Build SVM smart contracts that consume Pyth Pro price feeds with cryptographic verification
+- **[EVM Integration](./integrate-as-consumer/evm)** - Integrate Pyth Pro into Ethereum and other EVM-compatible chains
### Example Applications
diff --git a/pages/price-feeds/pro/how-lazer-works.mdx b/pages/price-feeds/pro/how-lazer-works.mdx
new file mode 100644
index 00000000..ff350c14
--- /dev/null
+++ b/pages/price-feeds/pro/how-lazer-works.mdx
@@ -0,0 +1,6 @@
+# How Pyth Pro works
+
+Pyth Pro uses the same infrastructure as Pyth Lazer.
+It is a permissioned service that provides ultra-low-latency price and market data to highly latency-sensitive users.
+
+We are working on writing a detailed technical overview how Pyth Pro infrastructure works. Details will be added here as they are completed.
diff --git a/pages/price-feeds/pro/index.mdx b/pages/price-feeds/pro/index.mdx
new file mode 100644
index 00000000..b12886bc
--- /dev/null
+++ b/pages/price-feeds/pro/index.mdx
@@ -0,0 +1,35 @@
+import { Callout } from "nextra/components";
+import { Cards, Card } from "nextra/components";
+import {
+ KeyIcon,
+ LightningIcon,
+ BarChartIcon,
+} from "../../../components/icons/ProductIcons";
+
+# Pyth Pro
+
+
Pyth Pro was previously known as Pyth Lazer.
+
+Pyth Pro delivers customizable, enterprise-grade price data directly from first-party publishers.
+Subscribers can configure their price feeds, update schedules, and usage rights for display or redistribution.
+The service is delivered through standard APIs for seamless integration.
+
+---
+
+
+ }
+ title="Get your access token"
+ href="./pro/acquire-access-token"
+ />
+ }
+ title="Subscribe to prices"
+ href="./pro/subscribe-price-updates"
+ />
+ }
+ title="Pricing"
+ href="https://www.pyth.network/pricing"
+ />
+
diff --git a/pages/price-feeds/pro/integrate-as-consumer.mdx b/pages/price-feeds/pro/integrate-as-consumer.mdx
new file mode 100644
index 00000000..94cfb17d
--- /dev/null
+++ b/pages/price-feeds/pro/integrate-as-consumer.mdx
@@ -0,0 +1,11 @@
+# How to verify Price Updates as a Consumer on Blockchain
+
+The following guides demonstrate how to verify price updates as a consumer on blockchain.
+
+Pyth Pro price updates can be verified on Solana, Fogo, and EVM chains. Please consult the following guides to get started:
+
+- [Solana and Fogo](integrate-as-consumer/svm)
+- [EVM](integrate-as-consumer/evm)
+
+Pyth Pro price updates can also be used in off-chain applications. See the
+[subscription guide](subscribe-price-updates) and the [Terms of Service](https://www.dourolabs.xyz/Subscription-Terms.pdf) for more information.
diff --git a/pages/lazer/integrate-as-consumer/_meta.json b/pages/price-feeds/pro/integrate-as-consumer/_meta.json
similarity index 100%
rename from pages/lazer/integrate-as-consumer/_meta.json
rename to pages/price-feeds/pro/integrate-as-consumer/_meta.json
diff --git a/pages/lazer/integrate-as-consumer/evm.mdx b/pages/price-feeds/pro/integrate-as-consumer/evm.mdx
similarity index 80%
rename from pages/lazer/integrate-as-consumer/evm.mdx
rename to pages/price-feeds/pro/integrate-as-consumer/evm.mdx
index e0a6e882..5af5f3e7 100644
--- a/pages/lazer/integrate-as-consumer/evm.mdx
+++ b/pages/price-feeds/pro/integrate-as-consumer/evm.mdx
@@ -1,20 +1,20 @@
import { Callout, Tabs, Steps } from "nextra/components";
-# Integrate Pyth Lazer as a Consumer on EVM chains
+# Integrate as a Consumer on EVM chains
-This guide is intended to serve users who wants to consume prices from the Pyth Lazer on **EVM chains**.
+This guide is intended to serve users who wants to consume prices from the Pyth Pro on **EVM chains**.
-Integrating with Pyth Lazer in smart contracts as a consumer is a three-step process:
+Integrating with Pyth Pro in smart contracts as a consumer is a three-step process:
1. **Use** Pyth Lazer SDK in EVM smart contracts to parse the price updates.
-2. **Subscribe** to Pyth Lazer websocket to receive price updates on backend or frontend.
+2. **Subscribe** to Pyth Pro websocket to receive price updates on backend or frontend.
3. **Include** the price updates into the smart contract transactions.
### Use Pyth Lazer SDK in smart contracts
-Pyth Lazer provides a [Solidity SDK](https://github.com/pyth-network/pyth-crosschain/tree/main/lazer/contracts/evm), which allows consumers to parse the price updates.
+Pyth Pro provides a [Solidity SDK](https://github.com/pyth-network/pyth-crosschain/tree/main/lazer/contracts/evm), which allows consumers to parse the price updates.
```bash copy
forge install pyth-network/pyth-crosschain
@@ -52,7 +52,7 @@ contract ExampleConsumer {
```
-Add an argument of type `bytes calldata{:solidity}` to the method which will receive the Pyth Lazer price udpate:
+Add an argument of type `bytes calldata{:solidity}` to the method which will receive the price update:
```solidity copy
function updatePrice(bytes calldata priceUpdate) public payable {
@@ -125,11 +125,11 @@ for (uint8 i = 0; i < feedsLen; i++) {
price updates via WebSocket. This will be explained in the next step.
-### Subscribe to Pyth Lazer to receive Price Updates
+### Subscribe to Pyth Pro to receive Price Updates
-Pyth Lazer provides a websocket endpoint to receive price updates. Moreover, Pyth Lazer also provides a [Typescript SDK](https://github.com/pyth-network/pyth-crosschain/tree/main/lazer/sdk/js) to subscribe to the websocket endpoint.
+Pyth Pro provides a websocket endpoint to receive price updates. Moreover, Pyth Pro also provides a [Typescript SDK](https://github.com/pyth-network/pyth-crosschain/tree/main/lazer/sdk/js) to subscribe to the websocket endpoint.
-Consult [How to subscribe to price updates from Pyth Lazer](../subscribe-price-updates.mdx) for a complete step-by-step guide.
+Consult [How to subscribe to price updates](../subscribe-price-updates.mdx) for a complete step-by-step guide.
### Include the price updates into smart contract transactions
@@ -139,14 +139,14 @@ Now that you have the price updates, and your smart contract is able to parse th
## Additional Resources
-You may find these additional resources helpful for integrating Pyth Lazer into your EVM smart contracts.
+You may find these additional resources helpful for consuming prices from Pyth Pro into your EVM smart contracts.
### Price Feed IDs
-Pyth Lazer supports a wide range of price feeds. Consult the [Price Feed IDs](../price-feed-ids.mdx) page for a complete list of supported price feeds.
+Pyth Pro supports a wide range of price feeds. Consult the [Price Feed IDs](../price-feed-ids.mdx) page for a complete list of supported price feeds.
### Examples
-[Pyth-lazer-example-evm](https://github.com/pyth-network/pyth-examples/tree/main/lazer/evm) is a simple example contract that parses and consumes price updates from Pyth Lazer.
+[Pyth-lazer-example-evm](https://github.com/pyth-network/pyth-examples/tree/main/lazer/evm) is a simple example contract that parses and consumes price updates from Pyth Pro.
-[pyth-lazer-example-js](https://github.com/pyth-network/pyth-examples/tree/main/lazer/js) is a simple example for subscribing to the Pyth Lazer websocket.
+[pyth-lazer-example-js](https://github.com/pyth-network/pyth-examples/tree/main/lazer/js) is a simple example for subscribing to the Pyth Pro websocket.
diff --git a/pages/lazer/integrate-as-consumer/svm.mdx b/pages/price-feeds/pro/integrate-as-consumer/svm.mdx
similarity index 87%
rename from pages/lazer/integrate-as-consumer/svm.mdx
rename to pages/price-feeds/pro/integrate-as-consumer/svm.mdx
index 11c9c11b..62754599 100644
--- a/pages/lazer/integrate-as-consumer/svm.mdx
+++ b/pages/price-feeds/pro/integrate-as-consumer/svm.mdx
@@ -1,20 +1,22 @@
import { Callout, Tabs, Steps } from "nextra/components";
-# Integrate Pyth Lazer as a Consumer on Solana and Fogo
+# Integrate as a Consumer on Solana and Fogo
-This guide is intended to serve users who wants to consume prices from the Pyth Lazer on **Solana and Fogo**.
+This guide is intended to serve users who wants to consume prices from the Pyth Pro on **Solana and Fogo**.
-Integrating with Pyth Lazer in smart contracts as a consumer is a three-step process:
+Pyth Pro was previously known as Pyth Lazer.
+
+Integrating with Pyth Pro in smart contracts as a consumer is a three-step process:
1. **Use** Pyth Lazer SDK into SVM smart contracts to parse the price updates.
-2. **Subscribe** to Pyth Lazer websocket to receive price updates on backend or frontend.
+2. **Subscribe** to Pyth Pro websocket to receive price updates on backend or frontend.
3. **Include** the price updates into the smart contract transactions.
### Use Pyth Lazer SDK in smart contracts
-Pyth Lazer provides a [Solana SDK](https://docs.rs/pyth-lazer-solana-contract/latest/pyth_lazer_solana_contract/),
+Pyth Pro/Lazer provides a [Solana SDK](https://docs.rs/pyth-lazer-solana-contract/latest/pyth_lazer_solana_contract/),
which allows consumers to parse and verify the price updates on Solana-compatible chains (such as Fogo).
To start, add the following to your `Cargo.toml` file (please check the current latest version at [crates.io](https://crates.io/crates/pyth-lazer-solana-contract)):
@@ -24,10 +26,10 @@ To start, add the following to your `Cargo.toml` file (please check the current
pyth-lazer-solana-contract = { version = "x.y.z", features = ["no-entrypoint"] }
```
-Now you can create an instruction or multiple instructions that will receive Pyth Lazer messages.
-The instruction data sent to your program should include a byte array containing the Pyth Lazer message. The instruction data can also contain any other parameters your contracts may need.
+Now you can create an instruction or multiple instructions that will receive Pyth Pro messages.
+The instruction data sent to your program should include a byte array containing the Pyth Pro message. The instruction data can also contain any other parameters your contracts may need.
-In order to successfully validate the Pyth Lazer message, the instruction needs to receive the following accounts:
+In order to successfully validate price updates, the instruction needs to receive the following accounts:
- Fee payer account
- Pyth Lazer program ([`pytd2yyk641x7ak7mkaasSJVXh6YYZnC7wTmtgAyxPt`](https://solscan.io/account/pytd2yyk641x7ak7mkaasSJVXh6YYZnC7wTmtgAyxPt))
@@ -163,7 +165,7 @@ invoke(
correctly called in the transaction.
-Now parse the Pyth Lazer message.
+Now parse the message received from Pyth Pro.
```rust copy
// Deserialize and use the payload.
@@ -200,14 +202,14 @@ state.latest_timestamp = data.timestamp_us.0;
```
- Pyth Lazer also provides
+ Pyth Pro/Lazer also provides
[pyth_lazer_protocol](https://docs.rs/pyth-lazer-protocol/latest/pyth_lazer_protocol/)
Rust crate, which allows consumers to parse the price updates off-chain.
-### Subscribe to Pyth Lazer to receive Price Updates
+### Subscribe to Pyth Pro to receive Price Updates
-Pyth Lazer provides a websocket endpoint to receive price updates. Moreover, Pyth Lazer also provides a [typescript SDK](https://github.com/pyth-network/pyth-crosschain/tree/main/lazer/sdk/js) to subscribe to the websocket endpoint.
+Pyth Pro/Lazer provides a websocket endpoint to receive price updates. Moreover, Pyth Pro/Lazer also provides a [typescript SDK](https://github.com/pyth-network/pyth-crosschain/tree/main/lazer/sdk/js) to subscribe to the websocket endpoint.
Consult [How to subscribe to price updates from Pyth Lazer](../subscribe-price-updates.mdx) for a complete step-by-step guide.
@@ -268,14 +270,14 @@ let mut tx = Transaction::new_with_payer(
## Additional Resources
-You may find these additional resources helpful for integrating Pyth Lazer into your SVM smart contracts.
+You may find these additional resources helpful for verifying price updates on your SVM smart contracts.
### Price Feed IDs
-Pyth Lazer supports a wide range of price feeds. Consult the [Price Feed IDs](../price-feeds.mdx) page for a complete list of supported price feeds.
+Pyth Pro supports a wide range of price feeds. Consult the [Price Feed IDs](../price-feed-ids.mdx) page for a complete list of supported price feeds.
### Examples
-[pyth-lazer-example-solana](https://github.com/pyth-network/pyth-examples/tree/main/lazer/solana) is a simple example contract that parses and consumes price updates from Pyth Lazer.
+[pyth-lazer-example-solana](https://github.com/pyth-network/pyth-examples/tree/main/lazer/solana) is a simple example contract that parses and consumes price updates from Pyth Pro.
-[pyth-lazer-example-js](https://github.com/pyth-network/pyth-examples/tree/main/lazer/js) is a simple example for subscribing to the Pyth Lazer websocket.
+[pyth-lazer-example-js](https://github.com/pyth-network/pyth-examples/tree/main/lazer/js) is a simple example for subscribing to the Pyth Pro websocket.
diff --git a/pages/price-feeds/pro/integrate-as-publisher.mdx b/pages/price-feeds/pro/integrate-as-publisher.mdx
new file mode 100644
index 00000000..830c264f
--- /dev/null
+++ b/pages/price-feeds/pro/integrate-as-publisher.mdx
@@ -0,0 +1,3 @@
+# How to Integrate Pyth Pro as a Publisher
+
+We are working on this guide. Please check back later or contact us here if you wish to publish data on Pyth Pro.
diff --git a/pages/lazer/payload-reference.mdx b/pages/price-feeds/pro/payload-reference.mdx
similarity index 89%
rename from pages/lazer/payload-reference.mdx
rename to pages/price-feeds/pro/payload-reference.mdx
index d6b027e5..c9645791 100644
--- a/pages/lazer/payload-reference.mdx
+++ b/pages/price-feeds/pro/payload-reference.mdx
@@ -1,18 +1,18 @@
import { Callout, Steps } from "nextra/components";
-# Lazer Payload Reference
+# Pyth Pro Payload Reference
-This page provides a comprehensive reference for understanding Pyth Lazer payload structure, field specifications, and available data formats. This information is essential for integrating with Lazer as a consumer and understanding the data you receive.
+This page provides a comprehensive reference for understanding Pyth Pro payload structure, field specifications, and available data formats. This information is essential for integrating with Pyth Pro as a consumer and understanding the data you receive.
This reference is designed for both technical and non-technical stakeholders
- to understand Pyth Lazer's data offering. For implementation details, see our
- [integration guides](/lazer/integrate-as-consumer).
+ to understand Pyth Pro's data offering. For implementation details, see our
+ [integration guides](/price-feeds/pro/integrate-as-consumer).
-## What is a Lazer Payload?
+## What is a Pyth Pro Payload?
-A Lazer payload is a real-time data update containing financial market information with cryptographic signatures for verification. When you subscribe to Lazer price feeds, you receive `StreamUpdated` messages containing this structured data.
+A Pyth Pro payload is a real-time data update containing financial market information with cryptographic signatures for verification on blockchain. When you subscribe to Pyth Pro price feeds, you receive `StreamUpdated` messages containing this structured data.
## Stream Response Structure
@@ -24,7 +24,7 @@ A Lazer payload is a real-time data update containing financial market informati
request.
-When you receive a `StreamUpdated` message from Lazer, it contains the following structure:
+When you receive a `StreamUpdated` message from Pyth Pro, it contains the following structure:
### Top-Level Response Fields
@@ -112,7 +112,7 @@ Main aggregate price calculated from all contributing publishers
- **Type**: `optional non-zero i64` (mantissa representation)
- **Availability**: Only included if requested in subscription properties
-- **Algorithm**: Refer to [price aggregation](../../price-feeds/how-pyth-works/price-aggregation) for the current algorithm
+- **Algorithm**: Refer to [price aggregation](../../price-feeds/core/how-pyth-works/price-aggregation) for the current algorithm
- **Invariants**: Non-zero when present (null values filtered out)
@@ -146,7 +146,7 @@ Confidence interval representing price uncertainty
- **Type**: `optional i64` (mantissa representation)
- **Availability**: Only included if requested in subscription properties
-- **Algorithm**: Refer to [price aggregation](../../price-feeds/how-pyth-works/price-aggregation) for the current algorithm
+- **Algorithm**: Refer to [price aggregation](../../price-feeds/core/how-pyth-works/price-aggregation) for the current algorithm
- **Invariants**: Positive when present
- **Usage**: Risk management and price quality assessment
@@ -158,7 +158,7 @@ Highest bid price across all contributing publishers
- **Type**: `optional non-zero i64` (mantissa representation)
- **Availability**: Only included if requested in subscription properties
-- **Algorithm**: Refer to [price aggregation](../../price-feeds/how-pyth-works/price-aggregation) for the current algorithm
+- **Algorithm**: Refer to [price aggregation](../../price-feeds/core/how-pyth-works/price-aggregation) for the current algorithm
- **Invariants**: Non-zero when present, typically ≤ current price
#### Lowest Market Ask - `best_ask_price`
@@ -167,7 +167,7 @@ Lowest ask price across all contributing publishers
- **Type**: `optional non-zero i64` (mantissa representation)
- **Availability**: Only included if requested in subscription properties
-- **Algorithm**: Refer to [price aggregation](../../price-feeds/how-pyth-works/price-aggregation) for the current algorithm
+- **Algorithm**: Refer to [price aggregation](../../price-feeds/core/how-pyth-works/price-aggregation) for the current algorithm
- **Invariants**: Non-zero when present, typically ≥ current price
### Derivatives Properties (FundingRate Feed Type Only)
@@ -221,7 +221,7 @@ Based on the [API documentation](https://pyth-lazer.dourolabs.app/docs), you can
## Subscription Channels
-Lazer offers multiple delivery channels to match your latency and frequency requirements:
+Pyth Pro offers multiple delivery channels to match your latency and frequency requirements:
| Channel | Description | Use Cases |
| ------------------ | ---------------------------------------------------------------------------------------------- | ------------------------------------------- |
@@ -233,7 +233,7 @@ Lazer offers multiple delivery channels to match your latency and frequency requ
## Signature Schemes and Binary Formats
-Lazer provides multiple cryptographic formats to support different blockchain ecosystems. When you subscribe, you can request specific binary formats in the `chains` parameter:
+Pyth Pro provides multiple cryptographic formats to support different blockchain ecosystems. When you subscribe, you can request specific binary formats in the `chains` parameter:
diff --git a/pages/price-feeds/pro/price-feed-ids.mdx b/pages/price-feeds/pro/price-feed-ids.mdx
new file mode 100644
index 00000000..88adfa0e
--- /dev/null
+++ b/pages/price-feeds/pro/price-feed-ids.mdx
@@ -0,0 +1,14 @@
+import { LazerPriceIdTable } from "../../../components/LazerPriceIdTable";
+import { Callout } from "nextra/components";
+
+# Pyth Pro Price Feeds
+
+
+ Pyth Pro Price Feed IDs **are different** from Pyth Core Price Feed IDs.
+ Please refer to the [Pyth Core Price Feed IDs](/price-feeds/core/price-feeds)
+ page for Pyth Core Price Feed IDs.
+
+
+
+
+
diff --git a/pages/lazer/subscribe-price-updates.mdx b/pages/price-feeds/pro/subscribe-price-updates.mdx
similarity index 72%
rename from pages/lazer/subscribe-price-updates.mdx
rename to pages/price-feeds/pro/subscribe-price-updates.mdx
index 92a78815..b8026706 100644
--- a/pages/lazer/subscribe-price-updates.mdx
+++ b/pages/price-feeds/pro/subscribe-price-updates.mdx
@@ -1,14 +1,16 @@
import { Callout, Steps } from "nextra/components";
-# How to Subscribe to Price Updates from Pyth Lazer
+# How to Subscribe to Prices from Pyth Pro
-This guide explains how to subscribe to price updates from Pyth Lazer. This guide will also explain various properties and configuration options to customize the price updates.
+This guide explains how to subscribe to prices from Pyth Pro.
+This guide will also explain various properties and configuration options to customize the prices.
+**The return data also includes verified payloads that can be verified on the target blockchain.**
-Subscribing to price updates is a three-step process:
+Subscribing to prices is a three-step process:
1. **Acquire** an access token.
2. **Configure** subscription parameters.
-3. **Subscribe** to the price updates via [websocket API](https://pyth-lazer.dourolabs.app/docs).
+3. **Subscribe** to the prices via [websocket API](https://pyth-lazer.dourolabs.app/docs).
The websocket server is available at `wss://pyth-lazer.dourolabs.app/v1/stream{:bash}`.
@@ -22,7 +24,7 @@ Use the access token to authenticate the websocket connection by passing it as a
### 2. Configure subscription parameters
-Lazer supports several request/subscription parameters to customize the received price updates.
+Pyth Pro supports several request/subscription parameters to customize the received prices.
These parameters are configured by sending a subscription message to the webservice.
A sample request (using the Lazer SDK client -- see step 3) is shown below:
@@ -40,7 +42,7 @@ client.send({
The most significant parameters are:
- `subscriptionId` is an arbitrary numeric identifier for a subscription. It will be returned back in response by the server. It does not affect the signed payload.
-- `priceFeedIds` is the list of price feeds to receive updates for. Data for all price feeds will be present in the signed price updates generated. Refer to the [Price Feed IDs list](./price-feed-ids.mdx) for the supported price feeds.
+- `priceFeedIds` is the list of price feeds to receive price data for. It will also include the verified payloads for the price feeds. Refer to the [Price Feed IDs list](./price-feed-ids.mdx) for the supported price feeds.
- `properties` is the list of properties to retrieve, such as **price**, **bestBidPrice**, **bestAskPrice**, etc.
- `chains` is the list of chains to receive a signed payload for, such as **evm**, **solana**, etc.
- `channel` determines the update rate: updates in the **real_time** channel are sent as frequently as possible, while **fixed_rate@200ms** and **fixed_rate@50ms** channels are updated at fixed rates.
@@ -49,7 +51,7 @@ There are also a few other configuration parameters -- see the [API documentatio
Determine the most suitable values for your application -- they will be used in the next step.
-### 3. Subscribe to the price updates
+### 3. Subscribe to the prices
**Complete Payload Reference**: For understanding all fields and data types of
@@ -57,7 +59,7 @@ Determine the most suitable values for your application -- they will be used in
page.
-To subscribe to the price updates, send a request to the websocket server. The server will respond with a signed price update.
+To subscribe to the prices, send a request to the websocket server. The server will respond with a signed payload.
1. Pyth Lazer provides an [SDK](https://github.com/pyth-network/pyth-crosschain/tree/main/lazer/sdk/js) to seamlessly integrate the websocket API into your application.
Install it using the following command:
@@ -77,7 +79,7 @@ const client = await PythLazerClient.create(
);
```
-3. After the client is created, subscribe to updates (using the configuration parameters from step 2):
+3. After the client is created, subscribe to prices (using the configuration parameters from step 2):
```js copy
client.subscribe({
@@ -90,7 +92,7 @@ client.subscribe({
});
```
-4. Once the connection is established, the server will start sending the price updates to the client:
+4. Once the connection is established, the server will start sending the price and verified payloads to the client:
```js copy
client.addMessageListener((message) => {
@@ -98,7 +100,7 @@ client.addMessageListener((message) => {
});
```
-By default, price updates contain the `parsed` field that one can use to easily interpret the price update in their backend or frontend, as well as `evm` and/or `solana` fields that contain data that one should include in the on-chain transaction:
+By default, verified payloads contain the `parsed` field that one can use to easily interpret the price data in their backend or frontend, as well as `evm` and/or `solana` fields that contain data that one should include in the on-chain transaction:
```json copy
{
@@ -128,12 +130,12 @@ By default, price updates contain the `parsed` field that one can use to easily
## Additional Resources
-You may find these additional resources helpful for subscribing to price updates from Pyth Lazer.
+You may find these additional resources helpful for subscribing to prices from Pyth Pro.
### Price Feed IDs
-Pyth Lazer supports a wide range of price feeds. Consult the [Price Feed IDs](./price-feed-ids.mdx) page for a complete list of supported price feeds.
+Pyth Pro supports a wide range of price feeds. Consult the [Price Feed IDs](./price-feed-ids.mdx) page for a complete list of supported price feeds.
### Examples
-[pyth-lazer-example-js](https://github.com/pyth-network/pyth-examples/tree/main/lazer/js) is a simple example for subscribing to the Pyth Lazer websocket.
+[pyth-lazer-example-js](https://github.com/pyth-network/pyth-examples/tree/main/lazer/js) is a simple example for subscribing to the Pyth Pro websocket.
diff --git a/pages/price-feeds/pythnet-reference.mdx b/pages/price-feeds/pythnet-reference.mdx
deleted file mode 100644
index b6254d57..00000000
--- a/pages/price-feeds/pythnet-reference.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-# Pythnet Reference
-
-The documentation in this section describes the structure of Pythnet accounts and their contents:
-
-- [Account Structure](/price-feeds/pythnet-reference/account-structure.mdx) describes the accounts that exist and their high-level contents
-- [Product Metadata](/price-feeds/pythnet-reference/product-metadata.mdx) describes the metadata associated with each product account
-- [Schedule Format](/price-feeds/pythnet-reference/schedule-format.mdx) describes the `schedule` field of the product metadata
diff --git a/styles/styles.css b/styles/styles.css
index 8fac3474..3dcf7049 100644
--- a/styles/styles.css
+++ b/styles/styles.css
@@ -120,5 +120,53 @@
.response p {
@apply text-light !important;
}
+
+ /* Custom Banner Styling */
+ .nextra-banner,
+ .nextra-banner-container,
+ .nextra-banner-container > div {
+ @apply relative overflow-hidden;
+ background: #764ba2 !important;
+ }
+
+ .nextra-banner::before {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: -100%;
+ width: 100%;
+ height: 100%;
+ background: linear-gradient(
+ 90deg,
+ transparent,
+ rgba(255, 255, 255, 0.2),
+ transparent
+ );
+ animation: shimmer 3s infinite;
+ }
+
+ @keyframes shimmer {
+ 0% {
+ left: -100%;
+ }
+ 100% {
+ left: 100%;
+ }
+ }
+
+ .nextra-banner button[aria-label="Close banner"] {
+ @apply text-white/80 hover:text-white hover:bg-white/10 transition-all duration-200 rounded-md p-1;
+ }
+
+ .nextra-banner button[aria-label="Close banner"]:hover {
+ @apply scale-110;
+ }
+
+ /* Ensure banner works in both light and dark modes */
+ html[class~="dark"] .nextra-banner,
+ html[class~="dark"] .nextra-banner-container,
+ html[class~="dark"] .nextra-banner-container > div {
+ background: #764ba2 !important;
+ }
}
}
diff --git a/theme.config.tsx b/theme.config.tsx
index bfc71c89..12e435f3 100644
--- a/theme.config.tsx
+++ b/theme.config.tsx
@@ -33,6 +33,23 @@ const config: DocsThemeConfig = {
content: null,
},
navigation: false,
+ banner: {
+ key: "pyth-pro-banner",
+ dismissible: true,
+ text: (
+
+ ⚡
+
+ Trade in real time: Pyth Pro introduces 1 ms updates
+
+ →
+
+ ),
+ },
useNextSeoProps() {
return {
titleTemplate: "%s – Pyth Network Documentation",