Websocket url: wss://quoter.coinquoter.com:9001
Websocket Streams
Our platform provides two methods for obtaining price feeds.
General - the best pricing feeds for token pairs in general.
Specific for a maker - the best token pairs pricing feeds for a specific maker.
General Pricing Data
General pricing data allow us to connect to two different streams.
General stream
The best price stream contains two sides of a token pair.
Parameters
Request example
{
"action": "sub-quoter-pricing",
"channel": "WONE-1USDT-1"
}
Example response
{
"message": {
"content": {
"type": "",
"method": "",
"data": {
"bid": "0.047650468",
"ask": "0.047674767",
"gasFeeToken0": "0.004642591",
"gasFeeToken1": "0.00022128910001499997",
"inboundBid": 0.04766,
"inboundAsk": 0.04767,
"transactionFee": 1000000000000000000,
"transactionFeeToken": "0xDcC4DaAD65Dd459505D8af9bfF60aFd2A8c0b2cc",
"makerAddressBid": "0x98c3cec32166936672a75fd7d85ad92eb5178d84",
"makerAddressAsk": "0x98c3cec32166936672a75fd7d85ad92eb5178d84",
"amount0Address": "0xca3e951D17C520B42ED98482b1f8B6478D4531E2",
"amount1Address": "0xb63b211f1dB545C04829CA0a3E7D8313711E7eA9",
"amount0Dec": 18,
"amount1Dec": 6,
"maxToken0Bid": "4.7650468",
"maxToken1Bid": "1091.3844948831131",
"minToken0": "1",
"minToken1": "0",
"pairId": 1
}
}
}
}
Request stream
The best price stream includes only one side of a pair and is based on the amount of token you want to sell/buy.
Parameters
Request example
{
"action": "custom-topic-subscribe",
"data": {
"topic_identifier": "PRICE_REQUEST",
"topic_name": "SELECT_REQUEST_PRICING",
"parameters": [0, 1, 10] // in order: side, pairId, value
}
}
Example response
{
"topic_identifier": "PRICE_REQUEST",
"topic": "SELECT_REQUEST_PRICING",
"columns": [
"rule_id",
"pair_id",
"spread_perc",
"side",
"outbound_price",
"maker_address",
"token0_address",
"token1_address",
"token0_dec",
"token1_dec",
"gas_fee_token0",
"gas_fee_token1"
],
"rows": [
{
"rule_id": 132,
"pair_id": 1,
"spread_perc": 0.0001,
"side": 1,
"outbound_price": 0.047774777,
"maker_address": "0x98c3cec32166936672a75fd7d85ad92eb5178d84",
"token0_address": "0xca3e951D17C520B42ED98482b1f8B6478D4531E2",
"token1_address": "0xb63b211f1dB545C04829CA0a3E7D8313711E7eA9",
"token0_dec": 18,
"token1_dec": 6,
"gas_fee_token0": 0.004642591,
"gas_fee_token1": 0.000221706933205
}
]
}
Your response might be empty. It means that there is no price stream for this particular value.
Pricing data for a specific maker
Pricing data for a specific maker also allows us to connect to two different streams.
General stream
The best price stream provided by a specific maker containing two sides of a token pair.
Parameters
Request example
{
"action": "custom-topic-subscribe",
"data": {
"topic_identifier": "MAKER_PAIR_PRICING",
"topic_name": "MAKER_PAIR_PRICING",
"parameters": [
1,
"0xDa0DD31b18C6BABc35e7d59f94fAe7a180594C7b",
1,
"0xDa0DD31b18C6BABc35e7d59f94fAe7a180594C7b"
] // in order: pairId, makerAddress, pairId, makerAddress
}
}
Example response
{
"topic_identifier": "MAKER_PAIR_PRICING",
"topic": "MAKER_PAIR_PRICING",
"columns": [
"pair_id",
"feed_tier",
"side",
"spread_perc",
"spread_perc:1",
"min_amount",
"max_slippage_perc",
"inbound_price",
"outbound_price",
"max_buy_amount",
"symbol_token0",
"symbol_token1",
"maker_address",
"token0_address",
"token1_address",
"token0_dec",
"token1_dec",
"gas_fee_token0",
"gas_fee_token1",
"transaction_fee",
"transaction_fee_token"
],
"rows": [
{
"pair_id": 1,
"feed_tier": 0,
"side": 1,
"spread_perc": 0.0001,
"spread_perc:1": 0.0001,
"min_amount": 0,
"max_slippage_perc": 10,
"inbound_price": 0.04718,
"outbound_price": 0.047184718,
"max_buy_amount": 1112,
"symbol_token0": "WONE",
"symbol_token1": "1USDT",
"maker_address": "0x98c3cec32166936672a75fd7d85ad92eb5178d84",
"token0_address": "0xca3e951D17C520B42ED98482b1f8B6478D4531E2",
"token1_address": "0xb63b211f1dB545C04829CA0a3E7D8313711E7eA9",
"token0_dec": 18,
"token1_dec": 6,
"gas_fee_token0": 0.0052416350000000006,
"gas_fee_token1": 0.000247274131125,
"transaction_fee": 1000000000000000000,
"transaction_fee_token": "0xDcC4DaAD65Dd459505D8af9bfF60aFd2A8c0b2cc"
}
]
}
Request stream
The best price stream provided by a specific maker including only one side of a pair and is based on the amount of token you want to sell/buy.
Parameters
Request example
{
"action": "custom-topic-subscribe",
"data": {
"topic_identifier": "MAKER_PRICE_REQUEST",
"topic_name": "SELECT_REQUEST_MAKER_PRICING",
"parameters": [0, 1, 10, "0x98C3CEC32166936672A75FD7D85ad92eb5178D84"]
// in order: side, pairId, value, makerAddress
}
}
Example response
{
"topic_identifier": "MAKER_PRICE_REQUEST",
"topic": "SELECT_REQUEST_MAKER_PRICING",
"columns": [
"rule_id",
"pair_id",
"spread_perc",
"side",
"outbound_price",
"maker_address",
"token0_address",
"token1_address",
"token0_dec",
"token1_dec",
"gas_fee_token0",
"gas_fee_token1"
],
"rows": [
{
"rule_id": 131,
"pair_id": 1,
"spread_perc": 0.0002,
"side": 0,
"outbound_price": 0.047200558000000004,
"maker_address": "0x98c3cec32166936672a75fd7d85ad92eb5178d84",
"token0_address": "0xca3e951D17C520B42ED98482b1f8B6478D4531E2",
"token1_address": "0xb63b211f1dB545C04829CA0a3E7D8313711E7eA9",
"token0_dec": 18,
"token1_dec": 6,
"gas_fee_token0": 0.0052416350000000006,
"gas_fee_token1": 0.00024753621287500004
}
]
}
Order Execution
To execute an order, send a message to the quote-executions-[UUID] channel with the following information.
Example request
{
"action": "execute-order"
"channel": "quote-executions-6f47c643-cfa6-48ae-ae5b-f8fed519ef65"
"data":
{
"limitOrder": RFQOrder,
"limitOrderSignature": "0x30dcd76f11d3b0a1f75757eb442b73c056a19df80209107d4b7ef4135f4699086f0e090ab9d96bd74f439124381d52be13d19abd440dd4bd9793b69a86a0d3e81b",
"takerAmount": "10000",
"makerAmount": "75023679387584720",
"type": 1,
"ruleId": 114,
"sessionKey": "0xD9594fa3BAd626Eed13d0F2b5BFDC2dd7a7576e9",
"orderGas":
{
"gasFee":0.00464478,
"gasFeeToken0":"0.00464478",
"gasFeeToken1":"0.0005829431139",
"gasFeeOperation":4
},
"resultEIP712": EIP712TypedData
}
}
Order Status
In order to receive your transaction status, subscribe to a channel that is the id you used to create RFQOrder.
Subscription example
{
"action": "sub-response-client-execution",
"channel": "3203138488" // that is the same id you had used to create RFQOrder
}
Example responses
{
"type": "pending"
}
{
"action": "quote-execution-response",
"channel": "3203138488",
"content": {
"type": "transaction_posted",
"hash: "0x499e6a5c76920118987055b19b5d8d0217e4c9559e8023d61e284bb606b2677d"
}
}
{
"type": "send_to_blockchain",
"hash": "0x499e6a5c76920118987055b19b5d8d0217e4c9559e8023d61e284bb606b2677d"
}
{
"type": "filled",
"hash": "0x499e6a5c76920118987055b19b5d8d0217e4c9559e8023d61e284bb606b2677d"
}
Advanced Panel Streams
There are two additional streams for advanced mode.
Advanced stream for a specific maker
Parameters
General advanced stream
The best price stream includes two sides of a pair and is based on the amount of token you want to sell/buy.
Example request
{
"action": "custom-topic-subscribe",
"data": {
"topic_identifier": "6", // pairId (string)
"topic_name": "SELECT_ADVANCED_REQUEST_PRICING",
"parameters": [6, 0.1, 6, 0.1]
// in order: pairId, valueBid, pairId, valueAsk
}
}
Example response
{
"topic_identifier": "6",
"topic": "SELECT_ADVANCED_REQUEST_PRICING",
"columns": [
"rule_id",
"pair_id"
"side",
"outbound_price",
"maker_address",
"token0_address",
"token1_address",
"token0_dec",
"token1_dec",
"gas_fee_token0",
"gas_fee_token1",
"transaction_fee",
"transaction_fee_token"
],
"rows": [
{
"gas_fee_token0": 0.018512530089152
"gas_fee_token1": 0.015949470298308906
"maker_address": "0xda0dd31b18c6babc35e7d59f94fae7a180594c7b"
"outbound_price": 0.86149991385
"pair_id": 6
"rule_id": 234
"side": 0
"token0_address": "0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"
"token0_dec": 18
"token1_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F"
"token1_dec": 6
"transaction_fee": 0
"transaction_fee_token": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F"
},
{
"gas_fee_token0": 0.018512530089152
"gas_fee_token1": 0.015949470298308906
"maker_address": "0xda0dd31b18c6babc35e7d59f94fae7a180594c7b"
"outbound_price": 0.86149991385
"pair_id": 6
"rule_id": 235
"side": 1
"token0_address": "0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"
"token0_dec": 18
"token1_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F"
"token1_dec": 6
"transaction_fee": 0
"transaction_fee_token": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F"
}
]
}
Advanced stream for a specific maker
The best price stream includes two sides of a pair and is based on the amount of token you want to sell/buy. Stream is provided by a specific maker.
Request example
{
"action": "custom-topic-subscribe",
"data": {
"topic_identifier": "6", // pairId (string)
"topic_name": "SELECT_ADVANCED_REQUEST_PRICING",
"parameters": [6, 0.1, "0x98C3CEC32166936672A75FD7D85ad92eb5178D84",
6, 0.1,"0x98C3CEC32166936672A75FD7D85ad92eb5178D84"]
// in order: pairId, valueBid, makerAddress, pairId, valueAsk, makerAddress
}
}
Response Example
{
"topic_identifier": "6",
"topic": "SELECT_ADVANCED_MAKER_REQUEST_PRICING",
"columns": [
"rule_id",
"pair_id"
"side",
"outbound_price",
"maker_address",
"token0_address",
"token1_address",
"token0_dec",
"token1_dec",
"gas_fee_token0",
"gas_fee_token1",
"transaction_fee",
"transaction_fee_token"
],
"rows": [
{
"gas_fee_token0": 0.018512530089152
"gas_fee_token1": 0.015949470298308906
"maker_address": "0xda0dd31b18c6babc35e7d59f94fae7a180594c7b"
"outbound_price": 0.86149991385
"pair_id": 6
"rule_id": 234
"side": 0
"token0_address": "0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"
"token0_dec": 18
"token1_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F"
"token1_dec": 6
"transaction_fee": 0
"transaction_fee_token": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F"
},
{
"gas_fee_token0": 0.018512530089152
"gas_fee_token1": 0.015949470298308906
"maker_address": "0xda0dd31b18c6babc35e7d59f94fae7a180594c7b"
"outbound_price": 0.86149991385
"pair_id": 6
"rule_id": 235
"side": 1
"token0_address": "0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"
"token0_dec": 18
"token1_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F"
"token1_dec": 6
"transaction_fee": 0
"transaction_fee_token": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F"
}
]
}