Connect to the WebSocket Market Data Feed
Use the command line to open a WebSocket connection to the Sandbox BTC Market Data Feed.
See the WebSocket API reference for more details.
➊ Install WebSocket Client
The quickest way to open a connection is by using wscat, which runs in the terminal. Using the Python websocket-client package requires a bit of code and the Python shell.
- SHELL
- PYTHON
Open the terminal and install wscat using the -g
(global) flag.
npm install -g wscat
Ensure wscat is working. If you see the version number, the module is working:
wscat --version
Open the terminal and install the Python3 websocket-client library.
pip3 install websocket-client
Start the Python3 shell and check that websocket-client was installed correctly.
If you don't see a ModuleNotFoundError
message, the library is installed.
python3
...
>>> import websocket
>>>
Leave the terminal window open.
➋ Connect to Sandbox Feed
Open a long-lived connection to the Sandbox BTC Market Data Feed.
- SHELL
- PYTHON
wscat --connect wss://ws.sandbox.paxos.com/marketdata/BTCUSD
>>> import websocket # From the previous step
>>> def on_message(wsapp, message):
... print(message)
...
>>> wsapp = websocket.WebSocketApp("wss://ws.sandbox.paxos.com/marketdata/BTCUSD", on_message=on_message)
>>> wsapp.run_forever() # Press CTRL+C to quit
➌ Review Sandbox Feed
If everything worked, you see the initial SNAPSHOT
and then an UPDATE
stream in the terminal.
- SHELL
- PYTHON
Connected (press CTRL+C to quit)
< {
"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"
}
...
{
"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"
}
...