Websocket
Stream real-time trading signals as they are generated by Guardis. Signals are dispatched immediately upon detection, giving you the fastest possible access to actionable opportunities.
Endpoint
wss://enterprise.guardis.io/v1/signals/wsAuthentication
Include your API key as a query parameter when connecting.
wss://enterprise.guardis.io/v1/signals/ws?api_key=your_api_key_hereQuery Parameters
api_key
string
Yes
Your Guardis API key
model_name
string
No
Filter signals by model name. If omitted, signals from all models are streamed
Example connection with filter:
wss://enterprise.guardis.io/v1/signals/ws?api_key=your_api_key_here&model_name=influx_high_on_dipResponse Format
Each message contains a single signal object dispatched the moment it's detected:
{
"row_id": 284,
"token_address": "5GTRGGnmbMCjCUnc3xMweCgVqDEtSDxTdvVdwutcpump",
"pair_address": "GRQB4P9MmorUwut8kb43RyHKJWo3Ce1EAvENPmNUbAhN",
"image": "https://static.guardis.dev/5GTRGGnmbMCjCUnc3xMweCgVqDEtSDxTdvVdwutcpump.png",
"name": "predictionXBT",
"symbol": "PREDICT",
"signal_market_cap": "27257.412229931748286176100000",
"liquidity_usd": "17477.80574674832758436675120",
"ath_market_cap_usd": "73825.3034958005000000000",
"roi_percentage": "170.84487284795104068293606087",
"max_drawdown_percentage": "1.391816058888317383346729900",
"max_drawdown_market_cap": "26878.03918927817000000000",
"version": 2,
"model_name": "influx_high_on_dip",
"created_at": "2025-12-07T07:11:03"
}Field Reference
Signal
row_id
integer
Unique identifier for this signal
token_address
string
The mint address of the token
pair_address
string
The on-chain address of the liquidity pool
image
string
URL to the token image
name
string
Token name
symbol
string
Token ticker symbol
signal_market_cap
string
Market cap at the time of signal generation (USD)
liquidity_usd
string
Pool liquidity at signal time (USD)
ath_market_cap_usd
string
All-time high market cap achieved after signal (USD)
roi_percentage
string
Maximum ROI percentage from signal to ATH
max_drawdown_percentage
string
Maximum drawdown percentage before reaching ATH
max_drawdown_market_cap
string
Market cap at the point of maximum drawdown (USD)
version
integer
Signal model version
model_name
string
Name of the model that generated this signal
created_at
string
ISO 8601 timestamp when the signal was generated
Note: Decimal values are returned as strings to preserve precision.
Example Usage
JavaScript:
const socket = new WebSocket(
"wss://enterprise.guardis.io/v1/signals/ws?api_key=your_api_key_here"
);
socket.onopen = () => {
console.log("Connected to signals stream");
};
socket.onmessage = (event) => {
const signal = JSON.parse(event.data);
console.log(`🚀 New Signal: ${signal.name} (${signal.symbol})`);
console.log(` Token: ${signal.token_address}`);
console.log(` Market Cap: $${parseFloat(signal.signal_market_cap).toLocaleString()}`);
console.log(` Model: ${signal.model_name}`);
console.log(` Historical ROI: ${parseFloat(signal.roi_percentage).toFixed(2)}%`);
// Execute your trading logic here
};
socket.onerror = (error) => {
console.error("WebSocket error:", error);
};
socket.onclose = () => {
console.log("Connection closed");
};Python:
import asyncio
import websockets
import json
async def stream_signals():
uri = "wss://enterprise.guardis.io/v1/signals/ws?api_key=your_api_key_here"
async with websockets.connect(uri) as socket:
print("Connected to signals stream")
async for message in socket:
signal = json.loads(message)
print(f"🚀 New Signal: {signal['name']} ({signal['symbol']})")
print(f" Token: {signal['token_address']}")
print(f" Market Cap: ${float(signal['signal_market_cap']):,.2f}")
print(f" Model: {signal['model_name']}")
print(f" Historical ROI: {float(signal['roi_percentage']):.2f}%")
# Execute your trading logic here
asyncio.run(stream_signals())Connection Best Practices
Act quickly — Signals are time-sensitive; process them immediately upon receipt
Implement reconnection logic — Network interruptions happen; automatically reconnect with exponential backoff
Handle heartbeats — Keep your connection alive by responding to ping frames if required by your WebSocket client
Log signals — Maintain a local record of received signals for analysis and debugging
Last updated
