This service allows the consumers to fetch price updates.
The streaming WebSocket endpoint (/v1/stream
) requires authentication. The client may use either of the following methods to specify their access token:
Authorization
header of the request to Bearer <token>
.?ACCESS_TOKEN=<token>
to the request URL.Send a request to the server.
The schema of the Request
message provided below lists the available request types.
Available only on servers:
Accepts the following message:
Subscribe to price updates.
After a successful subscription, the server will respond with a Subscribed
message, followed by StreamUpdated
messages. If a subscription cannot be made, the server will respond with a SubscriptionError
message containing the error message.
Identifier assigned to this subscription by the sender. This identifier will be sent back in any responses related to this subscription.
List of price feed IDs to subscribe to.
List of price feed properties the sender is interested in.
Channel to subscribe to. In the real time channel, the server will send any price updates as soon as they are available. In fixed rate channels, the updates will be sent every 1, 50, or 200 ms, respectively.
List of the chains. As part of each price update, the server will send on-chain payloads required to validate these price updates on the specified chains.
If true, the price updates will include a JSON representation of the contained values.
If true, the subscription will ignore invalid feed IDs and subscribe to any valid feeds. Otherwise, the entire subscription will fail if any feed is invalid.
If json
is selected, the server will send price updates as JSON objects (the on-chain payload will be encoded according to the jsonBinaryEncoding
property). If binary
is selected, the server will send price updates as binary messages.
For deliveryFormat == "json"
, the on-chain payload will be encoded using the specified encoding. This option has no effect for deliveryFormat == "binary"
.
Additional properties are NOT allowed.
Unsubscribe from price updates.
After a successful unsubscription, the server will respond with a Unsubscribed
message and stop sending StreamUpdated
messages for that subscription. If the unsubscription cannot be made, the server will respond with a SubscriptionError
message containing the error message.
The value specified in the corresponding SubscribeRequest
.
Additional properties are NOT allowed.
Additional properties are NOT allowed.
{
"type": "subscribe",
"subscriptionId": 1,
"priceFeedIds": [
1,
2
],
"properties": [
"price"
],
"chains": [
"solana"
],
"deliveryFormat": "json",
"channel": "fixed_rate@200ms",
"jsonBinaryEncoding": "hex"
}
Receive a response from the server.
The schema of the Response
message provided below lists the available response types.
Available only on servers:
Accepts the following message:
Notification of a successful subscription.
The value specified in the corresponding SubscribeRequest
.
Additional properties are allowed.
Notification of a successful unsubscription.
The value specified in the corresponding SubscribeRequest
.
Additional properties are allowed.
Notification of a price update.
The value specified in the corresponding SubscribeRequest
.
Parsed representation of the price update. Only present if parsed == true
was set in the SubscriptionRequest
.
Unix timestamp associated with the update (with microsecond precision).
Values of the price update.
Price feed ID.
Main price for this price feed. Only present if the price
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Best bid price for this price feed. Only present if the bestBidPrice
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Best ask price for this price feed. Only present if the bestAskPrice
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Number of publishers contributing to this price feed. Only present if the publisherCount
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Exponent for this price feed. Only present if the exponent
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Confidence for this price feed. Only present if the confidence
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Perpetual future funding rate for this price feed. Only present if the fundingRate
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Most recent perpetual future funding rate timestamp for this price feed. Only present if the fundingTimestamp
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Additional properties are allowed.
Additional properties are allowed.
On-chain payload for EVM. Only present if evm
chain was specified in the SubscriptionRequest
.
Encoding of the data. It will be the same as jsonBinaryEncoding
specified in the SubscriptionRequest
.
Base64- or Hex-encoded on-chain update.
Additional properties are allowed.
On-chain payload for Solana. Only present if solana
chain was specified in the SubscriptionRequest
.
Encoding of the data. It will be the same as jsonBinaryEncoding
specified in the SubscriptionRequest
.
Base64- or Hex-encoded on-chain update.
Additional properties are allowed.
On-chain payload for little-endian ECDSA. Only present if leEcdsa
chain was specified in the SubscriptionRequest
.
Encoding of the data. It will be the same as jsonBinaryEncoding
specified in the SubscriptionRequest
.
Base64- or Hex-encoded on-chain update.
Additional properties are allowed.
Little-endian unsigned payload suitable for off-chain usage. Only present if leUnsigned
chain was specified in the SubscriptionRequest
.
Encoding of the data. It will be the same as jsonBinaryEncoding
specified in the SubscriptionRequest
.
Base64- or Hex-encoded on-chain update.
Additional properties are allowed.
Additional properties are allowed.
Notification of a failed subscription or unsubscription.
The value specified in the corresponding SubscribeRequest
.
The error message.
Additional properties are allowed.
Notification of a general error.
The error message.
Additional properties are allowed.
Additional properties are allowed.
{
"type": "subscribed",
"subscriptionId": 0
}
Subscribe to price updates.
After a successful subscription, the server will respond with a Subscribed
message, followed by StreamUpdated
messages. If a subscription cannot be made, the server will respond with a SubscriptionError
message containing the error message.
Identifier assigned to this subscription by the sender. This identifier will be sent back in any responses related to this subscription.
List of price feed IDs to subscribe to.
List of price feed properties the sender is interested in.
Channel to subscribe to. In the real time channel, the server will send any price updates as soon as they are available. In fixed rate channels, the updates will be sent every 1, 50, or 200 ms, respectively.
List of the chains. As part of each price update, the server will send on-chain payloads required to validate these price updates on the specified chains.
If true, the price updates will include a JSON representation of the contained values.
If true, the subscription will ignore invalid feed IDs and subscribe to any valid feeds. Otherwise, the entire subscription will fail if any feed is invalid.
If json
is selected, the server will send price updates as JSON objects (the on-chain payload will be encoded according to the jsonBinaryEncoding
property). If binary
is selected, the server will send price updates as binary messages.
For deliveryFormat == "json"
, the on-chain payload will be encoded using the specified encoding. This option has no effect for deliveryFormat == "binary"
.
Additional properties are NOT allowed.
Unsubscribe from price updates.
After a successful unsubscription, the server will respond with a Unsubscribed
message and stop sending StreamUpdated
messages for that subscription. If the unsubscription cannot be made, the server will respond with a SubscriptionError
message containing the error message.
The value specified in the corresponding SubscribeRequest
.
Additional properties are NOT allowed.
Additional properties are NOT allowed.
Subscribe to price updates.
After a successful subscription, the server will respond with a Subscribed
message, followed by StreamUpdated
messages. If a subscription cannot be made, the server will respond with a SubscriptionError
message containing the error message.
Identifier assigned to this subscription by the sender. This identifier will be sent back in any responses related to this subscription.
List of price feed IDs to subscribe to.
List of price feed properties the sender is interested in.
Channel to subscribe to. In the real time channel, the server will send any price updates as soon as they are available. In fixed rate channels, the updates will be sent every 1, 50, or 200 ms, respectively.
List of the chains. As part of each price update, the server will send on-chain payloads required to validate these price updates on the specified chains.
If true, the price updates will include a JSON representation of the contained values.
If true, the subscription will ignore invalid feed IDs and subscribe to any valid feeds. Otherwise, the entire subscription will fail if any feed is invalid.
If json
is selected, the server will send price updates as JSON objects (the on-chain payload will be encoded according to the jsonBinaryEncoding
property). If binary
is selected, the server will send price updates as binary messages.
For deliveryFormat == "json"
, the on-chain payload will be encoded using the specified encoding. This option has no effect for deliveryFormat == "binary"
.
Additional properties are NOT allowed.
Unsubscribe from price updates.
After a successful unsubscription, the server will respond with a Unsubscribed
message and stop sending StreamUpdated
messages for that subscription. If the unsubscription cannot be made, the server will respond with a SubscriptionError
message containing the error message.
The value specified in the corresponding SubscribeRequest
.
Additional properties are NOT allowed.
Notification of a successful subscription.
The value specified in the corresponding SubscribeRequest
.
Additional properties are allowed.
Notification of a successful unsubscription.
The value specified in the corresponding SubscribeRequest
.
Additional properties are allowed.
Notification of a price update.
The value specified in the corresponding SubscribeRequest
.
Parsed representation of the price update. Only present if parsed == true
was set in the SubscriptionRequest
.
Unix timestamp associated with the update (with microsecond precision).
Values of the price update.
Price feed ID.
Main price for this price feed. Only present if the price
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Best bid price for this price feed. Only present if the bestBidPrice
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Best ask price for this price feed. Only present if the bestAskPrice
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Number of publishers contributing to this price feed. Only present if the publisherCount
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Exponent for this price feed. Only present if the exponent
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Confidence for this price feed. Only present if the confidence
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Perpetual future funding rate for this price feed. Only present if the fundingRate
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Most recent perpetual future funding rate timestamp for this price feed. Only present if the fundingTimestamp
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Additional properties are allowed.
Additional properties are allowed.
On-chain payload for EVM. Only present if evm
chain was specified in the SubscriptionRequest
.
Encoding of the data. It will be the same as jsonBinaryEncoding
specified in the SubscriptionRequest
.
Base64- or Hex-encoded on-chain update.
Additional properties are allowed.
On-chain payload for Solana. Only present if solana
chain was specified in the SubscriptionRequest
.
Encoding of the data. It will be the same as jsonBinaryEncoding
specified in the SubscriptionRequest
.
Base64- or Hex-encoded on-chain update.
Additional properties are allowed.
On-chain payload for little-endian ECDSA. Only present if leEcdsa
chain was specified in the SubscriptionRequest
.
Encoding of the data. It will be the same as jsonBinaryEncoding
specified in the SubscriptionRequest
.
Base64- or Hex-encoded on-chain update.
Additional properties are allowed.
Little-endian unsigned payload suitable for off-chain usage. Only present if leUnsigned
chain was specified in the SubscriptionRequest
.
Encoding of the data. It will be the same as jsonBinaryEncoding
specified in the SubscriptionRequest
.
Base64- or Hex-encoded on-chain update.
Additional properties are allowed.
Additional properties are allowed.
Notification of a failed subscription or unsubscription.
The value specified in the corresponding SubscribeRequest
.
The error message.
Additional properties are allowed.
Notification of a general error.
The error message.
Additional properties are allowed.
Additional properties are allowed.
Notification of a successful subscription.
The value specified in the corresponding SubscribeRequest
.
Additional properties are allowed.
Notification of a successful subscription which ignores invalid feed ids.
The value specified in the corresponding SubscribeRequest
.
IDs of successfully subscribed price feeds.
Map of failed feed IDs categorized by failure reason.
List of price feed IDs that could not be found.
List of price feed IDs with their unsupported channels.
List of price feed IDs with their unstable states.
Additional properties are allowed.
Additional properties are allowed.
Notification of a successful unsubscription.
The value specified in the corresponding SubscribeRequest
.
Additional properties are allowed.
Notification of a price update.
The value specified in the corresponding SubscribeRequest
.
Parsed representation of the price update. Only present if parsed == true
was set in the SubscriptionRequest
.
Unix timestamp associated with the update (with microsecond precision).
Values of the price update.
Price feed ID.
Main price for this price feed. Only present if the price
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Best bid price for this price feed. Only present if the bestBidPrice
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Best ask price for this price feed. Only present if the bestAskPrice
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Number of publishers contributing to this price feed. Only present if the publisherCount
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Exponent for this price feed. Only present if the exponent
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Confidence for this price feed. Only present if the confidence
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Perpetual future funding rate for this price feed. Only present if the fundingRate
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Most recent perpetual future funding rate timestamp for this price feed. Only present if the fundingTimestamp
property was specified in the SubscriptionRequest
and if the value is currently available for this price feed.
Additional properties are allowed.
Additional properties are allowed.
On-chain payload for EVM. Only present if evm
chain was specified in the SubscriptionRequest
.
Encoding of the data. It will be the same as jsonBinaryEncoding
specified in the SubscriptionRequest
.
Base64- or Hex-encoded on-chain update.
Additional properties are allowed.
On-chain payload for Solana. Only present if solana
chain was specified in the SubscriptionRequest
.
Encoding of the data. It will be the same as jsonBinaryEncoding
specified in the SubscriptionRequest
.
Base64- or Hex-encoded on-chain update.
Additional properties are allowed.
On-chain payload for little-endian ECDSA. Only present if leEcdsa
chain was specified in the SubscriptionRequest
.
Encoding of the data. It will be the same as jsonBinaryEncoding
specified in the SubscriptionRequest
.
Base64- or Hex-encoded on-chain update.
Additional properties are allowed.
Little-endian unsigned payload suitable for off-chain usage. Only present if leUnsigned
chain was specified in the SubscriptionRequest
.
Encoding of the data. It will be the same as jsonBinaryEncoding
specified in the SubscriptionRequest
.
Base64- or Hex-encoded on-chain update.
Additional properties are allowed.
Additional properties are allowed.
Notification of a failed subscription or unsubscription.
The value specified in the corresponding SubscribeRequest
.
The error message.
Additional properties are allowed.
Notification of a general error.
The error message.
Additional properties are allowed.