Examples
Browser JavaScript Example
// Browser WebSocket automatically sets Origin and User-Agent headers
const ws = new WebSocket('wss://api.monday.trade/v4/public/ws');
ws.onopen = () => {
console.log('WebSocket connected');
// Subscribe to K-line data
ws.send(JSON.stringify({
id: 1,
method: 'SUBSCRIBE',
params: {
chainId: 143,
instrument: '0x73ada1ea346cc3908f41cf67a040f0acd7808be0',
expiry: 4294967295,
interval: '1m',
type: 'kline'
}
}));
// Subscribe to order book
ws.send(JSON.stringify({
id: 2,
method: 'SUBSCRIBE',
params: {
chainId: 143,
instrument: '0x73ada1ea346cc3908f41cf67a040f0acd7808be0',
expiry: 4294967295,
type: 'orderBook'
}
}));
};
ws.onmessage = (event) => {
const message = JSON.parse(event.data);
if (message.id) {
// Subscription response
console.log('Subscription response:', message);
} else if (message.stream) {
// Data stream message
console.log('Stream update:', message.stream, message.data);
switch (message.stream) {
case 'kline':
// Handle K-line data
break;
case 'orderBook':
// Handle order book data
break;
case 'instrument':
// Handle instrument information
break;
case 'portfolio':
// Handle portfolio notifications
break;
case 'blockNumChanged':
// Handle block number changes
break;
case 'marketListChanged':
// Handle market list changes
break;
}
} else if (event.data === 'pong') {
// Heartbeat response
console.log('Heartbeat received');
}
};
ws.onerror = (error) => {
console.error('WebSocket error:', error);
};
ws.onclose = () => {
console.log('WebSocket closed');
// Implement reconnection logic here
};
// Send heartbeat
setInterval(() => {
if (ws.readyState === WebSocket.OPEN) {
ws.send('ping');
}
}, 30000);Node.js TypeScript Example
Python Example with Reconnection
Changelog
Support for K-line, order book, instrument information, portfolio, and common event subscriptions
Heartbeat mechanism support
Multi-chain subscription support
Last updated