Subscription Instructions
Web3 Balances Payload Details
Example Code & Balances Message
const WebSocket = require('ws')
const ws = new WebSocket('wss://ws.sfox.com/ws')
ws.on('open', function() {
const authMessage = {
type: 'authenticate',
apiKey: '<API_KEY>'
}
ws.send(JSON.stringify(authMessage))
})
// After successful authentication, subscribe to balances feed
const subscribeMsg = {
type: 'subscribe',
feeds: ['private.user.balances']
}
ws.send(JSON.stringify(subscribeMsg))
import asyncio
import json
import websockets
async def main(uri):
async with websockets.connect(uri) as ws:
await ws.send(json.dumps({
"type": "authenticate",
"apiKey": "<API_KEY>"
}))
# After successful authentication message
await ws.send(json.dumps({
"type": "subscribe",
"feeds": ["private.user.balances"]
}))
async for msg in ws:
print(msg)
asyncio.run(main("wss://ws.sfox.com/ws"))
{
"sequence": 10,
"recipient": "private.user.balances",
"timestamp": 1649899310281716289,
"payload": [{
"currency": "btc",
"balance": "0.17572419",
"available": "0.17572419",
"held": "0",
"trading_wallet": "0.17572419",
"collateral_wallet": "0",
"borrow_wallet": "0",
"lending_wallet": "0"
}, {
"currency": "usd",
"balance": "100",
"available": "100",
"held": "0",
"trading_wallet": "100",
"collateral_wallet": "0",
"borrow_wallet": "0",
"lending_wallet": "0"
}]
}
{
"sequence": 11,
"recipient": "private.user.balances",
"timestamp": 1649899310281716289,
"payload": {
"address": "0x0bCdB57ae247F434C91b1d4521fFd6601f7e8999",
"balance": "250.5",
"currency": "USDC",
"network": "Ethereum",
"type": "web3"
}
}