WebSocket
Last updated
{
"type": "signal.new",
"data": { ... },
"timestamp": "2026-03-28T21:35:00Z"
}{
"type": "signal.new",
"data": {
"signal": "SELL",
"confidence": 0.615,
"direction": "DOWN",
"btcPrice": 66027,
"regime": "BEAR_TREND",
"horizon": "7d"
},
"timestamp": "2026-03-28T21:35:00Z"
}{
"type": "signal.resolved",
"data": {
"date": "2026-03-21",
"direction": "UP",
"outcome": "WIN",
"btcAtSignal": 64500,
"btcAtResolution": 67200
},
"timestamp": "2026-03-28T14:15:00Z"
}{
"type": "wager.placed",
"data": {
"market": "Will BTC be above $66,000 on April 4?",
"side": "NO",
"amount": 1.0,
"odds": 0.42
},
"timestamp": "2026-03-28T21:42:00Z"
}{
"type": "regime.changed",
"data": {
"from": "CHOP",
"to": "BEAR_TREND",
"timestamp": "2026-03-28T21:35:00Z"
},
"timestamp": "2026-03-28T21:35:00Z"
}const ws = new WebSocket("wss://bv7x.ai/ws/signal?token=eyJhbGci...");
ws.onopen = () => {
console.log("Connected to BV-7X signal feed");
};
ws.onmessage = (event) => {
const msg = JSON.parse(event.data);
switch (msg.type) {
case "signal.new":
console.log(`New signal: ${msg.data.signal} (${msg.data.confidence})`);
break;
case "signal.resolved":
console.log(`Resolved: ${msg.data.date} -> ${msg.data.outcome}`);
break;
case "regime.changed":
console.log(`Regime: ${msg.data.from} -> ${msg.data.to}`);
break;
}
};
ws.onclose = () => {
console.log("Disconnected -- reconnect after a short delay");
};