import { Centrifuge } from "centrifuge";
const RELAYER_URL = "https://api.sx.bet"; // Mainnet — use https://api.toronto.sx.bet for testnet
const WS_URL = "wss://realtime.sx.bet/connection/websocket"; // Mainnet — use wss://realtime.toronto.sx.bet/connection/websocket for testnet
async function fetchCentrifugoToken(apiKey) {
const res = await fetch(`${RELAYER_URL}/user/realtime-token/api-key`, {
headers: { "x-api-key": apiKey },
});
if (!res.ok) {
const body = await res.text();
throw new Error(`Token endpoint returned ${res.status}: ${body}`);
}
const { token } = await res.json();
return token;
}
const client = new Centrifuge(WS_URL, {
getToken: () => fetchCentrifugoToken(YOUR_API_KEY),
});
client.connect();