NAV Navbar
javascript

Introduction

Welcome to the Everbloom API! Everbloom's goal is bring the power and security of decentralized exchanges to the masses in a reliable, trustworthy, and easy to use manner.

Our public API provides access to placing orders, market details, reports, and other account information.

Our private API provides advanced message stream and reports. For more information please join us on Telegram at everbloomhq or on Twitter at @everbloomhq.

Requests

Endpoint

https://api.everbloom.co/

Most of the requests that are related to market data are public at the moment and generally available via GET functions. Please do not abuse them. We have put a limit in place of 400 GET requests per minute, and 15 POST requests per minute.

Errors

The Everbloom API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
403 Forbidden -- The resource requested is hidden for administrators only.
404 Not Found -- The specified resource could not be found.
429 Too Many Requests -- You're requesting too many resource! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
502 Bad Gateway -- We had a problem with our gateway. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.

Markets

List Markets

Returns all active markets.

HTTP Request

GET https://api.everbloom.co/markets

The above command returns JSON structured like this:

{
    "data": [
        {
            "id": "e0x0000000000000000000000000000000000000000_e0x8e10f6bb9c973d61321c25a2b8d865825f4aa57b",
            "addr": "0x8e10f6bb9c973d61321c25a2b8d865825f4aa57b",
            "name": "0ED",
            "displayName": "EthereumDiamond",
            "decimals": 18,
            "open": null,
            "high": null,
            "low": null,
            "close": null,
            "last": "15900000000000",
            "volume": null,
            "tokenVolume": null,
            "highestBid": "1111000000000",
            "lowestAsk": "16599000000000",
            "updatedAt": 1537545242
        },
        {
            "id": "e0x0000000000000000000000000000000000000000_e0xb6ed7644c69416d67b522e20bc294a9a9b405b31",
            "addr": "0xb6ed7644c69416d67b522e20bc294a9a9b405b31",
            "name": "0xBTC",
            "displayName": "0xBitcoin Token",
            "decimals": 8,
            "open": "3060000000000000",
            "high": "3150000000000000",
            "low": "2560000000000000",
            "close": "3150000000000000",
            "last": "3150000000000000",
            "volume": "5101554316006400000",
            "tokenVolume": "162756027969",
            "highestBid": "405001000002140",
            "lowestAsk": "4000000000000000",
            "updatedAt": 1537545242
        },
        {
            "id": "e0x0000000000000000000000000000000000000000_e0xe701cd3329057aea9d54300ddd05e41b8d74727a",
            "addr": "0xe701cd3329057aea9d54300ddd05e41b8d74727a",
            "name": "10MT",
            "displayName": "10M Token",
            "decimals": 10,
            "open": null,
            "high": null,
            "low": null,
            "close": null,
            "last": "10000000000000",
            "volume": null,
            "tokenVolume": null,
            "highestBid": "10000000000000",
            "lowestAsk": "5900000000000",
            "updatedAt": 1537545242
        },
        ...
    ]
}

Return Data

Parameter Type Always returned Description
data Array[] no Empty if there is no data to return or there are errors.
data[]:id string yes Market ID.
data[]:addr string yes Address of the token.
data[]:name string yes Symbol of the token.
data[]:displayName string yes Display name of the token.
data[]:decimals string yes Decimals of the token.
data[]:open string yes 24 hour open price (in wei); null if data is not available.
data[]:high string yes 24 hour high price (in wei); null if data is not available.
data[]:low string yes 24 hour low price (in wei); null if data is not available.
data[]:close string yes 24 hour close price (in wei); null if data is not available.
data[]:last string yes Last trade price (in wei); null if data is not available.
data[]:volume string yes 24 hour ETH volume (in wei); null if data is not available.
data[]:tokenVolume string yes 24 hour token volume (in natural unit with token decimals); null if data is not available.
data[]:highestBid string yes Highest bid order price (in wei); null if data is not available.
data[]:lowestAsk string yes Lowest ask order price (in wei); null if data is not available.
data[]:updatedAt int yes Unix timestamp.
errors Array[] no Empty if there is no error to return.

Get a Market

Returns a single market identified by market ID.

HTTP Request

GET https://api.everbloom.co/markets/:market

URL Parameters

Parameter Description
market Specified in the form of a trading pair of tokens address with chain prefix.

Example Request

GET https://api.everbloom.co/markets/e0x0000000000000000000000000000000000000000_e0x8f3470a7388c05ee4e7af3d01d8c722b0ff52374

The above command returns JSON structured like this:

{
    "data": [
        {
            "id": "e0x0000000000000000000000000000000000000000_e0x8f3470a7388c05ee4e7af3d01d8c722b0ff52374",
            "addr": "0x8f3470a7388c05ee4e7af3d01d8c722b0ff52374",
            "name": "VERI",
            "displayName": "Veritaseum",
            "decimals": 18,
            "open": "108899898000000000",
            "high": "128990000000000000",
            "low": "90000000000000000",
            "close": "113000000000000000",
            "last": "113000000000000000",
            "volume": "900285010859057600000",
            "highestBid": "91250010000000000",
            "lowestAsk": "1000000000000000000",
            "updatedAt": 1534791242
        }
    ]
}

Return Data

Parameter Type Always returned Description
data Array[1] no Empty if there is no data to return or there are errors.
data[]:id string yes Market ID.
data[]:addr string yes Address of the token.
data[]:name string yes Symbol of the token.
data[]:displayName string yes Display name of the token.
data[]:decimals string yes Decimals of the token.
data[]:open string yes 24 hour open price (in wei); null if data is not available.
data[]:high string yes 24 hour high price (in wei); null if data is not available.
data[]:low string yes 24 hour low price (in wei); null if data is not available.
data[]:close string yes 24 hour close price (in wei); null if data is not available.
data[]:last string yes last trade price (in wei); null if data is not available.
data[]:volume string yes 24 hour volume (in wei); null if data is not available.
data[]:highestBid string yes Highest bid order price (in wei); null if data is not available.
data[]:lowestAsk string yes Lowest ask order price (in wei); null if data is not available.
data[]:updatedAt int yes Unix timestamp.
errors Array[] no Empty if there is no error to return.

List Orders

Return order data for a single market specified by market ID.

HTTP Request

GET https://api.everbloom.co/markets/:market/orders

URL Parameters

Parameter Description
market Specified in the form of a trading pair of tokens address with chain prefix.

Query Parameters

Parameter Description
state (Optional) Filter by order state. Defaults to no state filter.

Example Request

GET https://api.everbloom.co/markets/e0x0000000000000000000000000000000000000000_e0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c/orders?state=open

The above command returns JSON structured like this:

{
    "data": [
        {
            "maker": "0x3dee4a4e076e8d82859d241db0baf46f112cfa23",
            "version": 3,
            "remainingTakerAmount": "6000",
            "expires": "5983238",
            "marketId": "e0x0000000000000000000000000000000000000000_e0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "takerToken": "0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "makerAmount": "3600060000000000000",
            "availTakerAmount": "6000",
            "contract": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "state": "OPEN",
            "signature": {
                "v": 28,
                "r": "0xabc74495c4781fc337ae699546e2edc6e70b8bc70879b41096055c36e84c3e5d",
                "s": "0x23bc7370db3707cf93d739f1ef2ab33e0cbecf0cf7ae2486e1eab1d3716a6bfd"
            },
            "availMakerAmount": "3600060000000000000",
            "makerToken": "0x0000000000000000000000000000000000000000",
            "nonce": "2118551309",
            "id": "0x5bf40c245f56983faddc8fff24580fc0abb976e87c1c420474c6fcc165b92616",
            "price": "600010000000000",
            "takerAmount": "6000"
        },
        {
            "maker": "0xe89a2a7a15cbaae3c58a03d79485373e216226d6",
            "version": 0,
            "remainingTakerAmount": "20000",
            "expires": "15933743",
            "marketId": "e0x0000000000000000000000000000000000000000_e0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "takerToken": "0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "makerAmount": "12000000000000000000",
            "availTakerAmount": "20000",
            "contract": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "state": "OPEN",
            "signature": {
                "v": 28,
                "r": "0x3378d3a19f89f0f7dcfdf87a0f47b721b1cc57e529de4c20153f796730a9e349",
                "s": "0x3de59d0161e3b4c3ec4cfe220fdfff87d9450583e82b1cd9e5287c010630ba2b"
            },
            "availMakerAmount": "12000000000000000000",
            "makerToken": "0x0000000000000000000000000000000000000000",
            "nonce": "687165361",
            "id": "0xb7e7ba41e211fd91acbc8b1cd464b7fad6650730db2857d1057e9b7ada9280ff",
            "price": "600000000000000",
            "takerAmount": "20000"
        },
        {
            "maker": "0xe3b75e65a0200342b6c7eaa6cba0481501111f35",
            "version": 2,
            "remainingTakerAmount": "460",
            "expires": "6326388",
            "marketId": "e0x0000000000000000000000000000000000000000_e0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "takerToken": "0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "makerAmount": "57040000000000000",
            "availTakerAmount": "0",
            "contract": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "state": "OPEN",
            "signature": {
                "v": 28,
                "r": "0x91068bcb3f92bbe3e6b26d82670d61aae102bf3d3517f56d2495f240972c4031",
                "s": "0x4185bc6a98e5e5cdac1bc5c7cb0090da9c975a696a519fce1506b9b2dd92a922"
            },
            "availMakerAmount": "4706067585",
            "makerToken": "0x0000000000000000000000000000000000000000",
            "nonce": "3280984883",
            "id": "0xcb82b1dfa14433c1c2062e3757b147f3efcbef618e23bbe4d2c59d4372e38aeb",
            "takerAmount": "460"
        },
        ...
    ]
}

Return Data

Parameter Type Always returned Description
data Array[] no Empty if there is no data to return or there are errors.
data[]:id string yes Order ID.
data[]:contract string yes Contract address.
data[]:maker string yes Maker address.
data[]:makerToken string yes Maker token address.
data[]:makerAmount string yes Maker amount (in natural unit with maker token decimals).
data[]:takerToken string yes Taker token address.
data[]:takerAmount string yes Taker amount (in natural unit with taker token decimals).
data[]:expires string yes The block number when the order should expire.
data[]:nonce string yes A random number.
data[]:signature object yes Signature object of sha256(contract, takerToken, takerAmount, makerToken, makerAmount, expires, nonce) after being signed by the maker.
data[]:signature:v int yes Signature recovery ID.
data[]:signature:r string yes Output of ECDSA signature.
data[]:signature:s string yes Output of ECDSA signature.
data[]:remainingTakerAmount string no Remaining taker amount to be filled.
data[]:availMakerAmount string no Available maker amount calculated based on remainingTakerAmount and current maker deposit balance.
data[]:availTakerAmount string no Available taker amount calculated based on remainingTakerAmount and current maker deposit balance.
data[]:price string no Order price (in wei); unavailable if incalculable.
data[]:state string yes Order state ("OPEN", "CLOSED", or "EXPIRED").
data[]:version int yes Order version; auto increment on updates; -1 means final version.
data[]:marketId string yes Market ID.
errors Array[] no Empty if there is no error to return.

List Trades

Return trade data for a single market specified by market ID.

HTTP Request

GET https://api.everbloom.co/markets/:market/trades

URL Parameters

Parameter Description
market Specified in the form of a trading pair of tokens address with chain prefix.

Query Parameters

Parameter Description
end (Optional) End unix timestamp. Defaults to now.
limit (Optional) Number of most recent trades to be returned. Defaults to 300, maximum 1,000.

Example Request

GET https://api.everbloom.co/markets/e0x0000000000000000000000000000000000000000_e0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c/trades?end=1531820950&limit=3

The above command returns JSON structured like this:

{
    "data": [
        {
            "transactionHash": "0xa2ef11701807a326444d93d877f7a2234f059be1265403e096e5c1924964cad8",
            "transactionIndex": 115,
            "blockNumber": 5979901,
            "blockHash": "0x35a42c09eb86ae464b77d6d2135ac18807af34a51e1e209c03702ac5119e89ad",
            "blockTime": 1531820950,
            "from": "0xb0a44ccc6058822444e126feaa92156043193c64",
            "to": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "action": "Trade",
            "maker": "0x8811d0ef9f39fe7150c024270e12d3fe10593b63",
            "makerToken": "0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "makerAmount": "10",
            "makerBalance": null,
            "taker": "0xb0a44ccc6058822444e126feaa92156043193c64",
            "takerToken": "0x0000000000000000000000000000000000000000",
            "takerAmount": "20000000000000000",
            "gas": "250000",
            "gasPrice": "4000000000",
            "gasUsed": "107538",
            "orderHash": "0xae94489a46e0ad2ade171a8370fba502378ce0c2f7295fb1836603adb1e74dbb",
            "orderId": "0xb9d07b5924f46a4275d682710009df510b82de29fa9935f8c57b2e9cbc2bb80b",
            "token": "0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "price": "2000000000000000",
            "receiptStatus": "0x1",
            "isConfirmed": 1,
            "USD": "472.69",
            "EUR": "402.44",
            "GBP": "356.72",
            "CNY": "2993.52",
            "JPY": "53082.89",
            "KRW": "524333.18",
            "tradeId": 5979901115000
        },
        {
            "transactionHash": "0x19f06e0d9399e9e36d940a68419da7787e7ff51d71603d18a0ae5188d201f8de",
            "transactionIndex": 91,
            "blockNumber": 5870455,
            "blockHash": "0xdbc818886099f48f43ccc0e1f5233c6fae1d0df7dd3562b8fba5e71f1dd1f851",
            "blockTime": 1530209951,
            "from": "0x48d6aaefc242078ff5f5fea63e71b98dd5068818",
            "to": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "action": "Trade",
            "maker": "0x3dee4a4e076e8d82859d241db0baf46f112cfa23",
            "makerToken": "0x0000000000000000000000000000000000000000",
            "makerAmount": "2520000000000000",
            "makerBalance": null,
            "taker": "0x48d6aaefc242078ff5f5fea63e71b98dd5068818",
            "takerToken": "0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "takerAmount": "4",
            "gas": "250000",
            "gasPrice": "4000000000",
            "gasUsed": "107346",
            "orderHash": "0xab302040559a1340761d84cc087b4ba651f537a3ee026351bc78c684beb40ff5",
            "orderId": "0xf366bdfbd0b537827ae95995dbeb392713d38e87468f539a7f1b0346506762f6",
            "token": "0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "price": "630000000000000",
            "receiptStatus": "0x1",
            "isConfirmed": 1,
            "USD": "436.34",
            "EUR": "376.87",
            "GBP": "333.91",
            "CNY": "2929.45",
            "JPY": "48635.45",
            "KRW": "494881.01",
            "tradeId": 5870455091000
        },
        {
            "transactionHash": "0xa44505275e4893532ebd5a15c8b764d0f62b6c19164be3f449b265f9ab215ba1",
            "transactionIndex": 192,
            "blockNumber": 5868287,
            "blockHash": "0xf3690147f9416a1209c7589394c7199d951fa741a8b78b73b79ea4e3694b999e",
            "blockTime": 1530177205,
            "from": "0x025a33b43c9452d3b139fcc50b71af3ab498495b",
            "to": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "action": "Trade",
            "maker": "0xe89a2a7a15cbaae3c58a03d79485373e216226d6",
            "makerToken": "0x0000000000000000000000000000000000000000",
            "makerAmount": "2797900000000000000",
            "makerBalance": null,
            "taker": "0x025a33b43c9452d3b139fcc50b71af3ab498495b",
            "takerToken": "0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "takerAmount": "3997",
            "gas": "250000",
            "gasPrice": "5000000000",
            "gasUsed": "77602",
            "orderHash": "0xabe2839a8ff48ebc4af573b3ada499e7f7e02f5830cbb009e42adf065f0ee0cc",
            "orderId": "0x9e79c7ada44bfe0a66c267cb1be4daf1431baaaf186a8ef4a7a7c741ae8e26fa",
            "token": "0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "price": "700000000000000",
            "receiptStatus": "0x1",
            "isConfirmed": 1,
            "USD": "436.08",
            "EUR": "377.26",
            "GBP": "331.53",
            "CNY": "2931.27",
            "JPY": "48487.42",
            "KRW": "494166.8",
            "tradeId": 5868287192000
        }
    ]
}

Return Data

Parameter Type Always returned Description
data Array[] no Empty if there is no data to return or there are errors.
data[]:transactionHash string yes Transaction hash.
data[]:transactionIndex int yes Transaction index in block.
data[]:blockNumber int yes Block number.
data[]:blockHash string yes Block hash.
data[]:blockTime int yes Block time.
data[]:from string yes Transaction from address (user address).
data[]:to string yes Transaction to address (constract address).
data[]:action string yes Transaction type (in this API, the value is always "Trade").
data[]:maker string yes Maker address (order maker address).
data[]:makerToken string yes Maker token address.
data[]:makerAmount string yes Maker amount (in natural unit with maker token decimals).
data[]:makerBalance string no Maker balance; available only for "Deposit" and "Withdraw" transactions (in this API, the value is always null).
data[]:taker string yes Taker address (order taker address).
data[]:takerToken string yes Taker token address.
data[]:takerAmount string yes Taker amount (in natural unit with taker token decimals).
data[]:gas string yes Gas limit (in wei).
data[]:gasPrice string yes Gas price (in wei).
data[]:gasUsed string yes Gas used (in wei).
data[]:orderHash string yes Corresponding order hash.
data[]:orderId string yes Corresponding order ID.
data[]:token string yes Token address.
data[]:price string no Trade price (in wei); unavailable if incalculable.
data[]:receiptStatus string yes Transaction receipt status (in this API, the value is always "0x1" since all trades are successful).
data[]:isConfirmed int yes Indicator of confirmation status (in this API, the value is always 1 since all trades are confirmed).
data[]:USD/EUR/... string no "Fiat"/ETH price reference.
data[]:tradeId int no Unique integer trade ID; available only for confirmed successful trades.
errors Array[] no Empty if there is no error to return.

Orders

Place a New Order

Place a new order to Everbloom orderbook.

HTTP Request

POST https://api.everbloom.co/orders

Example request:

{
    "contract": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
    "maker": "0x0b419bce1cb87adea84a913fa903593fb68d33b1",
    "makerToken": "0x0000000000000000000000000000000000000000",
    "takerToken": "0x4156d3342d5c385a87d264f90653733592000581",
    "makerAmount": "499999257000000000",
    "takerAmount": "11582100000",
    "expires": "5261670",
    "nonce": "3987176906954242",
    "signature": {
        "v": 27,
        "r": "0xba8989e412528995087e54f1ffe54228a574be840a0ada3ffeb415dfbc5df5bf",
        "s": "0x788aa636d588606ad37beeb98321ab31583f2f900e1bd754402005f3602c3cca"
    }
}

The above request returns JSON structured like this:

{
    "data": [
        {
            "id": "0xc9f36a87893188277d771def453c23709fc2a463106415d3ab115e728b9e0a06",
            "marketId": "e0x0000000000000000000000000000000000000000_e0x4156d3342d5c385a87d264f90653733592000581",
            "contract": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "state": "OPEN",
            "updatedAt": 1531853928761,
            "createdAt": 1531853928761,
            "version": 0,
            "maker": "0x0b419bce1cb87adea84a913fa903593fb68d33b1",
            "makerToken": "0x0000000000000000000000000000000000000000",
            "takerToken": "0x4156d3342d5c385a87d264f90653733592000581",
            "makerAmount": "499999257000000000",
            "takerAmount": "11582100000",
            "remainingTakerAmount": "11582100000",
            "availMakerAmount": "499999257000000000",
            "availTakerAmount": "11582100000",
            "price": "4317000000000000",
            "nonce": "3987176906954242",
            "signature": {
                "v": 27,
                "r": "0xba8989e412528995087e54f1ffe54228a574be840a0ada3ffeb415dfbc5df5bf",
                "s": "0x788aa636d588606ad37beeb98321ab31583f2f900e1bd754402005f3602c3cca"
            },
            "expires": "5261670",
            "source": "dex"
        }
    ]
}

Request Data

Parameter Type Required Description
contract string yes Contract address.
maker string yes Maker address.
makerToken string yes Maker token address.
makerAmount string yes Maker amount (in natural unit with maker token decimals).
takerToken string yes Taker token address.
takerAmount string yes Taker amount (in natural unit with taker token decimals).
expires string yes The block number when the order should expire.
nonce string yes A random number.
signature object yes Signature object of sha256(contract, takerToken, takerAmount, makerToken, makerAmount, expires, nonce) after being signed by the maker.
signature:v int yes Signature recovery ID.
signature:r string yes Output of ECDSA signature.
signature:s string yes Output of ECDSA signature.

Return Data

If the order is placed successfully, the response will return a standard order object with "201 Created" status code. Otherwise, errors will be returned.

Get an Order

Returns a single order identified by order ID.

HTTP Request

GET https://api.everbloom.co/orders/:order

URL Parameters

Parameter Description
order Order ID.

Example Request

GET https://api.everbloom.co/orders/0x5f95421b91780868f25a28e68919bb763478f02cbbc5680b6d9f2da420218d79

The above command returns JSON structured like this:

{
    "data": [
        {
            "id": "0x5f95421b91780868f25a28e68919bb763478f02cbbc5680b6d9f2da420218d79",
            "contract": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "maker": "0xd52269b3ed18ae738241585ce04175db09035043",
            "makerToken": "0xea38eaa3c86c8f9b751533ba2e562deb9acded40",
            "makerAmount": "11000000000000000000",
            "takerToken": "0x0000000000000000000000000000000000000000",
            "takerAmount": "1540000000000000",
            "expires": "5029295",
            "nonce": "3954681887",
            "signature": {
                "v": 27,
                "r": "0xc32b58f14a4bd1484087a6cd1d40f64997ef3d880daf943cd985c3593ab7df31",
                "s": "0x6c549de16cd36eb303a3b6689e2b158e573ee6d7dbd65f44c3704f02a6531ad4"
            },
            "remainingTakerAmount": "0",
            "state": "CLOSED",
            "version": -1,
            "marketId": "e0x0000000000000000000000000000000000000000_e0xea38eaa3c86c8f9b751533ba2e562deb9acded40"
        }
    ]
}

Return Data

Parameter Type Always returned Description
data Array[1] no Empty if there is no data to return or there are errors.
data[]:id string yes Order ID.
data[]:contract string yes Contract address.
data[]:maker string yes Maker address.
data[]:makerToken string yes Maker token address.
data[]:makerAmount string yes Maker amount (in natural unit with maker token decimals).
data[]:takerToken string yes Taker token address.
data[]:takerAmount string yes Taker amount (in natural unit with taker token decimals).
data[]:expires string yes The block number when the order should expire.
data[]:nonce string yes A random number.
data[]:signature object yes Signature object of sha256(contract, takerToken, takerAmount, makerToken, makerAmount, expires, nonce) after being signed by the maker.
data[]:signature:v int yes Signature recovery ID.
data[]:signature:r string yes Output of ECDSA signature.
data[]:signature:s string yes Output of ECDSA signature.
data[]:remainingTakerAmount string no Remaining taker amount to be filled.
data[]:availMakerAmount string no Available maker amount calculated based on remainingTakerAmount and current maker deposit balance.
data[]:availTakerAmount string no Available taker amount calculated based on remainingTakerAmount and current maker deposit balance.
data[]:price string no Order price (in wei); unavailable if incalculable.
data[]:state string yes Order state ("OPEN", "CLOSED", or "EXPIRED").
data[]:version int yes Order version; auto increment on updates; -1 means final version.
data[]:marketId string yes Market ID.
errors Array[] no Empty if there is no error to return.

Users

Register a User

Register a user to let Everbloom record user's pending transactions.

HTTP Request

POST https://api.everbloom.co/users

Example request:

{
    "id": "0xfb0b70dff5e311a835901cbb3ed093853f561d2a"
}

The above request returns JSON structured like this:

{
    "data": [
        {
            "id": "0xfb0b70dff5e311a835901cbb3ed093853f561d2a"
        }
    ]
}

Request Data

Parameter Type Required Description
id string yes User's wallet address.

Return Data

If the user is registered successfully, the response will echo the user id with "201 Created" status code. Otherwise, errors will be returned.

List User Orders

Return order data for a given user specified by user ID.

HTTP Request

GET https://api.everbloom.co/users/:user/orders

URL Parameters

Parameter Description
user User ID (user's wallet address).

Query Parameters

Parameter Description
market (Optional) Filter by market ID. Defaults to no market filter.

Example Request

GET https://api.everbloom.co/users/0xd52269b3ed18ae738241585ce04175db09035043/orders

The above command returns JSON structured like this:

{
    "data": [
        {
            "id": "0x25ef3593afa4559b711a7269dd7891a3638700376fc1e92049ca2b1fdc92932a",
            "contract": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "maker": "0xd52269b3ed18ae738241585ce04175db09035043",
            "makerToken": "0x0000000000000000000000000000000000000000",
            "makerAmount": "40000000000000000",
            "takerToken": "0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "takerAmount": "4",
            "expires": "100000",
            "nonce": "5705626682",
            "signature": {
                "v": 27,
                "r": "0x189133c7b2fb3f8cadf39073a80cbb9eccf0877aeb6c31cfda492ac2b0586f83",
                "s": "0x0f094263c8dae1b374bf401409eed66126c221fef261cc88378ad9db68867271"
            },
            "remainingTakerAmount": "0",
            "state": "CLOSED",
            "version": -1,
            "marketId": "e0x0000000000000000000000000000000000000000_e0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c"
        },
        {
            "id": "0x45f4eb44bb69fbe8701707a023ef0377284d1c7124b8bf629a7c42843d844f79",
            "contract": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "maker": "0xd52269b3ed18ae738241585ce04175db09035043",
            "makerToken": "0x8f3470a7388c05ee4e7af3d01d8c722b0ff52374",
            "makerAmount": "500000000000000000",
            "takerToken": "0x0000000000000000000000000000000000000000",
            "takerAmount": "190000000000000000",
            "expires": "5029280",
            "nonce": "629422853",
            "signature": {
                "v": 28,
                "r": "0xd20cb3e73c10150e69821cff263fb23b02c95fd342073468d0e671f1e84ba628",
                "s": "0x3536a6f2d156fe9ef3f273dd2c1802bb8272258f8c04e7f3983b4a0c512f8f35"
            },
            "remainingTakerAmount": "189999999998956",
            "state": "EXPIRED",
            "version": -1,
            "marketId": "e0x0000000000000000000000000000000000000000_e0x8f3470a7388c05ee4e7af3d01d8c722b0ff52374"
        },
        {
            "id": "0x5f95421b91780868f25a28e68919bb763478f02cbbc5680b6d9f2da420218d79",
            "contract": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "maker": "0xd52269b3ed18ae738241585ce04175db09035043",
            "makerToken": "0xea38eaa3c86c8f9b751533ba2e562deb9acded40",
            "makerAmount": "11000000000000000000",
            "takerToken": "0x0000000000000000000000000000000000000000",
            "takerAmount": "1540000000000000",
            "expires": "5029295",
            "nonce": "3954681887",
            "signature": {
                "v": 27,
                "r": "0xc32b58f14a4bd1484087a6cd1d40f64997ef3d880daf943cd985c3593ab7df31",
                "s": "0x6c549de16cd36eb303a3b6689e2b158e573ee6d7dbd65f44c3704f02a6531ad4"
            },
            "remainingTakerAmount": "0",
            "state": "CLOSED",
            "version": -1,
            "marketId": "e0x0000000000000000000000000000000000000000_e0xea38eaa3c86c8f9b751533ba2e562deb9acded40"
        },
        ...
    ]
}

Return Data

Parameter Type Always returned Description
data Array[] no Empty if there is no data to return or there are errors.
data[]:id string yes Order ID.
data[]:contract string yes Contract address.
data[]:maker string yes Maker address.
data[]:makerToken string yes Maker token address.
data[]:makerAmount string yes Maker amount (in natural unit with maker token decimals).
data[]:takerToken string yes Taker token address.
data[]:takerAmount string yes Taker amount (in natural unit with taker token decimals).
data[]:expires string yes The block number when the order should expire.
data[]:nonce string yes A random number.
data[]:signature object yes Signature object of sha256(contract, takerToken, takerAmount, makerToken, makerAmount, expires, nonce) after being signed by the maker.
data[]:signature:v int yes Signature recovery ID.
data[]:signature:r string yes Output of ECDSA signature.
data[]:signature:s string yes Output of ECDSA signature.
data[]:remainingTakerAmount string no Remaining taker amount to be filled.
data[]:availMakerAmount string no Available maker amount calculated based on remainingTakerAmount and current maker deposit balance.
data[]:availTakerAmount string no Available taker amount calculated based on remainingTakerAmount and current maker deposit balance.
data[]:price string no Order price (in wei); unavailable if incalculable.
data[]:state string yes Order state ("OPEN", "CLOSED", or "EXPIRED").
data[]:version int yes Order version; auto increment on updates; -1 means final version.
data[]:marketId string yes Market ID.
errors Array[] no Empty if there is no error to return.

List User Confirmed Transactions

Return confirmed transactions for a given user specified by user ID.

HTTP Request

GET https://api.everbloom.co/users/:user/transactions/confirmed

URL Parameters

Parameter Description
user User ID (user's wallet address).

Query Parameters

Parameter Description
market (Optional) Filter by market ID. Defaults to no market filter.
action (Optional) Filter by action. Defaults to no action filter.
receiptStatus (Optional) Filter by receiptStatus ("0x1" or 0x0). Defaults to no receiptStatus filter.

HTTP Request

GET https://api.everbloom.co/users/0x47c168f28795b25a4f22ff4d79f79eb95374ace3/transactions/confirmed

The above command returns JSON structured like this:

{
    "data": [
        {
            "transactionHash": "0x0054ca548663ca459552b1d2550d980e119367d72246124c54e3bb954698e048",
            "transactionIndex": 82,
            "blockNumber": 5823546,
            "blockHash": "0x2eeb111e2f3eea9ad4fc1dedaba5f90367d1c52522f7dc65f2074dd145e941f7",
            "blockTime": 1529513158,
            "from": "0x47c168f28795b25a4f22ff4d79f79eb95374ace3",
            "to": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "action": "Cancel",
            "maker": "0x47c168f28795b25a4f22ff4d79f79eb95374ace3",
            "makerToken": "0x0000000000000000000000000000000000000000",
            "makerAmount": "75952800000000000",
            "makerBalance": null,
            "taker": null,
            "takerToken": "0x9a0242b7a33dacbe40edb927834f96eb39f8fbcb",
            "takerAmount": "31647000000000000000000",
            "gas": "250000",
            "gasPrice": "10000000000",
            "gasUsed": "59418",
            "orderHash": "0x7052bd9dc5c8f3330990e90831f991b81e593d398e55243b325b5de81e679d45",
            "orderId": "0xbb812abf4603b5d66c4ff8da8ab92691cd7039c69d1ca7d3a0286d6b89637a01",
            "token": "0x9a0242b7a33dacbe40edb927834f96eb39f8fbcb",
            "price": "2400000000000",
            "receiptStatus": "0x1",
            "isConfirmed": 1,
            "USD": "537.48",
            "EUR": "463.9",
            "GBP": "407.38",
            "CNY": "3538.64",
            "JPY": "59466.22",
            "KRW": "593585.23"
        },
        {
            "transactionHash": "0x0249329bfbdd29d36c4ef3e8b2898aaa6cd79bcb7a595acaf250808e9ec0af89",
            "transactionIndex": 95,
            "blockNumber": 5514696,
            "blockHash": "0xd03c5dc59748c8ce9ecdd90a61e0f7595958debfa4f7ad85a76f5125989e4f2b",
            "blockTime": 1524830688,
            "from": "0x47c168f28795b25a4f22ff4d79f79eb95374ace3",
            "to": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "action": "Withdraw",
            "maker": "0x47c168f28795b25a4f22ff4d79f79eb95374ace3",
            "makerToken": "0x9a0242b7a33dacbe40edb927834f96eb39f8fbcb",
            "makerAmount": "1000000000000000000000000",
            "makerBalance": "1000000000000000000000000",
            "taker": null,
            "takerToken": null,
            "takerAmount": null,
            "gas": "250000",
            "gasPrice": "30000000000",
            "gasUsed": "48174",
            "orderHash": null,
            "orderId": null,
            "token": "0x9a0242b7a33dacbe40edb927834f96eb39f8fbcb",
            "price": null,
            "receiptStatus": "0x1",
            "isConfirmed": 1,
            "USD": "680.15",
            "EUR": "563.36",
            "GBP": "497.01",
            "CNY": "4306.56",
            "JPY": "74456.33",
            "KRW": "736713.68"
        },
        {
            "transactionHash": "0x04b3bf718bb7653858f354eefc0bdd80bca7847121e4ae5cc65ba58979da075a",
            "transactionIndex": 53,
            "blockNumber": 5714880,
            "blockHash": "0x71ecce6b195d02040ad8f387b5acdcdaa693295e7294afebc61737178acd7568",
            "blockTime": 1527871914,
            "from": "0x47c168f28795b25a4f22ff4d79f79eb95374ace3",
            "to": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "action": "Withdraw",
            "maker": "0x47c168f28795b25a4f22ff4d79f79eb95374ace3",
            "makerToken": "0x12480e24eb5bec1a9d4369cab6a80cad3c0a377a",
            "makerAmount": "100000",
            "makerBalance": "0",
            "taker": null,
            "takerToken": null,
            "takerAmount": null,
            "gas": "250000",
            "gasPrice": "20000000000",
            "gasUsed": "33095",
            "orderHash": null,
            "orderId": null,
            "token": "0x12480e24eb5bec1a9d4369cab6a80cad3c0a377a",
            "price": null,
            "receiptStatus": "0x1",
            "isConfirmed": 1,
            "USD": "573.69",
            "EUR": "492.14",
            "GBP": "439.32",
            "CNY": "3679.13",
            "JPY": "63224.59",
            "KRW": "633748.82"
        },
        ...
    ]
}

Return Data

Parameter Type Always returned Description
data Array[] no Empty if there is no data to return or there are errors.
data[]:transactionHash string yes Transaction hash.
data[]:transactionIndex int yes Transaction index in block.
data[]:blockNumber int yes Block number.
data[]:blockHash string yes Block hash.
data[]:blockTime int yes Block time.
data[]:from string yes Transaction from address (user address).
data[]:to string yes Transaction to address (constract address).
data[]:action string yes Transaction type ("Trade", "Cancel", "Deposit", or "Withdraw").
data[]:maker string yes Maker address.
data[]:makerToken string yes Maker token address.
data[]:makerAmount string yes Maker amount (in natural unit with maker token decimals).
data[]:makerBalance string no Maker balance; available only for "Deposit" and "Withdraw" transactions.
data[]:taker string no Taker address; available only for "Trade" and "Cancel" transactions.
data[]:takerToken string no Taker token address; available only for "Trade" and "Cancel" transactions.
data[]:takerAmount string no Taker amount (in natural unit with taker token decimals); available only for "Trade" and "Cancel" transactions.
data[]:gas string yes Gas limit (in wei).
data[]:gasPrice string yes Gas price (in wei).
data[]:gasUsed string yes Gas used (in wei).
data[]:orderHash string no Corresponding order hash; available only for "Deposit" and "Withdraw" transactions.
data[]:orderId string no Corresponding order ID; available only for "Deposit" and "Withdraw" transactions.
data[]:token string yes Token address.
data[]:price string no Trade price (in wei); unavailable if incalculable.
data[]:receiptStatus string yes Transaction receipt status ("0x1" or "0x0").
data[]:isConfirmed int yes Indicator of confirmation status (in this API, the value is always 1 since all transactions are confirmed).
data[]:USD/EUR/... string no "Fiat"/ETH price reference.
errors Array[] no Empty if there is no error to return.

List User Pending Transactions

Return pending transactions for a given user specified by user ID.

HTTP Request

GET https://api.everbloom.co/users/:user/transactions/pending

URL Parameters

Parameter Description
user User ID (user's wallet address).

Query Parameters

Parameter Description
market (Optional) Filter by market ID. Defaults to no market filter.

HTTP Request

GET https://api.everbloom.co/users/0x47c168f28795b25a4f22ff4d79f79eb95374ace3/transactions/pending

The above command returns JSON structured like this:

{
    "data": [
        {
            "maker": "0x47c168f28795b25a4f22ff4d79f79eb95374ace3",
            "action": "Cancel",
            "gasPrice": "15000000000",
            "orderId": "0x01d8f77539ecc2a37a017f9476b96de3f898fc9b562e435f0a6a5572cda27e48",
            "takerToken": "0x0000000000000000000000000000000000000000",
            "makerAmount": "250000000000000000000",
            "blockNumber": 5785811,
            "taker": null,
            "blockTime": null,
            "makerToken": "0x5d65d971895edc438f465c17db6992698a52318d",
            "gasUsed": "59290",
            "token": "0x5d65d971895edc438f465c17db6992698a52318d",
            "from": "0x47c168f28795b25a4f22ff4d79f79eb95374ace3",
            "isConfirmed": 0,
            "updatedAt": 1528955469,
            "orderHash": "0x99cabf00ce084f831528162582047366ad23cb61861e31067f20d95141acde39",
            "nonce": 340,
            "gas": "250000",
            "receiptStatus": "0x1",
            "to": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
            "transactionIndex": 77,
            "blockHash": null,
            "takerAmount": "2925000000000000000",
            "transactionHash": "0xf7f580801e7505132f486e112b1dc98d2ba05290f1ad9533bee4ddc308a03689"
        }
    ]
}

Return Data

Parameter Type Always returned Description
data Array[] no Empty if there is no data to return or there are errors.
data[]:transactionHash string yes Transaction hash.
data[]:transactionIndex int yes Transaction index in block; 0 if not mined.
data[]:blockNumber int yes Block number; 0 if not mined.
data[]:blockHash string no Block hash; unavailable if not confirmed.
data[]:blockTime int no Block time; unavailable if not confirmed.
data[]:from string yes Transaction from address (user address).
data[]:to string yes Transaction to address (constract address).
data[]:action string yes Transaction type ("Trade", "Cancel", "Deposit", or "Withdraw").
data[]:maker string yes Maker address.
data[]:makerToken string yes Maker token address.
data[]:makerAmount string yes Maker amount (in natural unit with maker token decimals).
data[]:makerBalance string no Maker balance; available only for "Deposit" and "Withdraw" transactions (in this API, the value is always null).
data[]:taker string no Taker address; available only for "Trade" and "Cancel" transactions.
data[]:takerToken string no Taker token address; available only for "Trade" and "Cancel" transactions.
data[]:takerAmount string no Taker amount (in natural unit with taker token decimals); available only for "Trade" and "Cancel" transactions.
data[]:gas string yes Gas limit (in wei).
data[]:gasPrice string yes Gas price (in wei).
data[]:gasUsed string no Gas used (in wei); unavailable if not mined.
data[]:orderHash string no Corresponding order hash; available only for "Deposit" and "Withdraw" transactions.
data[]:orderId string no Corresponding order ID; available only for "Deposit" and "Withdraw" transactions.
data[]:token string yes Token address.
data[]:price string no Trade price (in wei); unavailable if incalculable.
data[]:receiptStatus string no Transaction receipt status ("0x1" or "0x0"); unavailable if not mined.
data[]:isConfirmed int yes Indicator of confirmation status (in this API, the value is always 0 since all transactions are pending).
errors Array[] no Empty if there is no error to return.

Reports

Get Snapshots

Returns snapshots of different markets and time intervals.

HTTP Request

GET https://api.everbloom.co/snapshots/:market/interval/:interval

URL Parameters

Parameter Description
market Specified in the form of a trading pair of tokens address with chain prefix.
interval Time interval (e.g. "1m" = 1 minute, "4h" = 4 hours).

Query Parameters

Parameter Description
start (Optional) Start unix timestamp. Defaults to earliest available time.
end (Optional) End unix timestamp. Defaults to now.
currencies (Optional) "Fiat"/ETH price reference (supported currencies: USD, EUR, GBP, CNY, JPY, KRW), separated by commas. Defaults to none.

Example Request

GET https://api.everbloom.co/snapshots/e0x0000000000000000000000000000000000000000_e0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c/interval/1m?start=1517443200&end=1524682373&currencies=USD,CNY

The above command returns JSON structured like this:

{
    "data": [
        {
            "intervalStart": 1517531520,
            "token": "0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "numberTransactions": 2,
            "open": "900112000000000",
            "high": "900112000000000",
            "low": "12900000000000",
            "close": "900112000000000",
            "volume": "77618920000000000",
            "tokenVolume": "171",
            "updatedAt": 1537470143,
            "USD": "968.87",
            "CNY": "7793.72"
        },
        {
            "intervalStart": 1517568480,
            "token": "0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "numberTransactions": 1,
            "open": "1000000000000000",
            "high": "1000000000000000",
            "low": "1000000000000000",
            "close": "1000000000000000",
            "volume": "26000000000000000",
            "tokenVolume": "26",
            "updatedAt": 1537470146,
            "USD": "856.66",
            "CNY": "6285.3"
        },
        {
            "intervalStart": 1517580720,
            "token": "0x08711d3b02c8758f2fb3ab4e80228418a7f8e39c",
            "numberTransactions": 1,
            "open": "1000000000000000",
            "high": "1000000000000000",
            "low": "1000000000000000",
            "close": "1000000000000000",
            "volume": "14000000000000000",
            "tokenVolume": "14",
            "updatedAt": 1537470148,
            "USD": "916.06",
            "CNY": "6339.23"
        },
        ...
    ]
}

Return Data

Parameter Type Always returned Description
data Array[] no Empty if there is no data to return or there are errors
data[]:intervalStart string yes Interval start time (unix timestamp).
data[]:token string yes Address of the token.
data[]:numberTransactions string yes Number of transactions in the time interval.
data[]:open string yes Open price (in wei) in the time interval; null if data is not available.
data[]:high string yes High price (in wei) in the time interval; null if data is not available.
data[]:low string yes Low price (in wei) in the time interval; null if data is not available.
data[]:close string yes Close price (in wei) in the time interval; null if data is not available.
data[]:volume string yes ETH volume (in wei) in the time interval; null if data is not available.
data[]:tokenVolume string yes Token volume (in natural unit with token decimals); null if data is not available.
data[]:updatedAt int yes Unix timestamp.
data[]:USD/EUR/... string no "Fiat"/ETH price reference.
errors Array[] no Empty if there is no error to return.

List Pairs

Returns all active token pairs.

HTTP Request

GET https://api.everbloom.co/pairs

The above command returns JSON structured like this:

{
    "data": [
        {
            "id": "0ED-ETH",
            "fromSymbol": "0ED",
            "toSymbol": "ETH"
        },
        {
            "id": "0xBTC-ETH",
            "fromSymbol": "0xBTC",
            "toSymbol": "ETH"
        },
        {
            "id": "10MT-ETH",
            "fromSymbol": "10MT",
            "toSymbol": "ETH"
        },
        ...
    ]
}

Return Data

Parameter Type Always returned Description
data Array[] no Empty if there is no data to return or there are errors
data[]:id string yes Pair identifier.
data[]:fromSymbol string yes From token symbol.
data[]:toSymbol string yes To token symbol.
errors Array[] no Empty if there is no error to return.

List Trades by Pair

Return trade data for a single pair specified by pair ID.

HTTP Request

GET https://api.everbloom.co/pairs/:pair/trades

URL Parameters

Parameter Description
pair Pair ID.

Query Parameters

Parameter Description
end (Optional) End unix timestamp. Defaults to now.
limit (Optional) Number of trades to be returned. Defaults to 100, maximum 1,000.

Example Request

GET https://api.everbloom.co/pairs/KIN-ETH/trades?end=1536870990&limit=3

The above command returns JSON structured like this:

{
    "data": [
        {
            "id": "0xd5fed8b09138dfc1bcad6823dbfb0cb2ed4bfe8c17a32b86dc5421bdd616ccea",
            "timestamp": 1536870990,
            "price": "0.000000329490000000",
            "amount": "43800.000000000000000000",
            "type": "buy"
        },
        {
            "id": "0xb59868d0ebf6cb1f839efe3eced0973d7b7cd602d27ae31bbf14d738cc8dcfd1",
            "timestamp": 1536870872,
            "price": "0.000000320000000000",
            "amount": "155561.144866839106214632",
            "type": "sell"
        },
        {
            "id": "0x8dbaf417fd5dae65ace15c90eb1dab534968212e88dbba4b7095ad1ecc28c986",
            "timestamp": 1536869651,
            "price": "0.000000715000000000",
            "amount": "9012.089247751549650349",
            "type": "buy"
        }
    ]
}

Return Data

Parameter Type Always returned Description
data Array[] no Empty if there is no data to return or there are errors
data[]:id string yes Transaction hash.
data[]:timestamp int yes Unix timestamp in seconds.
data[]:price string yes Price in ETH (maximum 18 decimal places).
data[]:amount string yes Amount of token traded (maximum 18 decimal places, depends on token precision).
data[]:type string yes Buy or sell.
errors Array[] no Empty if there is no error to return.

Websocket

Overview

The websocket feed provides real-time market data updates for orders and trades.

Endpoint

https://socket.everbloom.co

Subscribe

To begin receiving websocket messages, you must first send a subscribe message to the server indicating which channels you wish to receive updates.

Request JSON Parameters

Parameter Type Required Description
type string yes Use "subscribe".
channels Array[] yes Market ID or user wallet address. If you subscribe to a market, you will receive order messages and transaction messages of the market. If you subscribe to a user wallet address, you will receive transaction messages of the user.

Example request:

{
    "type": "subscribe",
    "channels": [
        "e0x0000000000000000000000000000000000000000_e0x8f3470a7388c05ee4e7af3d01d8c722b0ff52374",
        "0xfb0b70dff5e311a835901cbb3ed093853f561d2a"
    ]
}

Order Message

Example order message:

{
    "id": "0x5f95421b91780868f25a28e68919bb763478f02cbbc5680b6d9f2da420218d79",
    "contract": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
    "maker": "0xd52269b3ed18ae738241585ce04175db09035043",
    "makerToken": "0xea38eaa3c86c8f9b751533ba2e562deb9acded40",
    "makerAmount": "11000000000000000000",
    "takerToken": "0x0000000000000000000000000000000000000000",
    "takerAmount": "1540000000000000",
    "expires": "5029295",
    "nonce": "3954681887",
    "signature": {
        "v": 27,
        "r": "0xc32b58f14a4bd1484087a6cd1d40f64997ef3d880daf943cd985c3593ab7df31",
        "s": "0x6c549de16cd36eb303a3b6689e2b158e573ee6d7dbd65f44c3704f02a6531ad4"
    },
    "remainingTakerAmount": "0",
    "state": "CLOSED",
    "version": -1,
    "marketId": "e0x0000000000000000000000000000000000000000_e0xea38eaa3c86c8f9b751533ba2e562deb9acded40"
}
Parameter Type Always returned Description
id string yes Order ID.
contract string yes Contract address.
maker string yes Maker address.
makerToken string yes Maker token address.
makerAmount string yes Maker amount (in natural unit with maker token decimals).
takerToken string yes Taker token address.
takerAmount string yes Taker amount (in natural unit with taker token decimals).
expires string yes The block number when the order should expire.
nonce string yes A random number.
signature object yes Signature object of sha256(contract, takerToken, takerAmount, makerToken, makerAmount, expires, nonce) after being signed by the maker.
signature:v int yes Signature recovery ID.
signature:r string yes Output of ECDSA signature.
signature:s string yes Output of ECDSA signature.
remainingTakerAmount string no Remaining taker amount to be filled.
availMakerAmount string no Available maker amount calculated based on remainingTakerAmount and current maker deposit balance.
availTakerAmount string no Available taker amount calculated based on remainingTakerAmount and current maker deposit balance.
price string no Order price (in wei); unavailable if incalculable.
state string yes Order state ("OPEN", "CLOSED", or "EXPIRED").
version int yes Order version; auto increment on updates; -1 means final version.
marketId string yes Market ID.

Transaction Message

Example transaction message:

{
    "transactionHash": "0xf130e660ba590c3545d28bde87832d69f57768ffc47c6ada64b973b58a39b7b9",
    "transactionIndex": 43,
    "blockNumber": 6539768,
    "blockHash": "0x74e040c3986d47729f800fce5cc3c1aa3363ef133f236ad2b3ee972bb5b68a0f",
    "blockTime": 1539889901,
    "from": "0xbac02097f0458a2073b0f963febe4850f22b4421",
    "to": "0x8d12a197cb00d4747a1fe03395095ce2a5cc6819",
    "action": "Trade",
    "maker": "0x87f46c345abb8254901cde005544f5d4918cabd6",
    "makerToken": "0x818fc6c2ec5986bc6e2cbf00939d90556ab12ce5",
    "makerAmount": "1000000000000000000000",
    "taker": "0xbac02097f0458a2073b0f963febe4850f22b4421",
    "takerToken": "0x0000000000000000000000000000000000000000",
    "takerAmount": "281000000000000",
    "gas": "250000",
    "gasPrice": "11000000000",
    "gasUsed": "78050",
    "orderHash": "0xc805c5e3704072f1a00caf530ea9e677e6e9d00209dc4491b07ede498ea699be",
    "orderId": "0x863fbc5ff97d636cf36594f55bf272efe65871fcab7caa483b795a579d69fcba",
    "token": "0x818fc6c2ec5986bc6e2cbf00939d90556ab12ce5",
    "receiptStatus": "0x1",
    "isConfirmed": 1,
    "price": "281000000000",
    "tradeId": 6539768043000
}
Parameter Type Always returned Description
transactionHash string yes Transaction hash.
transactionIndex int yes Transaction index in block; 0 if not mined.
blockNumber int yes Block number; 0 if not mined.
blockHash string no Block hash; unavailable if not confirmed.
blockTime int no Block time; unavailable if not confirmed.
from string yes Transaction from address (user address).
to string yes Transaction to address (constract address).
action string yes Transaction type ("Trade", "Cancel", "Deposit", or "Withdraw").
maker string yes Maker address.
makerToken string yes Maker token address.
makerAmount string yes Maker amount (in natural unit with maker token decimals).
makerBalance string no Maker balance; available only for "Deposit" and "Withdraw" transactions.
taker string no Taker address; available only for "Trade" and "Cancel" transactions.
takerToken string no Taker token address; available only for "Trade" and "Cancel" transactions.
takerAmount string no Taker amount (in natural unit with taker token decimals); available only for "Trade" and "Cancel" transactions.
gas string yes Gas limit (in wei).
gasPrice string yes Gas price (in wei).
gasUsed string no Gas used (in wei); unavailable if not mined.
orderHash string no Corresponding order hash; available only for "Deposit" and "Withdraw" transactions.
orderId string no Corresponding order ID; available only for "Deposit" and "Withdraw" transactions.
token string yes Token address.
price string no Trade price (in wei); unavailable if incalculable.
receiptStatus string no Transaction receipt status ("0x1" or "0x0"); unavailable if not mined.
isConfirmed int yes Indicator of confirmation status.
tradeId int no Unique integer trade ID; available only for confirmed successful trades.

Unsubscribe

If you are no longer interested in a channel, you may send an unsubscribe message to the server indicating which channels you no longer wish to receive updates for.

Request JSON Parameters

Parameter Type Required Description
type string yes Use "unsubscribe".
channels Array[] yes Market ID or user wallet address. If you unsubscribe to a market, you will stop receiving order messages and transaction messages of the market. If you unsubscribe to a user wallet address, you will stop receiving transaction messages of the user.

Example request:

{
    "type": "unsubscribe",
    "channels": [
        "e0x0000000000000000000000000000000000000000_e0x8f3470a7388c05ee4e7af3d01d8c722b0ff52374",
        "0xfb0b70dff5e311a835901cbb3ed093853f561d2a"
    ]
}

Unsubscribe All

If you are no longer interested in all message streams, you may send an unsubscribeAll message to the server and then disconnect websocket connection.

Request JSON Parameters

Parameter Type Required Description
type string yes Use "unsubscribeAll".

Example request:

{
    "type": "unsubscribeAll"
}