Overview
| Symbol | Bid | Ask | Last | Ticks | Avg Latency | Last Update | Status |
|---|
Enter comma-separated symbols to add to the live stream.
Enter comma-separated symbols to unsubscribe from the stream.
Reconnects to Infoway without restarting the server. All subscriptions are preserved.
Issue dedicated API keys for internal projects (TradeJaguar, PerfectTrade, etc.) or external servers. All clients share the Hub's single upstream Infoway connection with zero rate limits and sub-millisecond local fanout.
wss://infodata.uptrender.in/ws/stream?apiKey=<API_KEY>
ws://127.0.0.1:7890/ws/stream?apiKey=<API_KEY>
URL query parameter ?apiKey=ihub_live_... OR HTTP Header x-api-key: ihub_live_...
| Client / Project | API Key | Secret | Status | Active Sockets | Ticks Delivered | Allowed IPs | Created | Actions |
|---|---|---|---|---|---|---|---|---|
| Loading client keys… | ||||||||
Integration & Setup Guide
Connect any programming language or project to the Infoway Stream Hub WebSocket Gateway using standard WebSockets.
Zero rate-limit risk. Hub maintains the only connection to Infoway.
Enriches raw prices with Forex/Gold bid, ask & spread calculations.
TradeJaguar, PerfectTrade, custom VPS bots & external algorithms.
const WebSocket = require('ws');
const API_KEY = 'YOUR_API_KEY'; // Generated from API Clients tab
const WS_URL = `wss://infodata.uptrender.in/ws/stream?apiKey=${API_KEY}`;
// For local VPS processes use: ws://127.0.0.1:7890/ws/stream?apiKey=${API_KEY}
function connect() {
const ws = new WebSocket(WS_URL);
ws.on('open', () => {
console.log('[Hub] Connected to Stream Hub Gateway');
// Subscribe to symbols (or use action: 'subscribe_all')
ws.send(JSON.stringify({
action: 'subscribe',
symbols: ['EURUSD', 'GBPUSD', 'USDJPY', 'XAUUSD', 'BTCUSD']
}));
});
ws.on('message', (raw) => {
const msg = JSON.parse(raw.toString());
if (msg.type === 'PRICE_UPDATE') {
const { symbol, data } = msg;
console.log(`[${symbol}] Bid: ${data.bid} | Ask: ${data.ask} | Last: ${data.last} | Spread: ${data.spread}`);
}
});
ws.on('close', () => {
console.warn('[Hub] Disconnected — reconnecting in 2s...');
setTimeout(connect, 2000);
});
ws.on('error', (err) => {
console.error('[Hub] Socket error:', err.message);
});
}
connect();
import asyncio
import websockets
import json
API_KEY = "YOUR_API_KEY" # Generated from API Clients tab
WS_URL = f"wss://infodata.uptrender.in/ws/stream?apiKey={API_KEY}"
async def stream_prices():
while True:
try:
async with websockets.connect(WS_URL) as ws:
print("[Hub] Connected to Stream Hub Gateway")
# Subscribe to symbols
sub_msg = {
"action": "subscribe",
"symbols": ["EURUSD", "GBPUSD", "XAUUSD", "BTCUSD"]
}
await ws.send(json.dumps(sub_msg))
async for message in ws:
tick = json.loads(message)
if tick.get("type") == "PRICE_UPDATE":
sym = tick.get("symbol")
data = tick.get("data", {})
print(f"[{sym}] Bid: {data.get('bid')} | Ask: {data.get('ask')} | Last: {data.get('last')}")
except Exception as e:
print(f"[Hub] Disconnected ({e}), reconnecting in 2s...")
await asyncio.sleep(2)
if __name__ == "__main__":
asyncio.run(stream_prices())
<script>
const API_KEY = 'YOUR_API_KEY';
const ws = new WebSocket(`wss://infodata.uptrender.in/ws/stream?apiKey=${API_KEY}`);
ws.onopen = () => {
console.log('Connected to Stream Hub');
ws.send(JSON.stringify({
action: 'subscribe',
symbols: ['EURUSD', 'XAUUSD']
}));
};
ws.onmessage = (event) => {
const msg = JSON.parse(event.data);
if (msg.type === 'PRICE_UPDATE') {
console.log('Live Price:', msg.symbol, msg.data.last, 'Spread:', msg.data.spread);
}
};
</script>
/* =========================================================================
HOW TO CONNECT AN EXISTING PROJECT TO THE HUB
========================================================================= */
1. CURRENT DEFAULT:
- Projects like TradeJaguar and PerfectTrade use their own configured streaming
(e.g., Deriv or MetaApi credentials in their own MySQL database).
- The Stream Hub DOES NOT write to project Redis databases directly.
2. TO STREAM FROM THIS HUB INTO ANY PROJECT:
Step 1: Go to the "API Clients" tab in this dashboard.
Step 2: Enter project name (e.g. "TradeJaguar") and click "Generate Client Key".
Step 3: In the project's WebSocket client or streaming connector:
- Point the WebSocket URL to:
ws://127.0.0.1:7890/ws/stream?apiKey=<GENERATED_API_KEY>
(or wss://infodata.uptrender.in/ws/stream?apiKey=<GENERATED_API_KEY>)
3. COMPATIBILITY:
- The Hub supports both the Infoway Wire Protocol:
{ "code": 10000, "data": { "codes": "EURUSD,XAUUSD" } }
and returns standard { code: 10002, data: { s, p, b, a, bp, ap, spread } }
- AND standard JSON:
{ "action": "subscribe", "symbols": ["EURUSD", "XAUUSD"] }
and returns { type: "PRICE_UPDATE", symbol: "EURUSD", data: { ... } }
Zero code restructuring is needed on the project side!