WebSockets API
This reference documents the Paxos WebSocket API.
The Market Data Feed streams event-driven updates for the entire order book or for a single market. The Execution Data Feed streams event information for all markets or for a single market.
⚙️ Follow the quickstart for a hands-on introduction.
Market Data Feed
Once a secure (wss://
) connection is established, the initial response message shows the state of the order book, including both bids and asks, in the SNAPSHOT
.
Prices are in descending order for bids and ascending order for asks.
When streaming data for all markets, differentiate the per-market updates using the market
field.
Market Data Request
- Production:
wss://ws.paxos.com/marketdata
- Sandbox:
wss://ws.sandbox.paxos.com/marketdata
Market Data Path Parameter
- Production:
wss://ws.paxos.com/marketdata/{market}
- Sandbox:
wss://ws.sandbox.paxos.com/marketdata/{market}
Parameter | Required | Description |
---|---|---|
market | No | Filter the data stream for a single market. For example, BTCUSD or another market from available markets. |
Market Data Initial Response
Parameter | Required | Description |
---|---|---|
type | Yes | The initial value of SNAPSHOT shows the state of the order book for both bids and asks . Subsequent messages show all executed trades, and other order book changes, in the UPDATE stream. |
market | Yes | One of the available markets or a single market if the market path parameter is specified. |
bids | Yes | Includes bids.price in descending order and bids.amount . Each price -amount pair represents a level of the book. |
asks | Yes | Includes asks.price in ascending order and asks.amount . Each price -amount pair represents a level of the book. |
final_snapshot | Yes | Demarcates the end of the initial SNAPSHOT . Initial value always true . Subsequent messages in UPDATE format. |
Market Data Update Response
When processing UPDATE
messages observe the following rules:
- If
side=BUY
andamount=0
, remove the existing entry with priceprice
from the bids list. - If
side=BUY
and an entry with priceprice
already exists in thebids
list, update the amount for the given entry in thebids
list toamount
. - If
side=BUY
and no entry with priceprice
exists in thebids
list, add an entry with priceprice
and amountamount
tobids
list. - If
side=SELL
, apply the logic used as forBUY
to theasks
list.
Parameter | Required | Description |
---|---|---|
type | Yes | Value always UPDATE . Show all executed trades, and other order book changes, in the data stream. |
market | Yes | One of the available markets or the single market if the market path parameter is specified. |
side | Yes | Value either BUY or SELL . Specifies the activity type. |
price | Yes | The current price. |
amount | Yes | The current amount. |
Market Data Example Response
Request URL: wss://ws.sandbox.paxos.com/marketdata/BTCUSD
{
"type": "SNAPSHOT",
"market": "BTCUSD",
"bids": [
{
"price": "19994.25",
"amount": "0.7755"
},
{
"price": "19993.75",
"amount": "0.83676985"
},
...
],
"asks": [
{
"price": "19994.5",
"amount": "0.97548541"
},
{
"price": "19996",
"amount": "1.135"
},
...
],
"final_snapshot": true
}
{
"type": "UPDATE",
"market": "BTCUSD",
"side": "BUY",
"price": "19958.5",
"amount": "0.62649999"
}
{
"type": "UPDATE",
"market": "BTCUSD",
"side": "SELL",
"price": "20115.25",
"amount": "0"
}
...
Execution Data Feed
Upon secure (wss://
) connection, you will start to receive messages for each market execution (based on the use of the market parameter).
The first message corresponds to the last execution for the market at the point of the connection.
After that, each new message represents a new execution.
If there are no executions for longer periods of time for a particular market upon connection you may not receive any message until a new execution is made.
Upon reconnection you will receive the last execution for the market, in which case clients should handle duplicate messages. You may use a match number as an idempotent field.
Execution Data Request
- Production:
wss://ws.paxos.com/executiondata
- Sandbox:
wss://ws.sandbox.paxos.com/executiondata
Execution Data Path Parameter
- Production:
wss://ws.paxos.com/executiondata/{market}
- Sandbox:
wss://ws.sandbox.paxos.com/executiondata/{market}
Parameter | Required | Description |
---|---|---|
market | No | Filter the data stream for a single market. For example, BTCUSD or another market from available markets. |
Execution Data Response
Parameter | Required | Description |
---|---|---|
market | Yes | One of the available markets or the single market if the market path parameter is specified. |
price | Yes | The execution price. |
amount | Yes | The execution amount. |
executed_at | Yes | Timestamp of the execution. |
match_number | Yes | Unique execution number. |
Execution Data Example Response
Request URL: wss://ws.sandbox.paxos.com/executiondata/BTCUSD
{
"market": "BTCUSD",
"price": "24228.75",
"amount": "0.00000412",
"executed_at": "2023-03-13T18:46:53.386Z",
"match_number": "6AJVAX7BTCH8"
}
...
✉️ Question? Contact us:
Crypto Brokerage Support | Commodities Settlement Support | Help Desk📃 Check out our Changelog.