Skip to main content

Connect

Market Data

  • Server URL: wss://spot-stream.goonus.io/market
  • Subscribe Event: sub (accepts one or more topics)
  • Unsubscribe Event: unsub (accepts one or more topics)

Example Usage


import React, { useEffect } from 'react';
import { io } from 'socket.io-client';

function MarketData() {
useEffect(() => {
const url = 'wss://spot-stream.goonus.io';
const marketSocket = io(url + '/market', { transports: ["websocket"], reconnection: true });

marketSocket.on('connect', () => {
marketSocket.emit('sub', 'BTC_USDT@ticker');
marketSocket.emit('sub', ['SOL_USDT@ticker', 'TON_USDT@ticker', 'ETH_USDT@ticker']);

setTimeout(() => {
marketSocket.emit('unsub', 'BTC_USDT@ticker');
marketSocket.emit('unsub', ['SOL_USDT@ticker', 'ETH_USDT@ticker']);
}, 10000);
});

marketSocket.on('message', (message) => {
console.log('New message from market:', message);
});

return () => {
marketSocket.disconnect();
};
}, []);

return <div>Market Data Streaming</div>;
}

export default MarketData;

User Data

  • Server URL: wss://spot-stream.goonus.io/user
  • Authentication: Provide either token(session-token) or api_key in the connection auth object.

Example Usage

import React, { useEffect } from 'react';
import { io } from 'socket.io-client';

function UserData() {
useEffect(() => {
const url = 'wss://spot-stream.goonus.io';
const userSocket = io(url + '/user', {
auth: {
token: "xxx",
// api_key: "xxx"
},
transports: ["websocket"],
reconnection: true
});

userSocket.on('connect', () => {
console.log('Connected to user namespace');
});

userSocket.on('message', (message) => {
console.log('New message: ', message);
});

return () => {
userSocket.disconnect();
};
}, []);

return <div>User Data Streaming</div>;
}

export default UserData;