Exchangily-api

This API includes a number of different features, including the exchange data for exchangily, as well as blockchain data for the Kanban blockchain


Spot Exchange Data Endpoints


Summary API

Overview of market data for all tickers and all markets.

  • URL

    /publicapi/summary

  • Method:

    GET

  • URL Params

    Required:None

  • Data Params

    None

  • Success Response:

    Code: 200
    Content:,
    { "success": true, "data": { "timestamp": 1593930416, "bids": [["140","0.983476544967673806"],["139.25","0.993662014942688081"]], "asks": [["140.02","0.000376122891084008"], ["140.07","0.000316767448010911"] }, "message": null }

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    { success: true, data: null , message: 'error: could not retrieve order book data' }


Ticker API

24-hour rolling window price change statistics for all markets.

  • URL

    /publicapi/ticker

  • Method:

    GET

  • URL Params

    Required:None

  • Data Params

    None

  • Success Response:

    Code: 200
    Content:,
    { "success": true, "data": { "ETH_USDT": { "last": "139.98","base_volume": "140.21355","quote_volume": "33655.332 }, "ETH_BTC": { "last": "0.020799","base_volume": "400.243","quote_volume": "10.0605 }, .. }, "message": null }

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    { success: true, data: null , message: 'error: could not retrieve ticker data' }


Orderbook API

Market depth of a trading pair. One array containing a list of ask prices and another array containing bid prices.

  • URL

    /publicapi/orderbook/:marketPair/:depth?

  • Method:

    GET

  • URL Params

    Required:

    string marketPair: '<basecurrency>_<quotecurrency>'
    ,
    e.g. 'ETH_USDT'
    ,

    Optional:

    ,
    number depth: <combined total depth - bids and asks will both be limited to depth/2>
    ,
    e.g. '4' will return 2 bids and 2 asks if they exist
    ,
    default: '0' - returns full depth of order book

  • Data Params

    None

  • Success Response:

    Code: 200
    Content:,
    { "success": true, "data": { "timestamp": 1593930416, "bids": [["140","0.983476544967673806"],["139.25","0.993662014942688081"]], "asks": [["140.02","0.000376122891084008"], ["140.07","0.000316767448010911"] }, "message": null }

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    { success: true, data: null , message: 'error: could not retrieve order book data' }


Trades API

Recently completed trades for a given market.

  • URL

    /publicapi/trades/:marketPair

  • Method:

    GET

  • URL Params

    Required:

    ,
    string marketPair: '<basecurrency>_<quotecurrency>'
    ,
    e.g. 'ETH_USDT'

  • Data Params

    None

  • Success Response:

    Code: 200
    Content:,
    { "success": true, "data": [{ "tradeId": 180, "price": "0.020799", "time": 1586818157, "baseVolume": "0.000273746650646437", "type": "buy"}, {"tradeId": 179, "price": "0.020798", "time": 1586818157, "baseVolume": "0.00027325093596502", "type": "buy"}, {"tradeId": 178, "price": "0.020798", "time": 1585950236, "baseVolume": "0.000307954300218847", "type": "buy"}, {"tradeId": 177, "price": "0.020797", "time": 1585950236, "baseVolume": "0.000222248878666554", "type": "buy"}}], "message": null}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    { success: true, data: null , message: 'error: could not retrieve order book data' }


Kanban Network


Get Scar Address

Returns the address of the SCAR contract related to the kanban network.

  • URL

    /kanban/getScarAddress

  • Method:

    GET

  • Success Response:

    Code: 200
    Content:,
    de61a82dd48b3c88257152bbacea5a858f3f0cb5

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getScarAddress did not resolve: errMessage


Get Block Number

Returns the chain height of the kanban network.

  • URL

    /kanban/getBlockNumber

  • Method:

    GET

  • Success Response:

    Code: 200
    Content:,
    {"blockNumber":{"blockNumber":"4273645","blockNumberHex":"0x4135ed"}}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getBlockNumber did not resolve: errMessage


Get Block

Returns the data for a block specified by a block number or block hash.

  • URL

    /kanban/getBlock/:blockHashOrBlockNumber?fullObjects=true

  • Method:

    GET

  • URL Params

    Required: blockHashOrBlockNumber,Optional: fullObjects (setting this to true will change "transactions" field from array of string to array of object)

  • Success Response:

    Code: 200
    Content:,
    {"block":{"_writeBack":"0xc180","crosschainRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","crosschaintxs":[],"difficulty":"1","extraData":"0x","gasLimit":51200000,"gasUsed":0,"hash":"0xec06760ace5ac816e6bf95cefd792b0cee4086e2b4fc90b1a44ea56a6d0b0023","hashNoSignature":"0x34dcc6bc44e2c66006a625a4cca3b8ecbd4f7d623388651115bd30177db74f2e","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0da815709b73ddb10f653c7e3997b42961f729ab","mixHash":"0x0000000000000000000000000000000000000000000000000000000000000000","nextBlock":"0xa2f1d4ac09563831bbc72e157ffbf7e6e912691518a25bc6dba6a5ec1a14a24c","nonce":"0x0000000000000000","number":100,"parentHash":"0xbdf345c61d4291b7ee7cd89c82227f41403c93c46118e173527527ff4b6249bf","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","round":0,"sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","signature":"180316ad484a2b0f76bdf8f5eed65aa27d3ad335059ad06362ddc24f86df65f8901385ae11e6678bcf0c5ffee809f8c08a98675a186a786996300b37c506356c04629be0000000000000000000000000000000000000000000000000000000000000","size":649,"stateRoot":"0x7b3875b1226e06a855aa30d5f6826333ad2a207e20f99f19a646b4d4012f4259","timestamp":1607463463,"totalDifficulty":"101","transactions":[],"transactionsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","uncles":[]}}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getBlock did not resolve: errMessage


Get Transaction

Returns the data for a transaction specified by a transaction hash.

  • URL

    /kanban/getTransaction/:transactionHash

  • Method:

    GET

  • URL Params

    Required: transactionHash

  • Success Response:

    Code: 200
    Content:,
    {"transaction":{"blockHash":"0x8f9e7815cbc8246c6044cd64fac403f7df22557a0840cd1f3264ce1e72b9167a","blockNumber":1520086,"from":"0xde924931fad3cbbbb19f550b28efe989cbb4d69a","gas":20000000,"gasPrice":"50000000","hash":"0x5b4ae931e4c86c0b86a8d75b2ac6e9105c219cb8e4f1c322c6cb9314670d0065","input":"0x19b54ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000300010000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000002c086263a8478700000000000000000000000000000000000000000000000000f523226980800069fb8b9f251a2633a78f4e8dbe92bb5f2556b76cdae66bd48fb6303e438c9abe","nonce":5,"to":"0xd3506f66ba38e1275dbc2dd72edded9d81d15eeb","transactionIndex":0,"value":"0","v":"0x1ca","r":"0x632f7808e83a480b379e20a880b4ea9e8e8b6d99b1367aef30cfeee779629963","s":"0x25d122f46c6dc63c7bded55156cc35fdf5a68b5ccb863f530661c27b0e38144e"}}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getTransaction did not resolve: errMessage


Get Transaction From Block

Returns the data for a transaction specified by a block hash/number and a transaction index.

  • URL

    /kanban/getTransactionFromBlock/:blockHashOrBlockNumber/:indexNumber

  • Method:

    GET

  • URL Params

    Required: blockHashOrBlockNumber,Required: transaction index

  • Success Response:

    Code: 200
    Content:,
    {"transaction":{"blockHash":"0x8f9e7815cbc8246c6044cd64fac403f7df22557a0840cd1f3264ce1e72b9167a","blockNumber":1520086,"from":"0xde924931fad3cbbbb19f550b28efe989cbb4d69a","gas":20000000,"gasPrice":"50000000","hash":"0x5b4ae931e4c86c0b86a8d75b2ac6e9105c219cb8e4f1c322c6cb9314670d0065","input":"0x19b54ba90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000300010000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000002c086263a8478700000000000000000000000000000000000000000000000000f523226980800069fb8b9f251a2633a78f4e8dbe92bb5f2556b76cdae66bd48fb6303e438c9abe","nonce":5,"to":"0xd3506f66ba38e1275dbc2dd72edded9d81d15eeb","transactionIndex":0,"value":"0","v":"0x1ca","r":"0x632f7808e83a480b379e20a880b4ea9e8e8b6d99b1367aef30cfeee779629963","s":"0x25d122f46c6dc63c7bded55156cc35fdf5a68b5ccb863f530661c27b0e38144e"}}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getTransactionFromBlock did not resolve: errMessage


Get Transaction Receipt

Returns the receipt of a transaction specified by a transaction Hash.

  • URL

    /kanban/getTransactionReceipt/:transactionHash

  • Method:

    GET

  • URL Params

    Required: transactionHash

  • Success Response:

    Code: 200
    Content:,
    {"transactionReceipt":{"blockHash":"0x8f9e7815cbc8246c6044cd64fac403f7df22557a0840cd1f3264ce1e72b9167a","blockNumber":1520086,"contractAddress":null,"cumulativeGasUsed":207907,"from":"0xde924931fad3cbbbb19f550b28efe989cbb4d69a","gasUsed":207907,"logs":[{"address":"0x5932d8bf64067d31bf759e6e7f622c1d8da8707e","topics":["0x79f0361df1acaccaaa92cda754e12bc31cf48830b7f1f94b33f1b0f3e508a7e0"],"data":"0x000000000000000000000000de924931fad3cbbbb19f550b28efe989cbb4d69a000000000000000000000000d3506f66ba38e1275dbc2dd72edded9d81d15eeb0000000000000000000000000000000000000000000000000000000000030001000000000000000000000000000000000000000000000000000309cb6598aad2","blockNumber":1520086,"transactionHash":"0x5b4ae931e4c86c0b86a8d75b2ac6e9105c219cb8e4f1c322c6cb9314670d0065","transactionIndex":0,"blockHash":"0x8f9e7815cbc8246c6044cd64fac403f7df22557a0840cd1f3264ce1e72b9167a","logIndex":0,"removed":false},{"address":"0xd3506f66ba38e1275dbc2dd72edded9d81d15eeb","topics":["0x99ada2eddb843fa3b2a291d85443d5861167c5826c0c10c74d31bb8087fa3746"],"data":"0x000000000000000000000000de924931fad3cbbbb19f550b28efe989cbb4d69a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000300010000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000002c086263a8478700000000000000000000000000000000000000000000000000f523226980800069fb8b9f251a2633a78f4e8dbe92bb5f2556b76cdae66bd48fb6303e438c9abe","blockNumber":1520086,"transactionHash":"0x5b4ae931e4c86c0b86a8d75b2ac6e9105c219cb8e4f1c322c6cb9314670d0065","transactionIndex":0,"blockHash":"0x8f9e7815cbc8246c6044cd64fac403f7df22557a0840cd1f3264ce1e72b9167a","logIndex":1,"removed":false},{"address":"0x5932d8bf64067d31bf759e6e7f622c1d8da8707e","topics":["0x2361f1fd1fe050b019aa792ff3bfc58f1184bf129fc13e652306a99ae8c63684"],"data":"0x000000000000000000000000de924931fad3cbbbb19f550b28efe989cbb4d69a000000000000000000000000c4845492b0e0330c3c11f2c1e09290c028efcdcf0000000000000000000000000000000000000000000000000000000000030001000000000000000000000000000000000000000000000000000309cb6598aad2","blockNumber":1520086,"transactionHash":"0x5b4ae931e4c86c0b86a8d75b2ac6e9105c219cb8e4f1c322c6cb9314670d0065","transactionIndex":0,"blockHash":"0x8f9e7815cbc8246c6044cd64fac403f7df22557a0840cd1f3264ce1e72b9167a","logIndex":2,"removed":false},{"address":"0x5932d8bf64067d31bf759e6e7f622c1d8da8707e","topics":["0x2361f1fd1fe050b019aa792ff3bfc58f1184bf129fc13e652306a99ae8c63684"],"data":"0x000000000000000000000000c4845492b0e0330c3c11f2c1e09290c028efcdcf000000000000000000000000de924931fad3cbbbb19f550b28efe989cbb4d69a0000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000002be69132b7e70f","blockNumber":1520086,"transactionHash":"0x5b4ae931e4c86c0b86a8d75b2ac6e9105c219cb8e4f1c322c6cb9314670d0065","transactionIndex":0,"blockHash":"0x8f9e7815cbc8246c6044cd64fac403f7df22557a0840cd1f3264ce1e72b9167a","logIndex":3,"removed":false},{"address":"0x5932d8bf64067d31bf759e6e7f622c1d8da8707e","topics":["0xc1c38d8dc1e9faeb17f58e5c6354a524e72347b170d902ae541d078f9f555d0e"],"data":"0x000000000000000000000000c4845492b0e0330c3c11f2c1e09290c028efcdcf0000000000000000000000000000000000000000000000000000000000000fee000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000b45bafacad3","blockNumber":1520086,"transactionHash":"0x5b4ae931e4c86c0b86a8d75b2ac6e9105c219cb8e4f1c322c6cb9314670d0065","transactionIndex":0,"blockHash":"0x8f9e7815cbc8246c6044cd64fac403f7df22557a0840cd1f3264ce1e72b9167a","logIndex":4,"removed":false},{"address":"0xd3506f66ba38e1275dbc2dd72edded9d81d15eeb","topics":["0xa06796adffcdfaa60e8cfc9a3c5e3d6e171c80dd943f931e96a5c28233194998"],"data":"0x69fb8b9f251a2633a78f4e8dbe92bb5f2556b76cdae66bd48fb6303e438c9abe000000000000000000000000000000000000000000000000000309cb6598aad2000000000000000000000000000000000000000000000000000000000000000056e38744942942396806721afd9da6ad138dad7d2a53db06feeec5bfea9cc5ea000000000000000000000000000000000000000000000000002be69132b7e70f00000000000000000000000000000000000000000000000000000b45bafacad30000000000000000000000000000000000000000000000000000000000000002","blockNumber":1520086,"transactionHash":"0x5b4ae931e4c86c0b86a8d75b2ac6e9105c219cb8e4f1c322c6cb9314670d0065","transactionIndex":0,"blockHash":"0x8f9e7815cbc8246c6044cd64fac403f7df22557a0840cd1f3264ce1e72b9167a","logIndex":5,"removed":false}],"logsBloom":"0x00080000000080200000000000000000000000000000000008000000000000000010000000000000000000400010000000000000000000000000200000080000000000000000000000800000000000000000010000000000000000000000040000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001001000000000000000000000000000000000000000000000600000000000000000004000000000000000000000000000000000000000000000000000000000001080000000000000000000000000000000000000000000000000000000000000000010000000000","status":"0x1","to":"0xd3506f66ba38e1275dbc2dd72edded9d81d15eeb","transactionHash":"0x5b4ae931e4c86c0b86a8d75b2ac6e9105c219cb8e4f1c322c6cb9314670d0065","transactionIndex":0}}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getTransactionReceipt did not resolve: errMessage


Get Transaction Count

Returns the number of mined transactions for a specified kanban address.

  • URL

    /kanban/getTransactionCount/:address

  • Method:

    GET

  • URL Params

    Required: address

  • Success Response:

    Code: 200
    Content:,
    {"transactionCount":0}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getTransactionCount did not resolve: errMessage


Get Balance

Returns the balance of FAB present in a kanban address. This type of FAB powers contracts on the Kanban network. Fields other than FAB are deprecated.

  • URL

    /kanban/getBalance/:address

  • Method:

    GET

  • URL Params

    Required: address

  • Success Response:

    Code: 200
    Content:,
    {"balance":{"BTC":"0x0","ETH":"0x0","FAB":"0x1bc16b3d31afe900"}}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getBalance did not resolve: errMessage


Send Raw Transaction (Kanban)

Used for submitting a raw (signed) transaction to the kanban network.

  • URL

    /kanban/sendRawTransaction

  • Method:

    POST

  • Body Params

    Required: signedTransactionData string

  • Success Response:

    Code: 200
    Content:,
    {"transactionHash":"0xa21eb41ab21d47b61f77fa2b42f341ca5b26b6a8c514ed504245a848b8ce43e8"}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    sendRawTransaction did not resolve: errMessage


Get Storage At

Fetches data from a smart contract.

  • URL

    /kanban/getStorageAt/:address/:position?defaultBlock=latest

  • Method:

    GET

  • URL Params

    Required: address string,Required: position number,Optional: defaultBlock number or string

  • Success Response:

    Code: 200
    Content:,
    {"storage":"0x0000000000000000000000000af455fa96a3c94da3b68ad3b39569408ba9de3f"}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getStorageAt did not resolve: errMessage


Get Code

Return.

  • URL

    /kanban/getCode/:address?defaultBlock=latest

  • Method:

    GET

  • URL Params

    Required: address string,Optional: defaultBlock number or string

  • Success Response (Code field has been edited to be much shorter. Real values may be quite long.):

    Code: 200
    Content:,
    {"code": "0x6080604050a62461bcd028152602060048201526019602482051691960066604080832054938a168356e7420747970652068617320616c7..."}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getCode did not resolve: errMessage


Call Contract

Used for calling a read-only function in a smart contract.

  • URL

    /kanban/call

  • Method:

    POST

  • Body Params

    Required: transactionOptions Object { to: string, data: string },Optional: defaultBlock number or string

  • Success Response:

    Code: 200
    Content:,
    {"transactionHash":"0xa21eb41ab21d47b61f77fa2b42f341ca5b26b6a8c514ed504245a848b8ce43e8"}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    sendRawTransaction did not resolve: errMessage


Get Logs

Used for calling a read-only function in a smart contract.

  • URL

    /kanban/getLogs

  • Method:

    POST

  • Body Params

    Required: paramsObject Object { fromBlock: hex string (optional), toBlock: hex string (optional), address: hex string (optional), topics: string[] (optional), blockHash: hex string (optional) }

  • Success Response:

    Code: 200
    Content:,
    {"logs"[ (truncated due to length) ]}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getLogs did not resolve: errMessage


Exchangily


Get Coinpool Contract Address

Returns the address of the Coinpool contract on kanban.

  • URL

    /exchangily/getCoinPoolAddress

  • Method:

    GET

  • Success Response:

    Code: 200
    Content:,
    0x5932d8bf64067d31bf759e6e7f622c1d8da8707e

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getCoinpoolAddress did not resolve: errMessage


Get Exchange Contract Address

Returns the address of the Exchange contract on kanban.

  • URL

    /exchangily/getExchangeAddress

  • Method:

    GET

  • Success Response:

    Code: 200
    Content:,
    0xd3506f66ba38e1275dbc2dd72edded9d81d15eeb

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getExchangeAddress did not resolve: errMessage


Get Token List (kanban config)

Returns the token list config for Kanban.

  • URL

    /exchangily/getTokenList

  • Method:

    GET

  • Success Response (abridged to only 1 token):

    Code: 200
    Content:,
    {"success":true,"data":{"tokenList":[{"tickerName":"DSC","type":196630,"decimal":18,"contract":"0xe3d64fca00dd7b76b45f4b8425f49f6e6327623d","minWithdraw":"1000","feeWithdraw":"500"}]},"message":null}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    {success: false,data: null,message: ":getTokenList did not resolve: errMessage":}


Submit Deposit

Used for submitting a cross chain deposit request to Exchangily.

  • URL

    /submitDeposit

  • Method:

    POST

  • Body Params

    Required: rawTransaction string,Required: rawKanbanTransaction string

  • Success Response:

    Code: 200
    Content:,
    {"success":true,"data":{"transactionID":"1514fd9ac1700cb28b2cdf821563a44cb4a73373962768b92c88f940427e4762"}}

  • Error Response (example 1):

    Code: 500 SERVER ERROR
    Content:,
    {"success": false,"error": "rawTransaction must be a non-empty string","code": -1}

  • Error Response (example 2):

    Code: 409 SERVER ERROR
    Content:,
    {"success": false,"error": "A deposit using this transaction hash has already been confirmed","code": -2}


Check for Deposits that need to be reconfirmed

Used to resolve identify nonce conflicts or similar errors in cross-chain deposits (due to the 2-phase submission process) for a given kanban address. We say that these deposits need to be confirmed, meaning that a new kanban transaction must be made (likely the same as before, but with a new nonce) to complete the deposit

  • URL

    /depositerr/:address

  • Method:

    GET

  • URL Params

    Required: address

  • Success Response:

    Code: 200
    Content:,
    [{"coinType":458753,"transactionID":"62f400462904f924f09fbfcf4fe1fb355ba55be70fe4749787fe7252ffde570f","amount":"120000000000000","v":"0x1f","r":"0xfa14b5935be35cdcef40cb2853fd13fc3706246b7506982a7d58d3fa8981ebac","s":"0x38c7f029a285ad1afb462aa340ae8e0d84d18727d2cd0eb390fecb9308ab52de"}]

  • Error Response:

    Note: This route is unlikely to give an error but using a bad address paramter may result in the array returning as empty


Confirm Deposit

Used for resolving a nonce conflict or similar issue in the process of a making a deposit to exchangily.

  • URL

    /resubmitDeposit

  • Method:

    POST

  • Body Params

    Required: rawKanbanTransaction string

  • Success Response:

    Code: 200
    Content:,
    {"success":true,"data":{"transactionID":"7860844ac2adea76cf621f18f47bea0cafe53b67d9ed7d4eaf17d4df6f0b4ee4"}}

  • Error Response (example 1):

    Err Code (internal):,-1: general error,-2: transactionID already in database,-3: given transactionID not found or not waiting for resubmission,-4: no response from api,-5: insufficient funds (gas) for kanban transaction fee,HTTP Code: 500 SERVER ERROR (codes -1 -2 -4 -5) or 404 NOT FOUND (code -3)
    Content:,
    {"success": false,"error": errMessage,"code": errCode}


Check Deposit Status

Check the processing status of a deposit.

  • URL

    /checkStatus/:transactionHash

  • Method:

    GET

  • URL Params

    Required: transactionHash

  • Success Response:

    Status Codes (internal):,0: confirmed,1: pending,2: failed,3: need to confirm deposit/resubmit kanban transaction,-3: txid not found (this response will actually be accompanied by 500 status code, but means the query successfully found nothing because the txid doesnt exist),Code: 200
    Content:,
    {"code":"statusCode","message":"statusMessage"}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    {"message":"errMessage"}


Price

Returns the latest price of a pair in Exchangily.

  • URL

    /exchangily/price/:pairName

  • Method:

    GET

  • URL Params

    Required: pairName

  • Success Response:

    Code: 200
    Content:,
    "1.21"

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    price encoutered an error
    ,Code: 404 NOT FOUND
    Content:,
    not found


Wallet


Wallet Balances

Returns a batch of data used for the exchangily multi-coin wallet, including third-party chain balances, exchange balances, USD values, and deposits needing to undergo the 'confirm deposit' process. Returned values of '-1' indicate a failure to retreieve the data in question

  • URL

    /v2/walletBalances

  • Method:

    POST

  • Body Params

    Required: btcAddress string,Required: ethAddress string,Required: fabAddress string,Required: ltcAddress string,Required: dogeAddress string,Required: trxAddress string,Optional: showEXGAssets bool (note: EXGAssets here is short for Assets in Exchange, not the coin EXG)

  • Success Response:

    Code: 200
    Content:,
    {"success":true,"data":[{"coin":"CAD","usdValue":{"USD":0.7891187639}},{"coin":"RMB","usdValue":{"USD":0.1545850968}},{"coin":"BTC","balance":"-1","lockBalance":"0","usdValue":{"USD":48140},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"ETH","balance":"0.674835173944176241","lockBalance":"0","usdValue":{"USD":1515.39},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"EXG","balance":"3392108.454817505310430382","lockBalance":"0","lockers":[],"usdValue":{"USD":0.02},"depositErr":[],"unlockedExchangeBalance":"14020.2154879315488","lockedExchangeBalance":"0"},{"coin":"FAB","balance":"58231.63019853","lockBalance":"120","lockers":[{"expiredBlock":"0","amount":"0"},{"expiredBlock":"636119","amount":"120"}],"usdValue":{"USD":0.129},"depositErr":[{"coinType":131072,"transactionID":"fdb709959af40ac7f31f1c1cc21c3f9368c8cd9b6c246f8ce70fa959e4fada75","amount":"23000000000000000000","v":"0x1f","r":"0x087f127b0901ac103daacf9a765a94579371a0c4515a2d9beda56f9e2c396a52","s":"0x2a84ef009fb7ff4d685411e8af5199bb2346dc88affec94f4c93d31dd98dadab"}],"unlockedExchangeBalance":"20330","lockedExchangeBalance":"0"},{"coin":"USDT","balance":"51054983.014333","lockBalance":"0","usdValue":{"USD":1},"depositErr":[],"unlockedExchangeBalance":"10254.63998","lockedExchangeBalance":"1.65"},{"coin":"DUSD","balance":"102.1","lockBalance":"0","usdValue":{"USD":1},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"DSC","balance":"2880590.458843887524118528","usdValue":{"USD":0.01},"depositErr":[],"unlockedExchangeBalance":"1777845.999999999986368512","lockedExchangeBalance":"54"},{"coin":"BST","balance":"7348857.917687775048237056","usdValue":{"USD":0.31},"depositErr":[{"coinType":131077,"transactionID":"bfc604f7509a71d39ff5407653e1bf8da2f0e4db66e01407ab08bbe0d7e72e6c","amount":"1000000000000000000000","v":"0x1b","r":"0x1a8c84f2e8217b2f31b7b08b28df48b9a3782d02ea9d12fc982a48f587b7970a","s":"0x0bbc2ad3abed38e82c88a439527428b4b51b6c029fd2bb7a26f7951f46fd6f54"}],"unlockedExchangeBalance":"957640","lockedExchangeBalance":"0"},{"coin":"BCH","balance":"-1","usdValue":{"USD":487.07},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"LTC","balance":"-1","usdValue":{"USD":170.45},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"DOGE","balance":"-1","usdValue":{"USD":0.050354},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"INB","balance":"9900","usdValue":{"USD":1.74},"depositErr":[],"unlockedExchangeBalance":"1000000","lockedExchangeBalance":"0"},{"coin":"REP","balance":"-1","usdValue":{"USD":29.6},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"HOT","balance":"0","usdValue":{"USD":0.0027556},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"CEL","balance":"0","usdValue":{"USD":4.8},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"MATIC","balance":"0","usdValue":{"USD":0.221266},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"IOST","balance":"0","usdValue":{"USD":0.03875708},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"MANA","balance":"0","usdValue":{"USD":0.253888},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"FUN","balance":"-1","usdValue":{"USD":0.02794693},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"WAX","balance":"0","usdValue":{"USD":0.07605},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"ELF","balance":"0","usdValue":{"USD":0.244172},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"GNO","balance":"0","usdValue":{"USD":128.89},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"POWR","balance":"0","usdValue":{"USD":0.232033},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"WINGS","balance":"0","usdValue":{"USD":0.03661736},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"MTL","balance":"0","usdValue":{"USD":1.37},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"KNC","balance":"0","usdValue":{"USD":1.62},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"DRGN","balance":"0","usdValue":{"USD":0.135756},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"GVT","balance":"0","usdValue":{"USD":4.09},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"NVZN","balance":"0","usdValue":{"USD":0.7},"depositErr":[],"unlockedExchangeBalance":"3000656","lockedExchangeBalance":"0"},{"coin":"TRX","balance":"17143.075664","usdValue":{"USD":0.04659977},"depositErr":[],"unlockedExchangeBalance":"0","lockedExchangeBalance":"0"},{"coin":"USDTX","balance":"18341.576785","usdValue":{"USD":1},"depositErr":[]},{"coin":"FABE","balance":"0","usdValue":{"USD":0.129},"depositErr":[]},{"coin":"EXGE","balance":"0","usdValue":{"USD":0.02},"depositErr":[{"coinType":196629,"transactionID":"0x5a7f7425423f9d98923adcd8ed12ab81a57b07c34be08b8f0364f705d8876575","amount":"168794000000000000000000","v":"0x1c","r":"0x91547803934e5db8b397fa523ed8f8047d79e514474c7236cb3bba9d3d2cd85a","s":"0x738e506346d10b6f712a7af769ed116da033a2344e5d551703d653b0549d9283"}]},{"coin":"DSCE","balance":"0","usdValue":{"USD":0.01},"depositErr":[{"coinType":196630,"transactionID":"0x3bb27194e57a4d4518d191c05479efd10ceb5dd072a8a33705bb8ad581704692","amount":"1000000000000000000000","v":"0x1b","r":"0xaa5f09796c13584aa88a13ce7591872ddc1b7946a852d4d2c61987ffde49c9ca","s":"0x63da99dceee930c705650e9d6626a1d5aac39f52ef881a021156a1e2c0789896"},{"coinType":196630,"transactionID":"0xf512cdbc2a82a90b1a0d27c29013406f0867c6b5e8c049cb74e5389b09f32e42","amount":"500000000000000000000","v":"0x1c","r":"0x5f9ad9a4ef8cb301fd3f2dbce94861ba6ebf05434ec6c141b293bee9579103d6","s":"0x3d60e29fd5ba2dcc5842f1e64ccf74683f7eea16b28de0d226754611c13cc1c6"},{"coinType":196630,"transactionID":"0xcaf83c4e23c7ea05964bf4758367cec5a02b6e562c618bdcda87b7d10cc2bdf2","amount":"5000000000000000000000","v":"0x1b","r":"0xe939cd2c914e071c7af558a23475dea1d018ef496b5f7b8b350884b6f46d4172","s":"0x7e2867be32e6386facca4c746f9c77a32ff9283e9fb711c737427c8b609a8790"}]},{"coin":"BSTE","balance":"0","usdValue":{"USD":0.31},"depositErr":[]}]}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    { success: false, error: errMessage }


Single-coin Wallet Balances

Returns the address of the SCAR contract related to the kanban network.

  • URL

    /singleCoinWalletBalance

  • Method:

    POST

  • Body Params

    Required: tickerName string,Required: fabAddress string,Required: thirdPartyChainAddress string,Optional: showEXGAssets bool (note: EXGAssets here is short for Assets in Exchange, not the coin EXG)

  • Success Response:

    Code: 200
    Content:,
    {"success":true,"data":[{"coin":"TRX","balance":"10","lockBalance":"0","usdValue":{"USD":0.052008},"depositErr":[]}]}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    { success: false, error: errMessage }


ABI Encoding/Decoding Utilities


Encode Function Signature

Generates the 4-byte function signature abi for a solidity smart contract function.

  • URL

    /kanban/coders/encodeFunctionSignature

  • Method:

    POST

  • Body Params

    Required: functionName string,Required: types array of string (parameter type list of the function)

  • Success Response:

    Code: 200
    Content:,
    { "functionSignature": "0x52159621"}

  • Error Response:

    Code: 400 Bad Request
    Content:,
    encodeFunctionSignature did not resolve: errMessage


Encode Function Call

Generates the a function call abi to be used in the data/input field of a sendtocontract transaction.

  • URL

    /kanban/coders/encodeFunctionCall

  • Method:

    POST

  • Body Params

    Required: functionName string,Required: types array of string (parameter type list of the function),Required: params array of various (argument list to call the function with)

  • Success Response:

    Code: 200
    Content:,
    {"functionCall": "0x521596210100000000000000000000000000000000000000000000000000000000000002bc1a53bcace554d516f167fe875c7cd6bcfcc1e872d9523c7edf9c50bcfca7d600000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000009faa777a80faf7df89720c3e5f365a862a20d68d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}

  • Error Response:

    Code: 400 SERVER ERROR
    Content:,
    encodeFunctionCall did not resolve: errMessage


Encode Params

Encodes a list of solidity types into a hex string. Can be combined with encodeFunctionSignature for a full function call abi, or use encodeFunctionCall instead of both

  • URL

    /kanban/coders/encodeParams

  • Method:

    POST

  • Body Params

    Required: types array of string (parameter type list),Required: params array of various (argument list matching types)

  • Success Response:

    Code: 200
    Content:,
    {"encodedParams": "0100000000000000000000000000000000000000000000000000000000000002bc1a53bcace554d516f167fe875c7cd6bcfcc1e872d9523c7edf9c50bcfca7d600000000000000000000000000000000000000000000000000038d7ea4c680000000000000000000000000009faa777a80faf7df89720c3e5f365a862a20d68d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}

  • Error Response:

    Code: 400 Bad Request
    Content:,
    encodeParams did not resolve: errMessage


Decod Params

Decodes a hex string according to a list of solidity types.

  • URL

    /kanban/coders/decodeParams

  • Method:

    POST

  • Body Params

    Required: types array of string (parameter type list),Required: bytes string

  • Success Response:

    Code: 200
    Content:,
    {"decodedParams":["4.52312848583266388373324160190187140051835877600158453279131187530910662658e+74","0xbc1a53bcace554d516f167fe875c7cd6bcfcc1e872d9523c7edf9c50bcfca7d6","1000000000000000","0x9faa777a80faf7df89720c3e5f365a862a20d68d","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000000"]}

  • Error Response:

    Code: 400 Bad Request
    Content:,
    decodeParams did not resolve: errMessage


Iddock


Get iddock Address

Returns the address of the iddock contract.

  • URL

    /ecombar/getIddockAddress

  • Method:

    GET

  • Success Response (example format, not actual value):

    Code: 200
    Content:,
    0xd0f42e52d638fe1a3654755a312bb138bcb616b3

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getIddockAddress did not resolve: errMessage


Get Hash Data

Returns hash data by sequence id.

  • URL

    /ecombar/getHashDataBySequenceId/:sequence

  • Method:

    GET

  • Success Response:

    Code: 200
    Content:,
    {"hash":"0x0000000000000000000000000000000000000000000000000000000000000000"}

  • Error Response:

    Code: 500 SERVER ERROR
    Content:,
    getHashDataBySequenceId did not resolve: errMessage


Explorer Endpoints


Latest Blocks

GET /kanban/explorer/getlatestblocks/:count

Returns a total of count(upto 10) latest blocks.


Single Block

GET /kanban/explorer/getblock/:number

Returns a single block by number.


Multiple Blocks

GET /kanban/explorer/getblocks/:number/:count

Returns a total of count (upto 10) blocks preceding from number-th block.


Balance

GET /kanban/explorer/getbalance/:address

Returns balance of the given address.


Nonce

GET /kanban/explorer/getnonce/:address/:status

Returns nonce of the given address.<br>Status should be pending to include pending transactions.


Transaction

GET /kanban/explorer/gettransaction/:txhash

Returns a full transaction for a given txhash


Transaction Status

GET /kanban/explorer/gettransactionstatus/:txhash

Returns status of the transaction for a given txhash


Latest Transactions

GET /kanban/explorer/transactions/:idx/:count

Returns a total of count transactions preceding idx.

GET /kanban/explorer/transactions/:count

Returns a total of count latest transactions.


Transactions To Address

GET /kanban/explorer/getaddresstxsto/:address

Returns all the transaction IDs for which the given address has received any amount.


Transactions From Address

GET /kanban/explorer/getaddresstxsfrom/:address

Returns all the transaction IDs for which the given address has sent any amount.


All Transactions For An Address

GET /kanban/explorer/getaddresstxsall/:address

Returns all the transaction IDs for which the given address has sent or received any amount.


All Transfers For An Address

GET /kanban/coinpool/gettransfersall/:address

Returns data for all the transfers coming in and out of an address.


All Transfers From An Address

GET /kanban/coinpool/gettransfersfrom/:address

Returns data for all the transfers coming from an address.


All Transfers To An Address

GET /kanban/coinpool/gettransfersto/:address

Returns data for all the transfers going to an address.


All Transfers Between A Sender and Recipient

GET /kanban/coinpool/gettransfersbetween/:fromAddress/:toAddress

Returns data for all the transfers out of a specific address to another specific address.


Transaction Confirmations

GET /kanban/explorer/getconfirmationcount/:txhash

Returns confirmations for the given txhash.


Token List

GET /kanban/explorer/tokenlist

Return a list of all the available Tokens on Kanban.