You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`timestampUs`|`string`| Unix timestamp in microseconds when the data was generated |
40
48
|`priceFeeds`|`Array<PriceFeed>`| Array of price feed data objects |
41
49
42
-
## How Does a Price Feed Look?
50
+
## What does a price feed update look like?
43
51
44
52
Each price feed in the `priceFeeds` array represents real-time market data for a specific trading pair (e.g., BTC/USD, ETH/USD). Think of a price feed as a comprehensive snapshot of market conditions for that asset.
45
53
46
-
Here's what a typical price feed looks like in a Lazer response:
54
+
Here's what a typical StreamUpdated response that contains a PriceFeed looks like::
47
55
48
56
```json
49
57
{
@@ -60,6 +68,15 @@ Here's what a typical price feed looks like in a Lazer response:
60
68
"publisherCount": 9,
61
69
"exponent": -8,
62
70
"confidence": 1373488286
71
+
},
72
+
{
73
+
"priceFeedId": 2,
74
+
"price": "448480908040",
75
+
"bestBidPrice": "448475995765",
76
+
"bestAskPrice": "448508987987",
77
+
"publisherCount": 12,
78
+
"exponent": -8,
79
+
"confidence": 106965585
63
80
}
64
81
]
65
82
},
@@ -71,9 +88,10 @@ Here's what a typical price feed looks like in a Lazer response:
71
88
```
72
89
73
90
<Callouttype="warning">
74
-
**Important**: Price values are in mantissa format. To get the actual price,
75
-
use: `actual_price = mantissa × 10^exponent`. For example: `1006900000000 ×
76
-
10^(-8) = $10,069.00`
91
+
**Important**: The price is stored in two parts: an integer mantissa value
92
+
(the price field) and a power-of-ten exponent. The actual decimal
93
+
representation of the price is given by: `decimal_price = price ×
94
+
10^exponent`. For example: `1006900000000 × 10^(-8) = $10,069.00`
77
95
</Callout>
78
96
79
97
## Property Specifications
@@ -193,21 +211,17 @@ Based on the [API documentation](https://pyth-lazer.dourolabs.app/docs), you can
193
211
-`fundingTimestamp` - Most recent funding rate timestamp
194
212
-`fundingRateInterval` - Duration between funding updates
195
213
196
-
<Callouttype="info">
197
-
**Subscription Flexibility**: You only receive the properties you request in
198
-
your subscription, optimizing bandwidth and processing.
199
-
</Callout>
200
-
201
214
## Subscription Channels
202
215
203
216
Lazer offers multiple delivery channels to match your latency and frequency requirements:
|`real_time`| Updates sent immediately when new price is available (no faster than 1ms, no slower than 50ms) | High-frequency trading, real-time analytics |
221
+
|`fixed_rate@1ms`| Updates every 1 millisecond | Ultra-low latency applications |
222
+
|`fixed_rate@50ms`| Updates every 50 milliseconds | Low-latency trading systems |
223
+
|`fixed_rate@200ms`| Updates every 200 milliseconds | Standard trading applications |
224
+
|`fixed_rate@1s`| Updates every 1 second | General applications, dashboards |
211
225
212
226
## Signature Schemes and Binary Formats
213
227
@@ -257,6 +271,10 @@ Lazer provides multiple cryptographic formats to support different blockchain ec
257
271
</div>
258
272
259
273
<Callouttype="info">
260
-
**How to Choose**: Use `evm` for Ethereum-compatible chains, `solana` for
261
-
Solana, `leEcdsa` for custom implementations, and `leUnsigned` for off-chain.
274
+
**How to Choose**: Select the optimal signing algorithm for your use case.
275
+
These formats are not blockchain-specific - for example, the `solana` format
276
+
(Ed25519) has been used on non-SVM blockchains when Ed25519 was the most
277
+
efficient algorithm for that specific chain. Choose `evm` for secp256k1 ECDSA,
278
+
`solana` for Ed25519, `leEcdsa` for little-endian secp256k1, and `leUnsigned`
0 commit comments