Stream Trade
Stream trade is a method used to obtain the prices of a specific pair of tokens across multiple decentralized exchanges (DEXs). (Currently Available for Ethereum Only)
Response Schema:
type
Type of transaction.
platform
Specific name of DEX platform.
symbol
Token pair.
price
Price of token pair.
Streaming trades:
Users can stream trades in two ways:
Example 1: via wscat script (For Linux based distro)
First, the user needs to run the following command in their terminal to install wscat in their system:
npm install -g wscat
After installing wscat, the user needs to create a shell script and paste the following sample code:
Client Side Sample Socket Code :
#!/bin/bash
echo "Price Discovery\n"
read -p "x-api-key: " YOUR_API_KEY
wscat -c wss://pricediscovery.expand.network -H authorization:secret-token -H x-api-key:$YOUR_API_KEY
chmod +x YOUR_FILE_NAME.sh
After following the above steps, the user needs to run the file. This can be done by entering the filename in the console.
Executing a query:
After executing the aforementioned file(shell script), the user will be prompted to input the appropriate API key.
After entering the API key, the user can subscribe to the following actions:
{"action": "streamTrade"}
Applying a filter in the query:
Users can apply the following filters in their query:-
token0
token1
The above filters can be applied in any combination, using the following syntax:
{"action": "streamTrade", "token0": "token_address", "token1": "token_address" }
Sample Query:
{"action": "streamTrade", "token0": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "token1": "0xdAC17F958D2ee523a2206206994597C13D831ec7" }
Example 2. via javascript code
First, the user needs to run the following command in their terminal to install wscat in their system:
npm i ws
After installing ws, the user needs to run the following sample code on their device to start streaming:
Client Side Sample Socket Code :
const WebSocket = require('ws');
const url = 'wss://pricediscovery.expand.network';
const options = {
headers: {
Authorization: 'secret-token',
'x-api-key': 'YOUR_API_KEY', // Replace this with your API Key
}
};
const ws = new WebSocket(url, options);
ws.on('open', () => {
console.log('WebSocket connection established.');
const payload = {
action: "streamTrade",
token0: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
token1: "0xdAC17F958D2ee523a2206206994597C13D831ec7"
};
ws.send(JSON.stringify(payload));
});
ws.on('message', (data) => {
console.log(`Received data: ${data}`);
});
ws.on('close', () => {
console.log('WebSocket connection closed.');
});
Expected Output:
{
"type": "DEX",
"platform": "UniswapV2",
"symbol": "ETHUSDT",
"price": "1731798672"
}
How to disconnect:
To disconnect from our API, enter ctrl-c
in the connected console.
Last updated