Streams Direct WebSocket

Domains

DescriptionTestnet URLMainnet URL
WebSocket endpoint to subscribe to price updateswss://ws.testnet-dataengine.chain.linkwss://ws.dataengine.chain.link

Authentication

Headers

All routes require the following three headers for user authentication:

HeaderDescription
AuthorizationThe user’s unique identifier, provided as a UUID (Universally Unique IDentifier).
X-Authorization-TimestampThe current timestamp, with precision up to milliseconds. The timestamp must closely synchronize with the server time, allowing a maximum discrepancy of 5 seconds (by default).
X-Authorization-Signature-SHA256The HMAC (Hash-based Message Authentication Code) signature, generated by hashing parts of the request and its metadata using SHA-256 with a shared secret key.

WebSocket Connection

Establish a streaming WebSocket connection that sends reports for the given stream ID(s) after they are verified.

Endpoint

/api/v1/ws

TypeParameter(s)
WebSocketfeedIDs: A comma-separated list of Data Streams stream IDs.
Sample request
GET /api/v1/ws?feedIDs=<feedID1>,<feedID2>,...
Sample response
{
  "report": {
    "feedID": "hex encoded feedId",
    "fullReport": "a blob containing the report context + body, can be passed unmodified to the contract for verification"
  }
}

Error response codes

Status CodeDescription
400 Bad RequestThis error is triggered when:
  • There is any missing/malformed query argument.
  • Required headers are missing or provided with incorrect values.
401 Unauthorized UserThis error is triggered when:
  • Authentication fails, typically because the HMAC signature provided by the client doesn't match the one expected by the server.
  • A user requests access to a stream without the appropriate permission or that does not exist.
500 Internal ServerIndicates an unexpected condition encountered by the server, preventing it from fulfilling the request. This error typically points to issues on the server side.

Get the latest Chainlink content straight to your inbox.