NAV Navbar
cli
  • Introduction
  • Getting Started
  • XBridge APIBETA
  • XRouter APIBETA
  • XCloud APIBETA
  • Web Endpoints
  • Changelog
  • Need Support?

    Introduction

    Blocknet provides a simple and powerful API to build previously impossible multi-chain applications that consume services on different blockchains, all while remaining 100% trustless and decentralized.

    The API is accessible through command line (cli) with additional endpoints on the way. Code examples can be viewed in the dark panels next to each respective API call.

    Please see Getting Started to begin using the APIs or continue reading below to learn more about the Blocknet Protocol, the different components, and how they all work.

    Blocknet Protocol

    Blocknet is an interoperability protocol that can be used as a 2nd layer on any compatible blockchain to enable decentralized communication and exchange between different blockchains in a permissionless and trustless manner. Blockchain interoperability comes in 2 parts: exchange (XBridge) and communication (XRouter).

    BLOCK is the utility token of the Blocknet blockchain and powers the Blocknet Protocol. BLOCK is used to pay fees for the network's services, such as those provided by XBridge and XRouter. Through these fees, BLOCK is also used for compensation to participating Service Nodes to incentivize support.

    Service Nodes

    The protocol is supported by a network of Service Nodes, which are similar to masternodes with an increased level of participation. Service Nodes host full nodes of the supported blockchains, host microservices, verify UTXOs, route communication between blockchains, participate in governance by voting, and perform anti-spam and anti-DOS measures for the network. Read more about Service Nodes here.

    Service Nodes earn 100% of fees from XBridge, XRouter, and XCloud services. If you'd like to operate your own Service Node, see the Service Node Setup Guide.

    XBridge

    XBridge provides the ability to perform true trustless and decentralized exchanges between any digital asset that is supported by the Blocknet Protocol via APIs (view list). When paired with XRouter, any application can perform exchanges between any compatible blockchains using a decentralized SPV implementation. Unlike every other "decentralized" exchange protocols, XBridge doesn't use derivatives (proxy tokens or colored coins), the entire process is done in a trustless manner, and it decentralizes the four components of an exchange:

    [1] ACCT using Check Lock Time Verify (#4)

    The exchange takes place on each respective blockchain with the process overlooked by a network of 400+ Service Nodes running full nodes of the compatible blockchains to ensure no malicious behavior is ocurring.

    Note that once an exchange is completed, when the funds are received will be dependent on the blockchain's accepted confirmation time. By default, the required amount of confirmations for most assets is 0 and the funds aren't spent until each blockchain achieves their respective required amount of confirmations. For instance, let's look at an example of an exchange between BTC requiring 1 confirmation and BLOCK requiring 2 confirmations. BLOCK has a faster confirmation time so it will receive 2 confirmations while BTC has 0, but the funds will not be spent until BLOCK has at least 2 confirmation and BTC has at least 1 confirmation. Both conditions must be met. This setting applies to the asset that you are receiving. The setting for the asset that is being sold is set by the opposite party.

    There is currently a fixed fee of 0.015 BLOCK to take (fill) an order and no fee to make(create) an order.

    XBridge Design

    The following diagrams depict the events of an exchange with various outcomes. As seen in the diagrams, a "client" refers to software utilizing the Blocknet Protocol, which can be a blockchain, microservice, dApp, mobile app, website, etc.

    Successful Exchange (view full size image)

    The flow of the diagram above is top-to-bottom, left-to-right:

    1. The maker client creates an order locally.
      • The order is put in new state.
    2. The order is broadcasted to the network.
      • A network transaction fee for the maker asset's blockchain is charged to the maker.
    3. The Service Node network verifies the order is good.
    4. The order is added to the order books, which the Service Nodes relay.
      • The order is put in open state.
    5. The taker client responds to take the order.
      • A network transaction fee for the taker asset's blockchain is charged.
      • A fixed 0.015 BLOCK fee is charged to the taker.
      • The order is put in accepting state.
    6. The Service Node network verifies the response to take the order is good.
    7. The maker acknowledges the taker.
      • The order is put in hold state.
    8. The maker and trader assets are deposited into the atomic swap P2SH address.
      • The order is put in created state.
    9. The Service Nodes verify the terms of the atomic swap contract are good.
    10. The transactions to the P2SH meet the required amount of confirmations.
    11. The P2SH secrets are spent to the opposite party.
      • The order is put in signed state.
      • The order is put in commited state.
    12. The maker and taker successfully receive the exchanged assets.
      • The order is put in finished state.
    Failed Exchange - Bad Maker Order (view full size image)

    The flow of the diagram above is top-to-bottom, left-to-right:

    1. The maker client creates an order locally.
      • The order is put in new state.
    2. The order is broadcasted to the network.
      • A network transaction fee for the maker asset's blockchain is charged to the maker.
    3. The Service Node network verifies the order is bad.
    4. The order is rejected by the network.
      • The order is put in canceled state.
    Failed Exchange - Bad Taker Response (view full size image)

    The flow of the diagram above is top-to-bottom, left-to-right:

    1. The maker client creates an order locally.
      • The order is put in new state.
    2. The order is broadcasted to the network.
      • A network transaction fee for the maker asset's blockchain is charged to the maker.
    3. The Service Node network verifies the order is good.
    4. The order is added to the order books, which the Service Nodes relay.
      • The order is put in open state.
    5. The taker client responds to take the order.
      • A network transaction fee for the taker asset's blockchain is charged.
      • A fixed 0.015 BLOCK fee is charged to the taker.
      • The order is put in accepting state.
    6. The Service Node network verifies the response to take the order is bad.
      • The order is put in canceled state.
    Failed Exchange - Bad Atomic Swap Terms (view full size image)

    The flow of the diagram above is top-to-bottom, left-to-right:

    1. The maker client creates an order locally.
      • The order is put in new state.
    2. The order is broadcasted to the network.
      • A network transaction fee for the maker asset's blockchain is charged to the maker.
    3. The Service Node network verifies the order is good.
    4. The order is added to the order books, which the Service Nodes relay.
      • The order is put in open state.
    5. The taker client responds to take the order.
      • A network transaction fee for the taker asset's blockchain is charged.
      • A fixed 0.015 BLOCK fee is charged to the taker.
      • The order is put in accepting state.
    6. The Service Node network verifies the response to take the order is good.
    7. The maker acknowledges the taker.
      • The order is put in hold state.
    8. The maker and trader assets are deposited into the atomic swap P2SH address.
      • The order is put in created state.
    9. The Service Nodes verify the terms of the atomic swap contract are bad.
    10. The funds in the P2SH addresses are redeemed back to the original party.
      • The order is put in canceled state.

    XBridge Fees

    XBridge Use Cases

    Below is a non-exhaustive list of possible use cases that XBridge enables.

    XRouter

    XRouter provides the Blocknet Protocol with a communication layer consisting of an inter-blockchain SPV client backend, enabling the verification of blockchain records without requiring users to download the full blockchain. This empowers development of lightweight microservice architectures that harness contracts, protocols, and services from other blockchains, laying a foundation for a decentralized API ecosystem.

    Since XRouter functions on the TCP/IP level, it is compatible with any network. This includes public and private DLT's from Bitcoin, to IOTA, to Hyperledger.

    Service Nodes earn 100% of fees from XBridge, XRouter, and XCloud services. If you'd like to operate your own Service Node, see the Service Node Setup Guide.

    XRouter Design

    The XRouter system utilizes the Service Node network to route calls from the client directly to the respective blockchain. There are 2 types of XRouter calls: submissions and queries.

    XRouter submissions are calls that involve interactions with a blockchain, such as xrSendTransaction. With submissions, the packets are routed from the client to the respective blockchain and a response, if any, is routed back to the client.

    XRouter queries are calls requesting information from a blockchain, such as xrGetBlockCount. With queries, the packets are also routed from the client to the respective blockchain and the response of the information queried is routed back to the client. XRouter queries can require a specific amount of Service Nodes to receive a response from in order to achieve consensus on the final answer.

    XRouter Overview (view full size image)

    The following diagrams depict the events of an XRouter query and submission. As seen in the diagrams, a "client" refers to software utilizing the Blocknet Protocol, which can be a blockchain, microservice, dApp, mobile app, website, etc.

    XRouter Query (view full size image)

    The flow of the diagram is top-to-bottom:

    1. The client dispatches a packet for a query via API call to the Service Node network.
    2. The Service Nodes supporting the queried blockchain receive the packet.
    3. The Service Nodes route the packet of the query to the blockchain.
    4. The Service Nodes route the response from the blockchain back to the client.
    5. The client receives all responses, as well as a response for a majority consensus on the answer.
    XRouter Submission (view full size image)
    1. The client dispatches a packet for a submission via API call to the Service Node network.
    2. The Service Nodes supporting the desired blockchain receive the packet.
    3. The Service Nodes route the packet of the query to the blockchain.
    4. If there is a response from the blockchain, the Service Nodes route the response back to the client.

    Namespace

    XRouter SPV wallets utlize the xrs:: namespace while XCloud services utilize the xrs:: namespace. A list of the SPV wallets and services can be viewed using xrGetNetworkServices and you can pre-connect to the nodes with xrConnect.

    Fees

    With XRouter, and subsequently XCloud, fees are determined by a free market. Service Nodes can specify the fee that they wish to charge for a call and client can specify the max fee they are willing to pay for calls.

    XRouter Node Scoring

    Clients keep a score of each Service Node. When a Service Node reaches a score of -200, the Service Node will be banned by the client for a 24hr period. After this 24hr period, the Service Node will start with a score of -25. The ban score threshold can be adjusted using the xrouterbanscore setting in blocknetdx.conf (see setup).

    Action Change in Score
    Failure to respond to call within 30s -25
    Failure to meet majority consensus -5
    Matching consensus correct_nodes * 2
    Sending bad XRouter config -10
    Sending bad XCloud config -2

    This mechanism and values are subject to change in future releases. Join the Developer mailing list to stay updated.

    XRouter Use Cases

    The applications for XRouter are as vast and imaginative as the internet. Below are a few examples of use cases:

    XCloud

    XCloud can be used to monetize any service with crypto payments without having to re-code or change anything about those existing applications. A good way to think of XCloud is like a decentralized AWS. CoinMarketCap could be connected in a matter of minutes and allow users to access their API for a fee paid in BLOCK, without requiring any signups or KYC.

    XCloud sits on top of, and is powered by, XRouter. Services are hosted by Service Nodes and operate in a similar manner as the full node SPV wallets. For further explanation, refer to XRouter Design, Namespacing, Fees, and XRouter Node Scoring.

    Service Nodes earn 100% of fees from XBridge, XRouter, and XCloud services. If you'd like to operate your own Service Node, see the Service Node Setup Guide.

    Getting Started

    The Blocknet Protocol currently requires a synced Blocknet wallet, as well as the synced wallet of any blockchain that will be interacted with. In the future, with the use of XRouter, this will not be required. In addition, configuration files must also be composed.

    Wallet Setup

    Sample blocknetdx.conf

    listen=1
    server=1
    rpcallowip=127.0.0.1
    rpcuser=user
    rpcpassword=pass
    port=41412
    rpcport=41414
    
    1. Download and install the latest Blocknet wallet.
    2. Open the wallet, encrypt it, and sync the blockchain.
      • A bootstrap is also available for faster syncing.
    3. Compose blocknetdx.conf as seen in the sample.
    4. Set an RPC username and password in blocknetdx.conf.
    5. If using the XBridge API, see XBridge Setup.
    6. If using the XRouter API, see XRouter Setup.

    XBridge Setup

    1. Follow the XBridge Setup Guide.
    2. If any of the wallets are still open, they must be restarted in order to activate the new configurations.
    3. Open, sync, and unlock the Blocknet wallet, as well as whichever blockchains will be interacted with.
    4. Using the command line(cli), XBridge API calls can now be made.
    5. If also using the XRouter API, see XRouter Setup.

    XRouter Setup

    If you would like to operate a Service Node and monetize any microservice, blockchain, API, or cloud tech on your own hardware, in many cases without having to write any code, see the Service Node Setup Guide.

    Sample blocknetdx.conf

    xrouter=1
    xrouterbanscore=-200
    listen=1
    server=1
    rpcallowip=127.0.0.1
    rpcuser=user
    rpcpassword=pass
    port=41412
    rpcport=41414
    

    Sample xrouter.conf

    [Main]
    timeout=30
    consensus=1
    maxfee=0.5
    
    [BTC]
    maxfee=0.03
    
    [xrGetBlockCount]
    maxfee=0.02
    consensus=6
    
    [SYS::xrGetBlockCount]
    maxfee=0.02
    
    1. In blocknetdx.conf:
      • Add xrouter=1 to enables XRouter. A value of 0 means XRouter is disabled (default).
      • Use xrouterbanscore to specify the score a Service Node must drop below before it is banned. The default value is -200. Service Nodes are banned for a 24hr period, after which they'll start with a score of -25.
    2. Restart the Blocknet wallet.
    3. Compose xrouter.conf as seen in the sample. All settings are optional.
      • timeout - Defines how long (in seconds) your client waits for a response from a Service Node. The default value is 30.
      • consensus - The number of Service Nodes that are used to route calls and use the majority response from for consensus. This can be overridden when making calls via the node_count parameter. The default value is 1.
      • maxfee - The maximum fee you are willing to pay for calls. Service Nodes with fees higher than your specified max fee will not be queried. The default value is 0 (i.e. free calls only). For now, all fees are paid in BLOCK.
    4. Values set under [Main] override the default values and become the new default settings for all subsections that don't have the respective setting specified. Subsection settings override [Main] and default settings. Blockchain-specific subsections have the highest priority and override all other settings. The setting hierarchy from highiest priority to lowest priority is as follows: [BTC::xrGetBlockCount] > [BTC] > [xrGetBlockCount] > [Main] > default. The higher priority settings override the lower priority settings.
    5. Use xrReloadConfigs to apply changes to xrouter.conf without needing to restart the client.
    6. Using the command line(cli), XRouter API calls can now be made. To begin you can use xrGetNetworkServices to view the supported SPV wallets (designated by the xr:: namespace). To use services (designated by the xrs:: namespace), see XCloud Setup.
    7. If also using the XBridge API, see XBridge Setup.

    XCloud Setup

    If you would like to operate a Service Node and monetize any microservice, blockchain, API, or cloud tech on your own hardware, in many cases without having to write any code, see the Service Node Setup Guide.

    Sample xrouter.conf

    [Main]
    timeout=30
    consensus=1
    maxfee=0.5
    
    [xrs::ServiceName]
    maxfee=0.1
    timeout=10
    consensus=5
    
    1. Setup XRouter. This is required since XCloud is built on top of XRouter.
    2. In xrouter.conf, add settings for the services you would like to use. The subsection heading used the service name with the namespace as it's shown in the services array in the xrGetNetworkServices response. All settings are optional.
      • timeout - Defines how long (in seconds) your client waits for a response from a Service Node. The default value is 30.
      • consensus - The number of Service Nodes that are used to route calls and use the majority response from for consensus. This can be overridden when making calls via the node_count parameter. The default value is 1.
      • maxfee - The maximum fee you are willing to pay for calls. Service Nodes with fees higher than your specified max fee will not be queried. The default value is 0 (i.e. free calls only). For now, all fees are paid in BLOCK.
    3. Values set under [Main] override the default values and become the new default settings for all subsections that don't have the respective setting specified. Service settings override [Main] and default settings. The setting hierarchy from highiest priority to lowest priority is as follows: [xrs::ServiceName] > [Main] > default. The higher priority settings override the lower priority settings.
    4. Use xrReloadConfigs to apply changes to xrouter.conf without needing to restart the client.
    5. Using the command line(cli) or console, XCloud API calls can now be made. To begin, use xrGetNetworkServices to view the calls under services and use xrService or xrServiceConsensus to make the call.
    6. If also using the XBridge API, see XBridge Setup.

    XBridge API

    The following set of calls are used to conduct decentralized and trustless exchanges over the Blocknet network.

    See XBridge Setup for instructions on setting up your environment for use with XBridge.

    Call Description
    dxMakeOrder Create an order
    dxTakeOrder Take an existing order
    dxCancelOrder Cancel your own order
    dxGetOrder Returns order details by ID
    dxGetOrders Returns all orders with details
    dxGetMyOrders Returns all your own orders with details
    dxGetOrderFills Returns all recent filled orders
    dxGetOrderHistory Returns the OHLCV data my market
    dxGetLocalTokens Returns all assets connected locally
    dxGetNetworkTokens Returns all assets connected on the network
    dxGetTokenBalances Returns available balances for your assets
    dxGetOrderBook Returns open orders
    dxLoadXBridgeConf Reloads the xbridge.conf
    gettradingdata Returns on-chain trading records
    Status Codes XBridge order status codes
    Error Codes Error codes

    dxMakeOrder

    Sample Data

    {
      "maker": "SYS",
      "maker_size": "0.100",
      "maker_address": "yFMXXUJF7pSKegHTkTYMjfNxyUGVt1uCrL",
      "taker": "LTC",
      "taker_size": "0.01",
      "taker_address": "yGDmuy8m1Li4ShNe7kGYusACw4oyiGiK5b",
      "type": "exact"
    }
    

    This call is used to create a new order. Only assets returned in dxGetLocalTokens can used for the maker and taker asset. If an asset is not showing, it has not been properly configured (refer back to #2 in XBridge Setup. Use dxGetNetworkTokens to view all the assets currently supported on the network.

    There are no fees to make orders, but there are transaction fees for the maker asset's native network.

    Request Parameters

    Sample Request

    blocknetdx-cli dxMakeOrder SYS 0.100 yFMXXUJF7pSKegHTkTYMjfNxyUGVt1uCrL LTC 0.01 yGDmuy8m1Li4ShNe7kGYusACw4oyiGiK5b exact
    

    dxMakeOrder [maker] [maker_size] [maker_address] [taker] [taker_size] [taker_address] [type] [dryrun](optional)

    Parameter Type Description
    maker string Maker trading asset; the ticker of the asset being sold by the maker.
    maker_size string(float) Maker trading size. String is used to preserve precision.
    maker_address string Maker address for sending the outgoing asset.
    taker string Taker trading asset; the ticker of the asset being sold by the taker.
    taker_size string(float) Taker trading size. String is used to preserve precision.
    taker_address string Maker address for receiving the incoming asset.
    type string This is the order type.
    exact: Matches a specific order.
    limit: (not yet supported)
    market: (not yet supported)
    dryrun string (Optional Parameter)
    dryrun: Receive a response without actually submitting the order to the network.

    Response Parameters

    Sample 200 Response

    {
      "id": "2cd2a2ac-e6ff-4beb-9b45-d460bf83a092",
      "maker": "SYS",
      "maker_size": "0.100",
      "maker_address": "SVTbaYZ8oApVn3uNyimst3GKyvvfzXQgdK",
      "taker": "LTC",
      "taker_size": "0.01",
      "taker_address": "LVvFhzRoMRGTtGihHp7jVew3YoZRX8y35Z",
      "updated_at": "2018-01-16T00:00:00.00000Z",
      "created_at": "2018-01-15T18:15:30.12345Z",
      "block_id": "38729344720578447445023782734923740427863289632489723984723",
      "status": "created"
    }
    
    Parameter Type Description
    id string The order UUID.
    maker string Maker trading asset; the ticker of the asset being sold by the maker.
    maker_size string(float) Maker trading size. String is used to preserve precision.
    maker_address string Maker address for sending the outgoing asset.
    taker string Taker trading asset; the ticker of the asset being sold by the taker.
    taker_size string(float) Taker trading size. String is used to preserve precision.
    taker_address string Maker address for receiving the incoming asset.
    updated_at string ISO 8601 datetime, with microseconds, of the last time the order was updated.
    created_at string ISO 8601 datetime, with microseconds, of when the order was created.
    block_id string The UUID block hash of the current block on the Blocknet blockchain at the time the order was created.
    status string View order status codes

    Sample 400 Response

    {
      "error": "Invalid parameters: Minimum supported size is 0.000001",
      "code": 1025,
      "name": "dxMakeOrder"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function

    Sample 500 Response

    {
      "error": "Internal error occurred",
      "code": 1002,
      "name": "dxMakeOrder"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function
    Code Type Error
    1001 401 Unauthorized
    1011 400 Invalid maker symbol
    1012 400 Invalid taker symbol
    1018 400 Unable to connect to wallet
    1024 400 Size must be greater than 0
    1025 400 Invalid parameters
    1026 400 Bad address
    1002 500 Internal server error

    dxTakeOrder

    Sample Data

    {
      "id": "2cd2a2ac-e6ff-4beb-9b45-d460bf83a092",
      "send_address": "LVvFhzRoMRGTtGihHp7jVew3YoZRX8y35Z",
      "receive_address": "SVTbaYZ8oApVn3uNyimst3GKyvvfzXQgdK",
      "dryrun": "dryrun"
    }
    

    This call is used to take an order. Taking your own order is currently not supported. Only assets returned in dxGetLocalTokens can used for the maker and taker asset. If an asset is not showing, it has not been properly configured (refer back to #2 in XBridge Setup. Use dxGetNetworkTokens to view all the assets currently supported on the network.

    Taking an order has a 0.015 BLOCK fee. There are also transaction fees for the taker asset's native network. If the taker asset is BLOCK, there needs to be at least two UXTOs - one or more to cover the 0.015 BLOCK fee and one or more to cover the traded amount.

    Request Parameters

    Sample Request

    blocknetdx-cli dxTakeOrder 2cd2a2ac-e6ff-4beb-9b45-d460bf83a092 LVvFhzRoMRGTtGihHp7jVew3YoZRX8y35Z SVTbaYZ8oApVn3uNyimst3GKyvvfzXQgdK
    

    dxTakeOrder [order_id] [send_address] [receive_address] [dryrun](optional)

    Parameter Type Description
    id string ID of order being filled.
    send_address string Taker address for sending the outgoing asset.
    receive_address string Taker address for receiving the incoming asset.
    dryrun string (Optional Parameter)
    dryrun: Receive a response without actually submitting the order to the network.

    Response Parameters

    Sample 200 Response

    {
      "id": "2cd2a2ac-e6ff-4beb-9b45-d460bf83a092",
      "maker": "SYS",
      "maker_size": "0.100",
      "taker": "LTC",
      "taker_size": "0.01",
      "updated_at": "1970-01-01T00:00:00.00000Z",
      "created_at": "2018-01-15T18:15:30.12345Z",
      "status": "finished"
    }
    
    Parameter Type Description
    id string The order UUID.
    maker string Maker trading asset; the ticker of the asset being sold by the maker.
    maker_size string(float) Maker trading size. String is used to preserve precision.
    taker string Taker trading asset; the ticker of the asset being sold by the taker.
    taker_size string(float) Taker trading size. String is used to preserve precision.
    updated_at string ISO 8601 datetime, with microseconds, of the last time the order was updated.
    created_at string ISO 8601 datetime, with microseconds, of when the order was created.
    status string Order status: finished

    Sample 400 Response

    {
      "error": "Transaction 4306aa07113c4562ffa6278ecd9a3990ead53a0227f74ddd9122272e453ae07d not found",
      "code": 1021,
      "name": "dxTakeOrder"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function

    Sample 500 Response

    {
      "error": "Internal error occurred",
      "code": 1002,
      "name": "dxTakeOrder"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function
    Code Type Error
    1001 401 Unauthorized
    1011 400 Invalid maker symbol
    1012 400 Invalid taker symbol
    1020 400 Invalid order
    1021 400 Invalid order id
    1025 400 Invalid parameters
    1026 400 Bad address
    1002 500 Internal server error

    dxCancelOrder

    Sample Data

    {
      "id": "2cd2a2ac-e6ff-4beb-9b45-d460bf83a092"
    }
    

    This call is used to cancel one of your own orders, which automatically rolls back the order if a trade is in process.

    Request Parameters

    Sample Request

    blocknetdx-cli dxCancelOrder 2cd2a2ac-e6ff-4beb-9b45-d460bf83a092
    

    dxCancelOrder [order_id]

    Parameter Type Description
    id string ID of order being cancelled.

    Response Parameters

    Sample 200 Response

    {
      "id": "2cd2a2ac-e6ff-4beb-9b45-d460bf83a092",
      "maker": "SYS",
      "maker_size": "0.100",
      "maker_address": "SVTbaYZ8oApVn3uNyimst3GKyvvfzXQgdK",
      "taker": "LTC",
      "taker_size": "0.01",
      "taker_address": "LVvFhzRoMRGTtGihHp7jVew3YoZRX8y35Z",
      "updated_at": "1970-01-01T00:00:00.00000Z",
      "created_at": "2018-01-15T18:15:30.12345Z",
      "status": "canceled"
    }
    
    Parameter Type Description
    id string The order UUID.
    maker string Sending asset of party cancelling the order.
    maker_size string(float) Sending trading size. String is used to preserve precision.
    maker_address string Address for sending the outgoing asset.
    taker string Receiving asset of party cancelling the order.
    taker_size string(float) Receiving trading size. String is used to preserve precision.
    taker_address string Address for receiving the incoming asset.
    updated_at string ISO 8601 datetime, with microseconds, of the last time the order was updated.
    created_at string ISO 8601 datetime, with microseconds, of when the order was created.
    status string View order status codes

    Sample 400 Response

    {
      "error": "Invalid order id",
      "code": 1021,
      "name": "dxCancelOrder"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function

    Sample 500 Response

    {
      "error": "Internal error occurred",
      "code": 1002,
      "name": "dxCancelOrder"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function
    Code Type Error
    1001 401 Unauthorized
    1021 400 Invalid order id
    1025 400 Invalid parameters
    1002 500 Internal server error

    dxGetOrder

    Sample Data

    {
      "id": "2cd2a2ac-e6ff-4beb-9b45-d460bf83a092"
    }
    

    This call is used to retrieve order info.

    Request Parameters

    Sample Request

    blocknetdx-cli dxGetOrder 2cd2a2ac-e6ff-4beb-9b45-d460bf83a092
    

    dxGetOrder [order_id]

    Parameter Type Description
    id string ID of order of interest.

    Response Parameters

    Sample 200 Response

    {
      "id": "2cd2a2ac-e6ff-4beb-9b45-d460bf83a092",
      "maker": "SYS",
      "maker_size": "0.100",
      "taker": "LTC",
      "taker_size": "0.01",
      "updated_at": "1970-01-01T00:00:00.00000Z",
      "created_at": "2018-01-15T18:15:30.12345Z",
      "status": "open"
    }
    
    Parameter Type Description
    id string The order UUID.
    maker string Maker trading asset; the ticker of the asset being sold by the maker.
    maker_size string(float) Maker trading size. String is used to preserve precision.
    taker string Taker trading asset; the ticker of the asset being sold by the taker.
    taker_size string(float) Taker trading size. String is used to preserve precision.
    updated_at string ISO 8601 datetime, with microseconds, of the last time the order was updated.
    created_at string ISO 8601 datetime, with microseconds, of when the order was created.
    status string View order status codes

    Sample 400 Response

    {
      "error": "Invalid order id",
      "code": 1021,
      "name": "dxGetOrder"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function

    Sample 500 Response

    {
      "error": "Internal error occurred",
      "code": 1002,
      "name": "dxGetOrder"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function
    Code Type Error
    1001 401 Unauthorized
    1021 400 Invalid order id
    1025 400 Invalid parameters
    1002 500 Internal server error

    dxGetOrders

    This call is used to retrieve all orders of every market pair. It will only return orders for assets returned in dxGetLocalTokens.

    Note: This call will only return orders for markets with both assets returned in dxGetLocalTokens.

    Request Parameters

    Request

    blocknetdx-cli dxGetOrders
    

    dxGetOrders

    This call does not take parameters.

    Response Parameters

    Sample 200 Response

    [
      {
        "id": "2cd2a2ac-e6ff-4beb-9b45-d460bf83a092", 
        "maker": "SYS",
        "maker_size": "0.100",
        "taker": "LTC",
        "taker_size": "0.01",
        "updated_at": "2018-01-15T18:25:05.12345Z", 
        "created_at": "2018-01-15T18:15:30.12345Z", 
        "status": "finished"
      },
      {
        "id": "12b672d4-cc43-4941-8b35-b1d0ea110908", 
        "maker": "SYS",
        "maker_size": "0.100",
        "taker": "LTC",
        "taker_size": "0.01",
        "updated_at": "2018-01-15T18:25:05.12345Z", 
        "created_at": "2018-01-15T18:15:30.12345Z", 
        "status": "finished"
      },
      {
        "id": "01639dfa-db96-440c-85bd-6d4feda8ace6", 
        "maker": "SYS",
        "maker_size": "0.100",
        "taker": "LTC",
        "taker_size": "0.01",
        "updated_at": "2018-01-15T18:25:05.12345Z", 
        "created_at": "2018-01-15T18:15:30.12345Z", 
        "status": "finished"
      }
    ]
    
    Parameter Type Description
    Array array An array of all orders with each order having the following parameters.
    id string The order UUID.
    maker string Maker trading asset; the ticker of the asset being sold by the maker.
    maker_size string(float) Maker trading size. String is used to preserve precision.
    taker string Taker trading asset; the ticker of the asset being sold by the taker.
    taker_size string(float) Taker trading size. String is used to preserve precision.
    updated_at string ISO 8601 datetime, with microseconds, of the last time the order was updated.
    created_at string ISO 8601 datetime, with microseconds, of when the order was created.
    status string View order status codes

    Sample 400 Response

    {
      "error": "Invalid parameters: This function does not accept any parameters",
      "code": 1025,
      "name": "dxGetOrders"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function

    Sample 500 Response

    {
      "error": "Internal error occurred",
      "code": 1002,
      "name": "dxGetOrders"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function
    Code Type Error
    1001 401 Unauthorized
    1025 400 Invalid parameters
    1002 500 Internal server error

    dxGetMyOrders

    This call is used to retrieve all of your orders (of all states) from the local client. It will only return orders from your current session.

    Request Parameters

    Request

    blocknetdx-cli dxGetMyOrders
    

    dxGetMyOrders

    This call does not take parameters.

    Response Parameters

    Sample 200 Response

    [
      {
        "id": "2cd2a2ac-e6ff-4beb-9b45-d460bf83a092", 
        "maker": "SYS",
        "maker_size": "0.100",
        "taker": "LTC",
        "taker_size": "0.01",
        "updated_at": "2018-01-15T18:25:35.12345Z", 
        "created_at": "2018-01-15T18:15:37.12345Z", 
        "status": "finished"
      },
      {
        "id": "12b672d4-cc43-4941-8b35-b1d0ea110908", 
        "maker": "SYS",
        "maker_size": "0.100",
        "taker": "LTC",
        "taker_size": "0.01",
        "updated_at": "2018-01-15T18:25:25.12345Z", 
        "created_at": "2018-01-15T18:15:32.12345Z", 
        "status": "finished"
      },
      {
        "id": "01639dfa-db96-440c-85bd-6d4feda8ace6", 
        "maker": "SYS",
        "maker_size": "0.100",
        "taker": "LTC",
        "taker_size": "0.01",
        "updated_at": "2018-01-15T18:25:52.12345Z", 
        "created_at": "2018-01-15T18:15:26.12345Z", 
        "status": "finished"
      }
    ]
    
    Parameter Type Description
    Array array An array of all orders with each order having the following parameters.
    id string The order UUID.
    maker string Maker trading asset; the ticker of the asset being sold by the maker.
    maker_size string(float) Maker trading size. String is used to preserve precision.
    maker_address string Address for sending the outgoing asset.
    taker string Taker trading asset; the ticker of the asset being sold by the taker.
    taker_size string(float) Taker trading size. String is used to preserve precision.
    taker_address string Address for receiving the incoming asset.
    updated_at string ISO 8601 datetime, with microseconds, of the last time the order was updated.
    created_at string ISO 8601 datetime, with microseconds, of when the order was created.
    status string View order status codes

    Sample 400 Response

    {
      "error": "Invalid parameters: This function does not accept any parameters",
      "code": 1025,
      "name": "dxGetMyOrders"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function

    Sample 500 Response

    {
      "error": "Internal error occurred",
      "code": 1002,
      "name": "dxGetMyOrders"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function
    Code Type Error
    1001 401 Unauthorized
    1025 400 Invalid parameters
    1002 500 Internal server error

    dxGetOrderFills

    Sample Data

    {
      "maker": "SYS",
      "taker": "LTC",
      "combined": false
    }
    

    This call is used to retrieve all recent filled orders by a given trade pair. It will only return orders that have been filled in your current session.

    Request Parameters

    Sample Request

    blocknetdx-cli dxGetOrderFills SYS LTC false
    

    dxGetOrderFills [maker] [taker] [combined](optional)

    Parameter Type Description
    maker string Maker trading asset; the ticker of the asset being sold by the maker.
    taker string Taker trading asset; the ticker of the asset being sold by the taker.
    combines boolean (Optional Parameter) Defaults to true.
    true: Receive filled orders for both the maker and taker assets as specified, as well as the inverse with the maker asset as the taker and the taker asset as the maker.
    false: Receive filled orders only with the maker and taker assets as specified.

    Response Parameters

    Sample 200 Response

    [
      {
        "id": "00a2afce-4754-443e-93d6-1f600501e3ac",
        "time": "2018-01-16T13:15:05.12345Z",
        "maker": "SYS",
        "maker_size": "101.00000000",
        "taker": "LTC",
        "taker_size": "0.01000000"
      },
      {
        "id": "7de354c3-6c66-44e7-bf30-eaf942df5fcc",
        "time": "2018-01-16T13:15:05.12345Z",
        "maker": "LTC",
        "maker_size": "0.01000000",
        "taker": "SYS",
        "taker_size": "101.00000000"
      }
    ]
    
    Parameter Type Description
    Array array Array of orders sorted by date descending (most recent filled trade first).
    id string The order UUID.
    time string Time the order was filled.
    maker string Maker trading asset; the ticker of the asset being sold by the maker.
    maker_size string(float) Maker trading size. String is used to preserve precision.
    taker string Taker trading asset; the ticker of the asset being sold by the taker.
    taker_size string(float) Taker trading size. String is used to preserve precision.

    Sample 400 Response

    {
      "error": "Invalid parameters: (maker) (taker) (combined, default=true)[optional]",
      "code": 1025,
      "name": "dxGetOrderFills"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function

    Sample 500 Response

    {
      "error": "Internal error occurred",
      "code": 1002,
      "name": "dxGetOrderFills"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function
    Code Type Error
    1001 401 Unauthorized
    1011 400 Invalid maker symbol
    1012 400 Invalid taker symbol
    1025 400 Invalid parameters
    1002 500 Internal server error

    dxGetOrderHistory

    Sample Data

    {
      "maker": "SYS",
      "taker": "LTC",
      "start_time": 1540660180,
      "end_time": 1540660420,
      "granularity": 60
    }
    

    This call is used to retrieve the OHLCV data by a trade pair within a specified time range. It can return the history for any compatible asset since all trade history is stored on-chain.

    Request Parameters

    Sample Request

    blocknetdx-cli dxGetOrderHistory SYS LTC 1540660180 1540660420 60 true
    

    dxGetOrderHistory [maker] [taker] [start_time] [end_time] [granularity] [order_ids](optional) [with_inverse](optional) [limit](optional)

    Parameter Type Description
    maker string Maker trading asset; the ticker of the asset being sold by the maker.
    taker string Taker trading asset; the ticker of the asset being sold by the taker.
    start_time int Start time(Unix time) representing the lower boundary to search.
    end_time int End time(Unix time) representing the upper boundary to search.
    granularity int Time interval slice in seconds:
    60, 300, 900, 3600, 21600, 86400
    order_ids bool (Optional Parameter) Defaults to false.
    true: Receive the GUIDs of all filled orders in each slice.
    false: Do not receive the order GUIDs.
    with_inverse bool (Optional Parameter) Defaults to false.
    false: Returns the orders in the specified market pair.
    true: Returns the orders in the inverse pair too, e.g. LTC SYS -> SYS LTC would be returned as well.
    limit int (Optional Parameter) Defaults to 2147483647.
    The max number of interval slices returned.

    Response Parameters

    Sample 200 Response

    [
      //[ time, low, high, open, close, volume, id(s) ],
      [ "2018-01-16T13:15:05.12345Z", 1.10, 2.0, 1.10, 1.4, 1000, [ "0cc2e8a7222f1416cda996031ca21f67b53431614e89651887bc300499a6f83e" ] ],
      [ "2018-01-16T14:15:05.12345Z", 0, 0, 0, 0, 0, [] ],
      [ "2018-01-16T15:15:05.12345Z", 1.12, 2.2, 1.10, 1.4, 1000, [ "0cc2e8a7222f1416cda996031ca21f67b53431614e89651887bc300499a6f83e" ] ],
      [ "2018-01-16T16:15:05.12345Z", 1.14, 2.0, 1.10, 1.4, 1000, [ "0cc2e8a7222f1416cda996031ca21f67b53431614e89651887bc300499a6f83e" ] ],
      [ "2018-01-16T17:15:05.12345Z", 1.15, 2.0, 1.10, 1.4, 1000, [ "0cc2e8a7222f1416cda996031ca21f67b53431614e89651887bc300499a6f83e" ] ]
    ]
    
    Parameter Type Description
    time string ISO 8601 datetime, with microseconds, of the time at the beginning of the time slice.
    low float64 Exchange rate lower bound within the time slice.
    high float64 Exchange rate upper bound within the time slice.
    open float64 Exchange rate of first filled order at the beginning of the time slice.
    close float64 Exchange rate of last filled order at the end of the time slice.
    volume int64 Total volume of the taker asset within the time slice.
    order_ids array Array of GUIDs of all filled orders within the time slice.

    Sample 400 Response

    {
      "error": "Invalid parameters: granularity=6 must be one of: 60,300,900,3600,21600,86400",
      "code": 1025,
      "name": "dxGetOrderHistory"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function

    Sample 500 Response

    {
      "error": "Internal error occurred",
      "code": 1002,
      "name": "dxGetOrderHistory"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function
    Code Type Error
    1001 401 Unauthorized
    1004 400 Bad request
    1011 400 Invalid maker symbol
    1012 400 Invalid taker symbol
    1025 400 Invalid parameters
    1002 500 Internal server error

    dxGetLocalTokens

    This call is used to retrieve all the assets supported by the local client. If an asset is not showing, it has not been properly configured (refer back to #2 in XBridge Setup.

    Request Parameters

    Request

    blocknetdx-cli dxGetLocalTokens
    

    dxGetLocalTokens

    This call does not take parameters.

    Response Parameters

    Sample 200 Response

    [
      "LTC",
      "SYS",
      "MONA",
      "BLOCK"
    ]
    
    Parameter Type Description
    Array array An array of all the assets supported by the local client.

    Sample 400 Response

    {
      "error": "Bad request",
      "code": 1004,
      "name": "dxGetLocalTokens"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function

    Sample 500 Response

    {
      "error": "Internal error occurred",
      "code": 1002,
      "name": "dxGetLocalTokens"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function
    Code Type Error
    1001 401 Unauthorized
    1004 400 Bad request
    1025 400 Invalid parameters
    1002 500 Internal server error

    dxGetNetworkTokens

    This call is used to retrieve all the assets currently supported by the network. This list may differ from the compatibility list due to assets being unofficially supported or assets not being supported by any nodes on the network.

    Request Parameters

    Request

    blocknetdx-cli dxGetNetworkTokens
    

    dxGetNetworkTokens

    This call does not take parameters.

    Response Parameters

    Sample 200 Response

    [
      "LTC",
      "SYS",
      "MONA",
      "BLOCK"
    ]
    
    Parameter Type Description
    Array array An array of all the assets supported by the network.

    Sample 400 Response

    {
      "error": "Bad request",
      "code": 1004,
      "name": "dxGetNetworkTokens"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function

    Sample 500 Response

    {
      "error": "Internal error occurred",
      "code": 1002,
      "name": "dxGetNetworkTokens"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function
    Code Type Error
    1001 401 Unauthorized
    1004 400 Bad request
    1025 400 Invalid parameters
    1002 500 Internal server error

    dxGetTokenBalances

    This call is used to retrieve the asset available balances for all connected wallets on the local client. This will only return balances for the assets returned in dxGetLocalTokens. If an asset is not showing and is not returned in or the value is showing 0, it has not been properly configured (refer back to #2 in XBridge Setup.

    Request Parameters

    Request

    blocknetdx-cli dxGetTokenBalances
    

    dxGetTokenBalances

    This call does not take parameters.

    Response Parameters

    Sample 200 Response

    {
      "LTC": "0.568942",
      "SYS": "1050.128493",
      "MONA": "3.452",
      "BLOCK": "250.83492174"
    }
    
    Parameter Type Description
    Object object Key-value object of the assets and respective balances.
    -- key string The asset symbol.
    -- value string(float) The available wallet balance amount. String is used to preserve precision.

    Sample 400 Response

    {
      "error": "Bad request",
      "code": 1004,
      "name": "dxGetTokenBalances"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function

    Sample 500 Response

    {
      "error": "Internal error occurred",
      "code": 1002,
      "name": "dxGetTokenBalances"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function
    Code Type Error
    1001 401 Unauthorized
    1004 400 Bad request
    1025 400 Invalid parameters
    1002 500 Internal server error

    dxGetOrderBook

    Sample Data

    {
      "detail": 1,
      "maker": "LTC",
      "taker": "SYS",
      "max_orders": 100
    }
    

    This call is used to retrieve open orders at various detail levels:
    Detail 1 - Retrieves the best bid and ask.
    Detail 2 - Retrieves a list of aggregated orders. This is useful for charting.
    Detail 3 - Retrieves a list of non-aggregated orders. This is useful for bot trading.
    Detail 4 - Retrieves the best bid and ask with the order GUIDs.

    Note: This call will only return orders for markets with both assets returned in dxGetLocalTokens.

    Request Parameters

    Sample Request

    blocknetdx-cli dxGetOrderBook 1 LTC SYS 100
    

    dxGetOrderBook [detail] [maker] [taker] [max_orders](optional)

    Parameter Type Description
    detail int Detail level: 1, 2, 3, 4
    maker string Maker trading asset; the ticker of the asset being sold by the maker.
    taker string Taker trading asset; the ticker of the asset being sold by the taker.
    max_orders int (Optional Parameter) Defaults to 50.
    The maximum total orders to display for bids and asks combined. Odd values are rounded up 1. Quantity is split evenly between bids and asks.

    Response Parameters

    Sample 200 Response (Detail 1)

    {
      "detail": 1,
      "maker": "LTC",
      "taker": "SYS",
      "bids": [
        //[ price, size, quantity ],
        [ "253", "15", 1 ],
      ],
      "asks": [
        //[ price, size, quantity ],
        [ "253.01", "15", 3 ],
      ]
    }
    


    Detail 1
    Retrieves the best bid and ask.

    Parameter Type Description
    detail int Detail level: 1
    maker string Maker trading asset; the ticker of the asset being sold by the maker.
    taker string Taker trading asset; the ticker of the asset being sold by the taker.
    bids array An array of the best bids.
    - price string(float) The highest bid price for the asset. String is used to preserve precision.
    - size string(float) The size of bid orders at this price. String is used to preserve precision.
    - quantity int The total bid orders at this price.
    asks array An array of the best asks.
    - price string(float) The lowest ask price for the asset. String is used to preserve precision.
    - size string(float) The size of ask orders at this price. String is used to preserve precision.
    - quantity int The total ask orders at this price.

    Sample 200 Response (Detail 2)

    {
      "detail": 2,
      "maker": "LTC",
      "taker": "SYS",
      "bids": [
        //[ price, size, quantity ],
        [ "253.00", "15.00", 1 ]
      ],
      "asks": [
        //[ price, size, quantity ],
        [ "254.15", "15.01", 3 ]
      ]
    }
    


    Detail 2
    Retrieves a list of aggregated orders. This is useful for charting.

    Parameter Type Description
    detail int Detail level: 2
    maker string Maker trading asset; the ticker of the asset being sold by the maker.
    taker string Taker trading asset; the ticker of the asset being sold by the taker.
    bids array An array of bids.
    - price string(float) The bid price for the asset. String is used to preserve precision.
    - size string(float) The size of bid orders at this price. String is used to preserve precision.
    - quantity int The total bid orders at this price.
    asks array An array of asks.
    - price string(float) The ask price for the asset. String is used to preserve precision.
    - size string(float) The size of ask orders at this price. String is used to preserve precision.
    - quantity int The total ask orders at this price.

    Sample 200 Response (Detail 3)

    {
      "detail": 3,
      "maker": "LTC",
      "taker": "SYS",
      "bids": [
        //[ price, size, order_id ],
        [ "253.00", "15.00", "d1ebd0b8-5398-4278-8e20-d480ac1d5869" ]
      ],
      "asks": [
        //[ price, size, order_id ],
        [ "254.15", "15.01", "d93b735b-ae1b-4ac6-b96b-d92966dd6ea1" ],
        [ "254.15", "15.01", "32f5a551-3da6-4ff0-8ae6-0b60535c5237" ],
        [ "254.15", "15.01", "t8a64a7r-k47h-9fg4-24kf-j49f94mf83mf" ]
      ]
    }
    


    Detail 3
    Retrieves a list of non-aggregated orders. This is useful for bot trading.

    Parameter Type Description
    detail int Detail level: 3
    maker string Maker trading asset; the ticker of the asset being sold by the maker.
    taker string Taker trading asset; the ticker of the asset being sold by the taker.
    bids array An array of bids.
    - price string(float) The highest bid price for the asset. String is used to preserve precision.
    - size string(float) The size of the bid order. String is used to preserve precision.
    - order_id string The UUID of the bid order.
    asks array An array of asks.
    - price string(float) The lowest ask price for the asset. String is used to preserve precision.
    - size string(float) The size of the ask order. String is used to preserve precision.
    - order_id string The UUID of the ask order.

    Sample 200 Response (Detail 4)

    {
      "detail": 4,
      "maker": "LTC",
      "taker": "SYS",
      "bids": [
        //[ price, size, [order_ids] ],
        [ "253.00", "15", [ "d1ebd0b8-5398-4278-8e20-d480ac1d5869" ] ],
      ],
      "asks": [
        //[ price, size, [order_ids] ],
        [ "254.00", "15", [ "32f5a551-3da6-4ff0-8ae6-0b60535c5237", "d93b735b-ae1b-4ac6-b96b-d92966dd6ea1", "32f5a551-3da6-4ff0-8ae6-0b60535c5237", "t8a64a7r-k47h-9fg4-24kf-j49f94mf83mf" ] ],
      ]
    }
    


    Detail 4
    Retrieves the best bid and ask with the order GUIDs.

    Parameter Type Description
    detail int Detail level: 4
    maker string Maker trading asset; the ticker of the asset being sold by the maker.
    taker string Taker trading asset; the ticker of the asset being sold by the taker.
    bids array An array of the best bids.
    - price string(float) The highest bid price for the asset. String is used to preserve precision.
    - size string(float) The size of bid orders at this price. String is used to preserve precision.
    - order_ids array An array of UUID for bid orders at this price.
    asks array An array of the best asks.
    - price string(float) The lowest ask price for the asset. String is used to preserve precision.
    - size string(float) The size of ask orders at this price. String is used to preserve precision.
    - order_ids array An array of UUID for ask orders at this price.

    Sample 400 Response

    {
      "error": "Invalid detail level",
      "code": 1015,
      "name": "dxGetOrderBook"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function

    Sample 500 Response

    {
      "error": "Internal error occurred",
      "code": 1002,
      "name": "dxGetOrderBook"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function
    Code Type Error
    1001 401 Unauthorized
    1004 400 Bad request
    1011 400 Invalid maker symbol
    1012 400 Invalid taker symbol
    1015 400 Invalid detail level
    1025 400 Invalid parameters
    1002 500 Internal server error

    dxLoadXBridgeConf

    This call is used to reload xbridge.conf to run newly configured settings without needing to restart the Blocknet client.

    Request Parameters

    Request

    blocknetdx-cli dxLoadXBridgeConf
    

    dxLoadXBridgeConf

    This call does not take parameters.

    Response Parameters

    200 Response

    true
    
    Type Description
    bool true: Successfully reloaded file.

    Sample 400 Response

    {
      "error": "Bad request",
      "code": 1004,
      "name": "dxLoadXBridgeConf"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function

    Sample 500 Response

    {
      "error": "Internal error occurred",
      "code": 1002,
      "name": "dxLoadXBridgeConf"
    }
    
    Parameter Type Description
    error string Error message
    code int Error code
    name string Name of the RPC function
    Code Type Error
    1001 401 Unauthorized
    1004 400 Bad request
    1025 400 Invalid parameters
    1002 500 Internal server error

    gettradingdata

    This call returns the XBridge trading records. This information is pulled from on-chain history so pulling a large amount of blocks will result in longer response times.

    Request Parameters

    Sample Request

    blocknetdx-cli gettradingdata 1440
    

    gettradingdata [blocks](optional)

    Parameter Type Description
    blocks int (Optional Parameter) Defaults to 43200.
    Number of blocks to return trade records for (60s block time).

    Response Parameters

    Sample 200 Response

    [
      {
        "timestamp" : 1559970139,
        "txid" : "4b409e5c5fb1986930cf7c19afec2c89ac2ad4fddc13c1d5479b66ddf4a8fefb",
        "to" : "Bqtms8j1zrE65kcpsEorE5JDzDaHidMtLG",
        "xid" : "9eb57bac331eab34f3daefd8364cdb2bb05259c407d805d0bd0c",
        "from" : "BLOCK",
        "fromAmount" : 0.001111,
        "to" : "SYS",
        "toAmount" : 0.001000
      },
      {
        "timestamp" : 1559970139,
        "txid" : "3de7479e8a88ebed986d3b7e7e135291d3fd10e4e6d4c6238663db42c5019286",
        "to" : "Bqtms8j1zrE65kcpsEorE5JDzDaHidMtLG",
        "xid" : "fd0fed3ee9fe557d5735768c9bdcd4ab2908165353e0f0cef0d5",
        "from" : "BLOCK",
        "fromAmount" : 0.001577,
        "to" : "SYS",
        "toAmount" : 0.001420
      },
      {
        "timestamp" : 1559970139,
        "txid" : "9cc4a0dae46f2f1849b3ab6f93ea1c59aeaf0e95662d90398814113f12127eae",
        "to" : "BbrQKtutGBLuWHvq26EmHKuNaztnfBFWVB",
        "xid" : "f74c614489bd77efe545c239d1f9a57363c5428e7401b2018d350",
        "from" : "BLOCK",
        "fromAmount" : 0.000231,
        "to" : "SYS",
        "toAmount" : 0.001100
      }
    ]
    
    Parameter Type Description
    timestamp int Unix epoch timestamp of when the trade took place.
    txid string The Blocknet trade fee transaction ID.
    to string Service Node that received the trade fee.
    xid string XBridge transaction ID.
    from string Taker trading asset; the ticker of the asset being sold by the taker.
    fromAmount int Taker trading size.
    to string Maker trading asset; the ticker of the asset being sold by the maker.
    toAmount int Maker trading size.

    Status Codes

    The XBridge API uses the following order status codes:

    Status Description
    new New order, not yet broadcasted
    open Open order, waiting for taker
    accepting Taker accepting order
    hold Counterparties acknowledge each other
    initialized Counterparties agree on order
    created Swap process starting
    commited Swap finalized
    finished Order complete
    expired Order expired
    offline Maker or taker went offline
    canceled Order was canceled
    invalid Problem detected with the order
    rolled back Trade failed, funds being rolled back
    rollback failed Funds unsuccessfully redeemed in failed trade

    Error Codes

    The XBridge API uses the following error codes:

    Code Type Error
    1004 400 Bad request
    1011 400 Invalid maker symbol
    1012 400 Invalid taker symbol
    1015 400 Invalid detail level
    1016 400 Invalid time
    1017 400 Invalid asset
    1018 400 Unable to connect to wallet
    1019 400 Insufficient funds
    1020 400 Funds not signed for
    1021 400 Invalid order ID
    1022 400 Unknown session
    1023 400 Revert transaction failed
    1024 400 Invalid amount
    1025 400 Invalid parameters
    1026 400 Invalid address
    1027 400 Invalid signature
    1028 400 Invalid state
    1029 400 Not an exchange node
    1030 400 Dust amount
    1031 400 Insufficient funds
    1032 400 Unsupported asset
    1024 400 Size must be greater than 0
    1001 401 Unauthorized
    1002 500 Internal server error

    XRouter API

    The following set of calls are used to communicate and interact with blockchains remotely over the Blocknet network via XRouter.

    See XRouter Setup for instructions on setting up your environment for use with XRouter.

    Call Description
    xrGetNetworkServices Returns supported XRouter services
    xrConnect Pre-connect to XRouter nodes
    xrConnectedNodes Returns connected node services and fees
    xrGetBlockCount Returns a blockchain's block height
    xrGetBlockHash Returns a block number's hash
    xrGetBlock Returns a block hash's block number
    xrGetBlocks Returns block hashes for multiple block numbers
    xrDecodeRawTransaction Returns decoded transaction HEX
    xrGetTransaction Returns transaction data for transaction ID
    xrGetTransactions Returns transaction data for multiple transaction IDs
    xrSendTransaction Submit a signed transaction to the network
    xrService Use to interact with XCloud services
    xrServiceConsensus Use to interact with XCloud services with consensus
    xrGetReply Returns prior response associated with UUID
    xrShowConfigs Returns all node configs received as raw text
    xrUpdateConfigs Requests latest configs from nodes
    xrReloadConfigs Applies changes made to your configs
    xrStatus Returns your XRouter configurations

    xrGetNetworkServices

    This call is used to view the XRouter services currently supported on the network, along with the number of nodes supporting each service. XRouter SPV calls use the xr:: namespace. XCloud services use the xrs:: namespace and can be called using xrService and xrServiceConsensus.

    Request Parameters

    Sample Request

    blocknetdx-cli xrGetNetworkServices
    

    xrGetNetworkServices

    This call does not take parameters.

    Response Parameters

    Sample 200 Response

    {
      "reply": {
        "spvwallets": [ "xr::BLOCK", "xr::BTC", "xr::LTC", "xr::MNP", "xr::SYS", "xr::TBLOCK" ],
        "services": [ "xrs::BTCgetbestblockhash", "xrs::BTCgetblockhash", "xrs::BTCgettransaction", "xrs::SYSgetbestblockhash", "xrs::SYSgetblock", "xrs::SYSgetgovernanceinfo", "xrs::SYSgetmempool", "xrs::SYSlistoffers", "xrs::SYSofferinfo", "xrs::twilio" ],
        "nodecounts": {
          "xr::BLOCK": 27,
          "xr::BTC": 13,
          "xr::LTC": 21,
          "xr::MNP": 1,
          "xr::SYS": 9,
          "xrs::BTCgetbestblockhash": 12,
          "xrs::BTCgetblockhash": 12,
          "xrs::BTCgettransaction": 5,
          "xrs::SYSgetbestblockhash": 7,
          "xrs::SYSgetblock": 6,
          "xrs::SYSgetgovernanceinfo": 4,
          "xrs::SYSgetmempool": 4,
          "xrs::SYSlistoffers": 4,
          "xrs::SYSofferinfo": 4,
          "xrs::twilio": 1
        }
      },
      "uuid": "cd408df7-0ff8-4e29-b5cf-0148af83f93a"
    }
    
    Parameter Type Description
    reply object An object containing information on supported services.
    spvwallets array An array of supported SPV wallets, represented by the asset's ticker.
    services array An array of supported XCloud services.
    nodecounts object An object of supported SPV wallets and XCloud services with how many nodes support each.
    -- key string The SPV wallet or XCloud service with it's namespace.
    -- value int The amount of nodes supporting each respective service.
    uuid string The response ID, which can be used to view this response again with xrGetReply.

    xrConnect

    Sample Data

    {
      "service": "SYS"
    }
    

    This call is used to connect to XRouter nodes with the specified service and download their configs. This command is useful to determine how much nodes are charging for services. It's also useful to "warm up" connections. By connecting to nodes immediately before making a large request it can speed up the reponse time (since those connections will be open). However, XRouter nodes close inactive connections after 15 seconds, so keep that in mind. After connecting, call xrConnectedNodes to display information about these XRouter nodes.

    Request Parameters

    Sample Requests

    // Connect to one XRouter node supporting SYS
    blocknetdx-cli xrConnect xr::SYS
    
    // Connect to two XRouter nodes supporting SYS
    blocknetdx-cli xrConnect xr::SYS 2
    
    // Connect to one XRouter node supporting XCloud service twilio
    blocknetdx-cli xrConnect xrs::twilio
    

    xrConnect [service] [node_count](optional)

    Parameter Type Description
    service string Service name including the namespace (xr::[spv_call] or xrs::[xcloud_service]).
    node_count int (Optional Parameter)
    Defaults to 1 if no consensus= setting in xrouter.conf.
    The number of nodes to pre-connect to that will be used to route calls and use the majority response from for consensus.

    Response Parameters

    Sample 200 Response

    // Sample response for xrConnect SYS 2
    {
      "reply": [
        {
          "nodepubkey": "02c6c79a75846fd9bb064788b03145e347fa5464558fa9030ebb009df2833369f0",
          "score": 0,
          "banned": false,
          "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
          "spvwallets": [ "MNP", "SYS" ],
          "spvconfigs": [
            {
              "spvwallet": "MNP",
              "commands": [
                {
                  "command": "xrGetConfig",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockCount",
                  "fee": 0.000000,
                  "requestlimit": 10,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockHash",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlock",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrSendTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlocks",
                  "fee": 0.100000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetTransactions",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrDecodeRawTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                }
              ]
            },
            {
              "spvwallet": "SYS",
              "commands": [
                {
                  "command": "xrGetConfig",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockCount",
                  "fee": 0.100000,
                  "requestlimit": 10,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockHash",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlock",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrSendTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlocks",
                  "fee": 0.100000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetTransactions",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrDecodeRawTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                }
              ]
            }
          ],
          "feedefault": 0.000000,
          "fees": {
            "xrGetBlockCount": 0.000000,
            "xrGetBlocks": 0.100000
          },
          "services": {
            "SYSgetbestblockhash": {
              "parameters": "",
              "fee": 0.100000,
              "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
              "requestlimit": -1,
              "fetchlimit": 50,
              "timeout": 30,
              "disabled": false
            },
            "SYSgetgovernanceinfo": {
              "parameters": "",
              "fee": 0.100000,
              "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
              "requestlimit": -1,
              "fetchlimit": 50,
              "timeout": 30,
              "disabled": false
            }
          }
        },
        {
          "nodepubkey": "0370874cad6252bb94afa9a253c90122760ce2862e623b515e57bfe0697f3fc515",
          "score": 0,
          "banned": false,
          "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
          "spvwallets": [ "BLOCK", "BTC", "LTC", "SYS" ],
          "spvconfigs": [
            {
              "spvwallet": "BLOCK",
              "commands": [
                {
                  "command": "xrGetConfig",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockCount",
                  "fee": 0.000000,
                  "requestlimit": -1,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockHash",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlock",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrSendTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlocks",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetTransactions",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrDecodeRawTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                }
              ]
            },
            {
              "spvwallet": "BTC",
              "commands": [
                {
                  "command": "xrGetConfig",
                  "fee": 0.200000,
                  "requestlimit": 100,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockCount",
                  "fee": 0.200000,
                  "requestlimit": 100,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockHash",
                  "fee": 0.200000,
                  "requestlimit": 100,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlock",
                  "fee": 0.200000,
                  "requestlimit": 100,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetTransaction",
                  "fee": 0.200000,
                  "requestlimit": 100,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrSendTransaction",
                  "fee": 0.200000,
                  "requestlimit": 100,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlocks",
                  "fee": 0.200000,
                  "requestlimit": 100,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetTransactions",
                  "fee": 0.200000,
                  "requestlimit": 100,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrDecodeRawTransaction",
                  "fee": 0.200000,
                  "requestlimit": 100,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                }
              ]
            },
            {
              "spvwallet": "LTC",
              "commands": [
                {
                  "command": "xrGetConfig",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockCount",
                  "fee": 0.000000,
                  "requestlimit": -1,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockHash",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlock",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrSendTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlocks",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetTransactions",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrDecodeRawTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                }
              ]
            },
            {
              "spvwallet": "SYS",
              "commands": [
                {
                  "command": "xrGetConfig",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockCount",
                  "fee": 0.000000,
                  "requestlimit": -1,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockHash",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlock",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrSendTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlocks",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetTransactions",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrDecodeRawTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "fetchlimit" : 50,
                  "timeout" : 30,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                }
              ]
            }
          ],
          "feedefault": 0.000000,
          "fees": {
            "BTC": 0.200000,
            "xrGetBlockCount": 0.000000
          },
          "services": {
            "BTCgetbestblockhash": {
              "parameters": "",
              "fee": 0.000000,
              "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
              "requestlimit": 50,
              "fetchlimit": 50,
              "timeout": 30,
              "disabled": false
            },
            "BTCgetblockhash": {
              "parameters": "int",
              "fee": 0.000000,
              "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
              "requestlimit": 50,
              "fetchlimit": 50,
              "timeout": 30,
              "disabled": false
            },
            "BTCgettransaction": {
              "parameters": "string",
              "fee": 0.000000,
              "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
              "requestlimit": 50,
              "fetchlimit": 50,
              "timeout": 30,
              "disabled": false
            },
            "SYSgetbestblockhash": {
              "parameters": "",
              "fee": 0.000000,
              "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
              "requestlimit": 10,
              "fetchlimit": 50,
              "timeout": 30,
              "disabled": false
            }
          }
        }
      ],
      "uuid": "88A16FDB-464D-470B-94CD-D827E63285CC"
    }
    
    Parameter Type Description
    reply array An array of nodes providing the specified service, along with their configs.
    nodepubkey string The node ID.
    score int The node's score based on quality of service. A score of -200 will ban the node for a 24hr period. You can change the ban threshold with the xrouterbanscore setting in blocknetdx.conf. See node scoring for more details.
    banned bool Signifies if the node is currently banned.
    true: Node is banned.
    false: Node is not banned. See node scoring for more details.
    paymentaddress string The node's payment address.
    spvwallets array An array of supported SPV wallets, represented by the asset's ticker.
    spvconfigs array An array of each SPV wallets and command configurations.
    spvwallet string The SPV wallet that the configurations under commands pertains to.
    commands array An array of each SPV wallet command and respective configurations.
    command string The SPV command.
    fee float The command fee, overrides the feedefault and fees values. This priority has already been accounted for in this value.
    requestlimit int The minimum time allowed between calls in milliseconds. A value of -1 means there is no limit. If you exceed this value you will be penalized and eventually banned by this specific node.
    paymentaddress string The node's payment address for this specific command.
    disabled bool Signifies if the node has disabled this command.
    true: Call is disabled and not supported.
    false: Call is enabled and supported.
    feedefault float The node's default service fee. This fee is overridden by the values specified in fees, SPV command configuration fee, and XCloud service command configuration fee.
    fees object Object of SPV commands and respective fees. These values are overridden by the SPV wallet-specific configuration fee.
    services object Object of the node's XCloud service calls with respective properties.
    parameters string Information on the parameters the command takes.
    fee float The service command fee. This overrides the feedefault value.
    paymentaddress string The node's payment address for this specific command.
    requestlimit int The minimum time allowed between calls in milliseconds. A value of -1 means there is no limit. If you exceed this value you will be penalized and eventually banned by this specific node.
    fetchlimit int The maximum number of records returned. This pertains to calls such as xrGetBlocks and xrGetTransactions where multiple records are returned. A value of -1 means there is no limit. A value of 0 means no blocks will be processed.
    timeout int The value for timeout you set in xrouter.conf for this call. Defines how long (in seconds) your client waits for a response from a Service Node. The default value is 30.
    uuid string The response ID, which can be used to view this response again with xrGetReply.

    xrConnectedNodes

    This call is used to lists all the data about current and previously connected nodes. This information includes supported SPV wallets, SPV calls, services, fees, and other service settings.

    Request Parameters

    Sample Requests

    blocknetdx-cli xrConnectedNodes
    

    xrConnectedNodes

    This call does not take parameters.

    Response Parameters

    Sample 200 Response

    {
      "reply": [
        {
          "nodepubkey": "02c6c79a75846fd9bb064788b03145e347fa5464558fa9030ebb009df2833369f0",
          "score": 0,
          "banned": false,
          "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
          "spvwallets": [ "MNP", "SYS" ],
          "spvconfigs": [
            {
              "spvwallet": "MNP",
              "commands": [
                {
                  "command": "xrGetConfig",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockCount",
                  "fee": 0.000000,
                  "requestlimit": 10,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockHash",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlock",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrSendTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlocks",
                  "fee": 0.100000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetTransactions",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrDecodeRawTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                }
              ]
            },
            {
              "spvwallet": "SYS",
              "commands": [
                {
                  "command": "xrGetConfig",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockCount",
                  "fee": 0.100000,
                  "requestlimit": 10,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockHash",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlock",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrSendTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetBlocks",
                  "fee": 0.100000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrGetTransactions",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                },
                {
                  "command": "xrDecodeRawTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
                  "disabled": false
                }
              ]
            }
          ],
          "feedefault": 0.000000,
          "fees": {
            "xrGetBlockCount": 0.000000,
            "xrGetBlocks": 0.100000
          },
          "services": {
            "SYSgetbestblockhash": {
              "parameters": "",
              "fee": 0.100000,
              "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
              "requestlimit": -1,
              "fetchlimit": 50,
              "timeout": 30,
              "disabled": false
            },
            "SYSgetgovernanceinfo": {
              "parameters": "",
              "fee": 0.100000,
              "paymentaddress": "B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS",
              "requestlimit": -1,
              "fetchlimit": 50,
              "timeout": 30,
              "disabled": false
            }
          }
        },
        {
          "nodepubkey": "0370874cad6252bb94afa9a253c90122760ce2862e623b515e57bfe0697f3fc515",
          "score": 0,
          "banned": false,
          "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
          "spvwallets": [ "BLOCK", "BTC", "LTC", "SYS" ],
          "spvconfigs": [
            {
              "spvwallet": "BLOCK",
              "commands": [
                {
                  "command": "xrGetConfig",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockCount",
                  "fee": 0.000000,
                  "requestlimit": -1,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockHash",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlock",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrSendTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlocks",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetTransactions",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrDecodeRawTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                }
              ]
            },
            {
              "spvwallet": "BTC",
                "commands": [
                  {
                    "command": "xrGetConfig",
                    "fee": 0.200000,
                    "requestlimit": 100,
                    "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                    "disabled": false
                  },
                  {
                    "command": "xrGetBlockCount",
                    "fee": 0.200000,
                    "requestlimit": 100,
                    "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                    "disabled": false
                  },
                  {
                    "command": "xrGetBlockHash",
                    "fee": 0.200000,
                    "requestlimit": 100,
                    "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                    "disabled": false
                  },
                  {
                    "command": "xrGetBlock",
                    "fee": 0.200000,
                    "requestlimit": 100,
                    "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                    "disabled": false
                  },
                  {
                    "command": "xrGetTransaction",
                    "fee": 0.200000,
                    "requestlimit": 100,
                    "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                    "disabled": false
                  },
                  {
                    "command": "xrSendTransaction",
                    "fee": 0.200000,
                    "requestlimit": 100,
                    "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                    "disabled": false
                  },
                  {
                    "command": "xrGetBlocks",
                    "fee": 0.200000,
                    "requestlimit": 100,
                    "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                    "disabled": false
                  },
                  {
                    "command": "xrGetTransactions",
                    "fee": 0.200000,
                    "requestlimit": 100,
                    "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                    "disabled": false
                  },
                  {
                    "command": "xrDecodeRawTransaction",
                    "fee": 0.200000,
                    "requestlimit": 100,
                    "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                    "disabled": false
                  }
                ]
            },
            {
              "spvwallet": "LTC",
              "commands": [
                {
                  "command": "xrGetConfig",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockCount",
                  "fee": 0.000000,
                  "requestlimit": -1,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockHash",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlock",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrSendTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlocks",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetTransactions",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrDecodeRawTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                }
              ]
            },
            {
              "spvwallet": "SYS",
              "commands": [
                {
                  "command": "xrGetConfig",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockCount",
                  "fee": 0.000000,
                  "requestlimit": -1,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlockHash",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlock",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrSendTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetBlocks",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrGetTransactions",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                },
                {
                  "command": "xrDecodeRawTransaction",
                  "fee": 0.000000,
                  "requestlimit": 50,
                  "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
                  "disabled": false
                }
              ]
            }
          ],
          "feedefault": 0.000000,
          "fees": {
            "BTC": 0.200000,
            "xrGetBlockCount": 0.000000
          },
          "services": {
            "BTCgetbestblockhash": {
              "parameters": "",
              "fee": 0.000000,
              "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
              "requestlimit": 50,
              "fetchlimit": 50,
              "timeout": 30,
              "disabled": false
            },
            "BTCgetblockhash": {
              "parameters": "int",
              "fee": 0.000000,
              "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
              "requestlimit": 50,
              "fetchlimit": 50,
              "timeout": 30,
              "disabled": false
            },
            "BTCgettransaction": {
              "parameters": "string",
              "fee": 0.000000,
              "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
              "requestlimit": 50,
              "fetchlimit": 50,
              "timeout": 30,
              "disabled": false
            },
            "SYSgetbestblockhash": {
              "parameters": "",
              "fee": 0.000000,
              "paymentaddress": "BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh",
              "requestlimit": 10,
              "fetchlimit": 50,
              "timeout": 30,
              "disabled": false
            }
          }
        }
      ],
      "uuid": "88A16FDB-464D-470B-94CD-D827E63285CC"
    }
    
    Parameter Type Description
    reply array An array of nodes providing the specified service.
    nodepubkey string The node ID.
    score int The node's score based on quality of service. A score of -200 will ban the node for a 24hr period. You can change the ban threshold with the xrouterbanscore setting in blocknetdx.conf. See node scoring for more details.
    banned bool Signifies if the node is currently banned.
    true: Node is banned.
    false: Node is not banned. See node scoring for more details.
    paymentaddress string The node's payment address.
    spvwallets array An array of supported SPV wallets, represented by the asset's ticker.
    spvconfigs array An array of each SPV wallets and command configurations.
    spvwallet string The SPV wallet that the configurations under commands pertains to.
    commands array An array of each SPV wallet command and respective configurations.
    command string The SPV command.
    fee float The SPV command fee. This overrides the feedefault and fees values.
    requestlimit int The minimum time allowed between calls in milliseconds. A value of -1 means there is no limit. If you exceed this value you will be penalized and eventually banned by this specific node.
    paymentaddress string The node's payment address for this specific command.
    disabled bool Signifies if the node has disabled this command.
    true: Call is disabled and not supported.
    false: Call is enabled and supported.
    feedefault float The node's default service fee. This fee is overridden by the values specified in fees, SPV command configuration fee, and XCloud service command configuration fee.
    fees object Object of SPV commands and respective fees. These values are overridden by the SPV wallet-specific configuration fee.
    services object Object of the node's XCloud service calls with respective properties.
    parameters string Information on the parameters the command takes.
    fee float The service command fee. This overrides the feedefault value.
    paymentaddress string The node's payment address for this specific command.
    requestlimit int The minimum time allowed between calls in milliseconds. A value of -1 means there is no limit. If you exceed this value you will be penalized and eventually banned by this specific node.
    fetchlimit int The maximum number of records returned. This pertains to calls such as xrGetBlocks and xrGetTransactions where multiple records are returned. A value of -1 means there is no limit. A value of 0 means no blocks will be processed.
    timeout int The value for timeout you set in xrouter.conf for this call. Defines how long (in seconds) your client waits for a response from a Service Node. The default value is 30.
    uuid string The response ID, which can be used to view this response again with xrGetReply.

    xrGetBlockCount

    Sample Data

    {
      "blockchain": "SYS"
    }
    

    This call is used to retrieve the current block height of the longest chain for the specified blockchain. It requires the blockchain to be SPV wallet supported.

    Request Parameters

    Sample Request

    blocknetdx-cli xrGetBlockCount SYS 2
    

    xrGetBlockCount [blockchain] [node_count](optional)

    Parameter Type Description
    blockchain string The blockchain, represented by the asset's ticker (BTC, LTC, SYS, etc.).
    node_count int (Optional Parameter)
    Defaults to 1 if no consensus= setting in xrouter.conf.
    The number of nodes that will be used to route calls and use the majority response from for consensus.

    Response Parameters

    Sample 200 Response

    {
      "reply": 482107,
      "allreplies": [
        {
          "nodepubkey": "02c6c79a75846fd9bb064788b03145e347fa5464558fa9030ebb009df2833369f0",
          "score": 48,
          "reply": 482107
        },
        {
          "nodepubkey": "0370874cad6252bb94afa9a253c90122760ce2862e623b515e57bfe0697f3fc515",
          "score": 52,
          "reply": 482107
        }
      ],
      "uuid": "34d0998e-a950-4fd8-b1d6-7571c83abb50"
    }
    
    Parameter Type Description
    reply int The latest block number of the specified blockchain. If using a node_count greater than 1, this returns the most common reply within allreplies. If there is a tie then one is chosen, or if one is an error then the non-error is chosen.
    allreplies* array An array of objects with responses from each node. This can be useful if you wanted to do your own analysis/filtering of the responses.
    nodepubkey* string The node ID.
    score* int The respective node's score based on quality of service. A score of -200 will ban the node for a 24hr period. You can change the ban threshold with the xrouterbanscore setting in blocknetdx.conf. See node scoring for more details.
    reply* int The latest block number of the specified blockchain from the respective node.
    uuid string The response ID, which can be used to view this response again with xrGetReply.

    * This is only returned if using a node_count greater than 1.

    xrGetBlockHash

    Sample Data

    {
      "blockchain": "SYS",
      "block_number": 91510
    }
    

    This call is used to retrieve the block hash of the specified block and blockchain.

    Request Parameters

    Sample Request

    blocknetdx-cli xrGetBlockHash SYS 482107 2
    

    xrGetBlockHash [blockchain] [block_number] [node_count](optional)

    Parameter Type Description
    blockchain string The blockchain, represented by the asset's ticker (BTC, LTC, SYS, etc.).
    block_number string The block number or hex for the block hash of interest.
    node_count int (Optional Parameter)
    Defaults to 1 if no consensus= setting in xrouter.conf.
    The number of nodes that will be used to route calls and use the majority response from for consensus.

    Response Parameters

    Sample 200 Response

    {
      "reply": "52583afcd857e45234e7c8981804b36d13a7b3025c17f3535c3e724542590a79",
      "allreplies": [
        {
          "nodepubkey": "02c6c79a75846fd9bb064788b03145e347fa5464558fa9030ebb009df2833369f0",
          "score": 238,
          "reply": "52583afcd857e45234e7c8981804b36d13a7b3025c17f3535c3e724542590a79"
        },
        {
          "nodepubkey": "0370874cad6252bb94afa9a253c90122760ce2862e623b515e57bfe0697f3fc515",
          "score": 288,
          "reply": "52583afcd857e45234e7c8981804b36d13a7b3025c17f3535c3e724542590a79"
        }
      ],
      "uuid": "3c84d025-8a03-4b64-848f-99892fe481ff"
    }
    
    Parameter Type Description
    reply string The block hash of the specified block and blockchain. If using a node_count greater than 1, this returns the most common reply within allreplies. If there is a tie then one is chosen, or if one is an error then the non-error is chosen.
    allreplies* array An array of objects with responses from each node. This can be useful if you wanted to do your own analysis/filtering of the responses.
    nodepubkey* string The node ID.
    score* int The respective node's score based on quality of service. A score of -200 will ban the node for a 24hr period. You can change the ban threshold with the xrouterbanscore setting in blocknetdx.conf. See node scoring for more details.
    reply* string The block hash of the specified block and blockchain from the respective node.
    uuid string The response ID, which can be used to view this response again with xrGetReply.

    * This is only returned if using a node_count greater than 1.

    xrGetBlock

    Sample Data

    {
      "blockchain": "SYS",
      "block_hash": "0cf18712db68be85793dc06cd0a4fbc8edb166157e6847bb3c9f55d462b02837"
    }
    

    This call is used to retrieve the block data for the specified block hash and blockchain.

    Request Parameters

    Sample Request

    blocknetdx-cli xrGetBlock SYS 0cf18712db68be85793dc06cd0a4fbc8edb166157e6847bb3c9f55d462b02837 2
    

    xrGetBlock [blockchain] [block_hash] [node_count](optional)

    Parameter Type Description
    blockchain string The blockchain, represented by the asset's ticker (BTC, LTC, SYS, etc.).
    block_hash string The block hash for the block of interest.
    node_count int (Optional Parameter)
    Defaults to 1 if no consensus= setting in xrouter.conf.
    The number of nodes that will be used to route calls and use the majority response from for consensus.

    Response Parameters

    Sample 200 Response

    {
      "reply": [
        {
          "hash": "0cf18712db68be85793dc06cd0a4fbc8edb166157e6847bb3c9f55d462b02837",
          "confirmations": 390700,
          "size": 734,
          "height": 91510,
          "version": 805306624,
          "versionHex": "30000100",
          "merkleroot": "55554df0ea7f66552beffe433d2c2f620bada79063a343ffc23c60c67cdf028f",
          "tx": [ "55554df0ea7f66552beffe433d2c2f620bada79063a343ffc23c60c67cdf028f" ],
          "time": 1530894673,
          "mediantime": 1530894336,
          "nonce": 0,
          "bits": "180761db",
          "difficulty": 148937676133.261200,
          "chainwork": "00000000000000000000000000000000000000000028ad56864c458781e21970",
          "auxpow": {
            "tx": {
              "hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff5703dd3408142f5669614254432f626d67706f6f6c2e636f6d2f2cfabe6d6d75654ab7a6b163e7a04e56e43f8e7ca0087f11e8bd6c3c72c69732e849532878040000000000000010d51dbb0b9301409ff96ef9f588c50200ffffffff01c051824a000000001976a914f1c075a01882ae0972f95d3a4177c86c852b7d9188ac00000000",
              "txid": "c8fc123672fffb3c6a45b94bdd30afc114f282742338809380bc84fe8666d489",
              "size": 172,
              "version": 1,
              "locktime": 0,
              "vin": [
                {
                  "coinbase": "03dd3408142f5669614254432f626d67706f6f6c2e636f6d2f2cfabe6d6d75654ab7a6b163e7a04e56e43f8e7ca0087f11e8bd6c3c72c69732e849532878040000000000000010d51dbb0b9301409ff96ef9f588c50200",
                  "sequence": 4294967295
                }
              ],
              "vout": [
                {
                  "value": 12.500546,
                  "valueSat": 1250054592,
                  "n": 0,
                  "scriptPubKey": {
                    "asm": "OP_DUP OP_HASH160 f1c075a01882ae0972f95d3a4177c86c852b7d91 OP_EQUALVERIFY OP_CHECKSIG",
                    "hex": "76a914f1c075a01882ae0972f95d3a4177c86c852b7d9188ac",
                    "reqSigs": 1,
                    "type": "pubkeyhash",
                    "addresses": [ "SjLGSPfmF3kVPA6A213hShYc4aRtiWZ8Wu" ]
                  }
                }
              ],
              "blockhash": "000000000000000004bdb8e3fdf28ffc528f4e6b1871a6177579cbd4dabde955"
            },
            "index": 0,
            "chainindex": 2,
            "merklebranch": [ "a67d749dfa7006b9d66d2284b20a64ebcb8c2e5aae18e355c790b90a060a30c1", "9ab5c057ecf43aa0552c21be4f86b1c9b248fe2dd0821bee38e5a25a22c49c25", "ec11fd79e02fe98bf9f4b624e5460a3221dbae27d24f36c9988dcc5beaf3c592", "dbc42b7360a7165b277f73094a366e951d3ac6d6a1e9493d838d35372e5e846b", "c7260dbfb6b196bd2e4e4dbde1799592627a3e6fa384e6692be8387a9251e5e2" ],
            "chainmerklebranch": [ "89af0bc973bc0308f14c5c50c3d75f68783eab40a4688064cd56cfaed977d138", "5360cbf0991b4b0e09d589631c232d1f229104faad9e65375695230c47bc2493" ],
            "parentblock": "0000002024653d98f3eace4b66b6269fa9205e08b647e23cf7880e0000000000000000003feae4c877b2f8b73f6f92a589ed8870fe98abb3551f1539373597f5b44514ada9993f5bb1830118d5793688"
          },
          "previousblockhash": "ba53d715abf76ac8adc025120ffb48b2331f3a1b9b7d01167ffd7dcd23934390",
          "nextblockhash": "cd3a236542491089bffd8ba49cbe1d11a20dd4c4ad188307027e60c710732409"
        }
      ],
      "allreplies": [
        {
          "nodepubkey": "02c6c79a75846fd9bb064788b03145e347fa5464558fa9030ebb009df2833369f0",
          "score": 242,
          "reply": [
            {
              "hash": "0cf18712db68be85793dc06cd0a4fbc8edb166157e6847bb3c9f55d462b02837",
              "confirmations": 390700,
              "size": 734,
              "height": 91510,
              "version": 805306624,
              "versionHex": "30000100",
              "merkleroot": "55554df0ea7f66552beffe433d2c2f620bada79063a343ffc23c60c67cdf028f",
              "tx": [ "55554df0ea7f66552beffe433d2c2f620bada79063a343ffc23c60c67cdf028f" ],
              "time": 1530894673,
              "mediantime": 1530894336,
              "nonce": 0,
              "bits": "180761db",
              "difficulty": 148937676133.261200,
              "chainwork": "00000000000000000000000000000000000000000028ad56864c458781e21970",
              "auxpow": {
                "tx": {
                  "hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff5703dd3408142f5669614254432f626d67706f6f6c2e636f6d2f2cfabe6d6d75654ab7a6b163e7a04e56e43f8e7ca0087f11e8bd6c3c72c69732e849532878040000000000000010d51dbb0b9301409ff96ef9f588c50200ffffffff01c051824a000000001976a914f1c075a01882ae0972f95d3a4177c86c852b7d9188ac00000000",
                  "txid": "c8fc123672fffb3c6a45b94bdd30afc114f282742338809380bc84fe8666d489",
                  "size": 172,
                  "version": 1,
                  "locktime": 0,
                  "vin": [
                    {
                      "coinbase": "03dd3408142f5669614254432f626d67706f6f6c2e636f6d2f2cfabe6d6d75654ab7a6b163e7a04e56e43f8e7ca0087f11e8bd6c3c72c69732e849532878040000000000000010d51dbb0b9301409ff96ef9f588c50200",
                      "sequence": 4294967295
                    }
                  ],
                  "vout": [
                    {
                      "value": 12.500546,
                      "valueSat": 1250054592,
                      "n": 0,
                      "scriptPubKey": {
                        "asm": "OP_DUP OP_HASH160 f1c075a01882ae0972f95d3a4177c86c852b7d91 OP_EQUALVERIFY OP_CHECKSIG",
                        "hex": "76a914f1c075a01882ae0972f95d3a4177c86c852b7d9188ac",
                        "reqSigs": 1,
                        "type": "pubkeyhash",
                        "addresses": [ "SjLGSPfmF3kVPA6A213hShYc4aRtiWZ8Wu" ]
                      }
                    }
                  ],
                    "blockhash": "000000000000000004bdb8e3fdf28ffc528f4e6b1871a6177579cbd4dabde955"
                },
                "index": 0,
                "chainindex": 2,
                "merklebranch": [ "a67d749dfa7006b9d66d2284b20a64ebcb8c2e5aae18e355c790b90a060a30c1", "9ab5c057ecf43aa0552c21be4f86b1c9b248fe2dd0821bee38e5a25a22c49c25", "ec11fd79e02fe98bf9f4b624e5460a3221dbae27d24f36c9988dcc5beaf3c592", "dbc42b7360a7165b277f73094a366e951d3ac6d6a1e9493d838d35372e5e846b", "c7260dbfb6b196bd2e4e4dbde1799592627a3e6fa384e6692be8387a9251e5e2" ],
                "chainmerklebranch": [ "89af0bc973bc0308f14c5c50c3d75f68783eab40a4688064cd56cfaed977d138", "5360cbf0991b4b0e09d589631c232d1f229104faad9e65375695230c47bc2493" ],
                "parentblock": "0000002024653d98f3eace4b66b6269fa9205e08b647e23cf7880e0000000000000000003feae4c877b2f8b73f6f92a589ed8870fe98abb3551f1539373597f5b44514ada9993f5bb1830118d5793688"
              },
              "previousblockhash": "ba53d715abf76ac8adc025120ffb48b2331f3a1b9b7d01167ffd7dcd23934390",
              "nextblockhash": "cd3a236542491089bffd8ba49cbe1d11a20dd4c4ad188307027e60c710732409"
            }
          ]
        },
        {
          "nodepubkey": "0370874cad6252bb94afa9a253c90122760ce2862e623b515e57bfe0697f3fc515",
          "score": 292,
          "reply": [
            {
              "hash": "0cf18712db68be85793dc06cd0a4fbc8edb166157e6847bb3c9f55d462b02837",
              "confirmations": 390700,
              "size": 734,
              "height": 91510,
              "version": 805306624,
              "versionHex": "30000100",
              "merkleroot": "55554df0ea7f66552beffe433d2c2f620bada79063a343ffc23c60c67cdf028f",
              "tx": [ "55554df0ea7f66552beffe433d2c2f620bada79063a343ffc23c60c67cdf028f" ],
              "time": 1530894673,
              "mediantime": 1530894336,
              "nonce": 0,
              "bits": "180761db",
              "difficulty": 148937676133.261200,
              "chainwork": "00000000000000000000000000000000000000000028ad56864c458781e21970",
              "auxpow": {
                "tx": {
                  "hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff5703dd3408142f5669614254432f626d67706f6f6c2e636f6d2f2cfabe6d6d75654ab7a6b163e7a04e56e43f8e7ca0087f11e8bd6c3c72c69732e849532878040000000000000010d51dbb0b9301409ff96ef9f588c50200ffffffff01c051824a000000001976a914f1c075a01882ae0972f95d3a4177c86c852b7d9188ac00000000",
                  "txid": "c8fc123672fffb3c6a45b94bdd30afc114f282742338809380bc84fe8666d489",
                  "size": 172,
                  "version": 1,
                  "locktime": 0,
                  "vin": [
                    {
                      "coinbase": "03dd3408142f5669614254432f626d67706f6f6c2e636f6d2f2cfabe6d6d75654ab7a6b163e7a04e56e43f8e7ca0087f11e8bd6c3c72c69732e849532878040000000000000010d51dbb0b9301409ff96ef9f588c50200",
                      "sequence": 4294967295
                    }
                  ],
                  "vout": [
                    {
                      "value": 12.500546,
                      "valueSat": 1250054592,
                      "n": 0,
                      "scriptPubKey": {
                        "asm": "OP_DUP OP_HASH160 f1c075a01882ae0972f95d3a4177c86c852b7d91 OP_EQUALVERIFY OP_CHECKSIG",
                        "hex": "76a914f1c075a01882ae0972f95d3a4177c86c852b7d9188ac",
                        "reqSigs": 1,
                        "type": "pubkeyhash",
                        "addresses": [ "SjLGSPfmF3kVPA6A213hShYc4aRtiWZ8Wu" ]
                      }
                    }
                  ],
                  "blockhash": "000000000000000004bdb8e3fdf28ffc528f4e6b1871a6177579cbd4dabde955"
                },
                "index": 0,
                "chainindex": 2,
                "merklebranch": [ "a67d749dfa7006b9d66d2284b20a64ebcb8c2e5aae18e355c790b90a060a30c1", "9ab5c057ecf43aa0552c21be4f86b1c9b248fe2dd0821bee38e5a25a22c49c25", "ec11fd79e02fe98bf9f4b624e5460a3221dbae27d24f36c9988dcc5beaf3c592", "dbc42b7360a7165b277f73094a366e951d3ac6d6a1e9493d838d35372e5e846b", "c7260dbfb6b196bd2e4e4dbde1799592627a3e6fa384e6692be8387a9251e5e2" ],
                "chainmerklebranch": [ "89af0bc973bc0308f14c5c50c3d75f68783eab40a4688064cd56cfaed977d138", "5360cbf0991b4b0e09d589631c232d1f229104faad9e65375695230c47bc2493" ],
                "parentblock": "0000002024653d98f3eace4b66b6269fa9205e08b647e23cf7880e0000000000000000003feae4c877b2f8b73f6f92a589ed8870fe98abb3551f1539373597f5b44514ada9993f5bb1830118d5793688"
              },
              "previousblockhash": "ba53d715abf76ac8adc025120ffb48b2331f3a1b9b7d01167ffd7dcd23934390",
              "nextblockhash": "cd3a236542491089bffd8ba49cbe1d11a20dd4c4ad188307027e60c710732409"
            }
          ]
        }
      ],
      "uuid": "5404cc31-2b01-48eb-8599-e6adcd8f9216"
    }
    
    Parameter Type Description
    reply object An object containing the block data for the specified block hash and blockchain. If using a node_count greater than 1, this returns the most common reply within allreplies. If there is a tie then one is chosen, or if one is an error then the non-error is chosen.
    allreplies* array An array of objects with responses from each node. This can be useful if you wanted to do your own analysis/filtering of the responses.
    nodepubkey* string The node ID.
    score* int The respective node's score based on quality of service. A score of -200 will ban the node for a 24hr period. You can change the ban threshold with the xrouterbanscore setting in blocknetdx.conf. See node scoring for more details.
    reply* object An object containing the block data for the specified block hash and blockchain from the respective node.
    uuid string The response ID, which can be used to view this response again with xrGetReply.

    * This is only returned if using a node_count greater than 1.

    xrGetBlocks

    Sample Data

    {
      "blockchain": "SYS",
      "block_hash1": "0cf18712db68be85793dc06cd0a4fbc8edb166157e6847bb3c9f55d462b02837",
      "block_hash2": "52583afcd857e45234e7c8981804b36d13a7b3025c17f3535c3e724542590a79"
    }
    

    This call is used to retrieve block data for multiple block hashes on the specified blockchain. Currently the maximum request is 50 blocks, although a node may set this limit to less.

    Request Parameters

    Sample Request

    blocknetdx-cli xrGetBlocks SYS 0cf18712db68be85793dc06cd0a4fbc8edb166157e6847bb3c9f55d462b02837,52583afcd857e45234e7c8981804b36d13a7b3025c17f3535c3e724542590a79 2
    

    xrGetBlocks [blockchain] [block_hash1,block_hash2,block_hashN] [node_count](optional)

    Parameter Type Description
    blockchain string The blockchain, represented by the asset's ticker (BTC, LTC, SYS, etc.).
    block_hashN string The block hashes for the blocks of interest. The hashes must be separated by a comma with no spaces.
    node_count int (Optional Parameter)
    Defaults to 1 if no consensus= setting in xrouter.conf.
    The number of nodes that will be used to route calls and use the majority response from for consensus.

    Response Parameters

    Sample 200 Response

    {
      "reply": [
        {
          "hash": "0cf18712db68be85793dc06cd0a4fbc8edb166157e6847bb3c9f55d462b02837",
          "confirmations": 390700,
          "size": 734,
          "height": 91510,
          "version": 805306624,
          "versionHex": "30000100",
          "merkleroot": "55554df0ea7f66552beffe433d2c2f620bada79063a343ffc23c60c67cdf028f",
          "tx": [ "55554df0ea7f66552beffe433d2c2f620bada79063a343ffc23c60c67cdf028f" ],
          "time": 1530894673,
          "mediantime": 1530894336,
          "nonce": 0,
          "bits": "180761db",
          "difficulty": 148937676133.261200,
          "chainwork": "00000000000000000000000000000000000000000028ad56864c458781e21970",
          "auxpow": {
            "tx": {
              "hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff5703dd3408142f5669614254432f626d67706f6f6c2e636f6d2f2cfabe6d6d75654ab7a6b163e7a04e56e43f8e7ca0087f11e8bd6c3c72c69732e849532878040000000000000010d51dbb0b9301409ff96ef9f588c50200ffffffff01c051824a000000001976a914f1c075a01882ae0972f95d3a4177c86c852b7d9188ac00000000",
              "txid": "c8fc123672fffb3c6a45b94bdd30afc114f282742338809380bc84fe8666d489",
              "size": 172,
              "version": 1,
              "locktime": 0,
              "vin": [
                {
                  "coinbase": "03dd3408142f5669614254432f626d67706f6f6c2e636f6d2f2cfabe6d6d75654ab7a6b163e7a04e56e43f8e7ca0087f11e8bd6c3c72c69732e849532878040000000000000010d51dbb0b9301409ff96ef9f588c50200",
                  "sequence": 4294967295
                }
              ],
              "vout": [
                {
                  "value": 12.500546,
                  "valueSat": 1250054592,
                  "n": 0,
                  "scriptPubKey": {
                    "asm": "OP_DUP OP_HASH160 f1c075a01882ae0972f95d3a4177c86c852b7d91 OP_EQUALVERIFY OP_CHECKSIG",
                    "hex": "76a914f1c075a01882ae0972f95d3a4177c86c852b7d9188ac",
                    "reqSigs": 1,
                    "type": "pubkeyhash",
                    "addresses": [ "SjLGSPfmF3kVPA6A213hShYc4aRtiWZ8Wu" ]
                  }
                }
              ],
              "blockhash": "000000000000000004bdb8e3fdf28ffc528f4e6b1871a6177579cbd4dabde955"
            },
            "index": 0,
            "chainindex": 2,
            "merklebranch": [ "a67d749dfa7006b9d66d2284b20a64ebcb8c2e5aae18e355c790b90a060a30c1", "9ab5c057ecf43aa0552c21be4f86b1c9b248fe2dd0821bee38e5a25a22c49c25", "ec11fd79e02fe98bf9f4b624e5460a3221dbae27d24f36c9988dcc5beaf3c592", "dbc42b7360a7165b277f73094a366e951d3ac6d6a1e9493d838d35372e5e846b", "c7260dbfb6b196bd2e4e4dbde1799592627a3e6fa384e6692be8387a9251e5e2" ],
            "chainmerklebranch": [ "89af0bc973bc0308f14c5c50c3d75f68783eab40a4688064cd56cfaed977d138", "5360cbf0991b4b0e09d589631c232d1f229104faad9e65375695230c47bc2493" ],
            "parentblock": "0000002024653d98f3eace4b66b6269fa9205e08b647e23cf7880e0000000000000000003feae4c877b2f8b73f6f92a589ed8870fe98abb3551f1539373597f5b44514ada9993f5bb1830118d5793688"
          },
          "previousblockhash": "ba53d715abf76ac8adc025120ffb48b2331f3a1b9b7d01167ffd7dcd23934390",
          "nextblockhash": "cd3a236542491089bffd8ba49cbe1d11a20dd4c4ad188307027e60c710732409"
        },
        {
          "hash": "52583afcd857e45234e7c8981804b36d13a7b3025c17f3535c3e724542590a79",
          "confirmations": 115,
          "size": 1073,
          "height": 482107,
          "version": 805306624,
          "versionHex": "30000100",
          "merkleroot": "d1de796d10826dcc97af3d9683711da0f8e8aad996277034bd9b11631ce0d1f2",
          "tx": [ "d1de796d10826dcc97af3d9683711da0f8e8aad996277034bd9b11631ce0d1f2" ],
          "time": 1555482589,
          "mediantime": 1555482282,
          "nonce": 0,
          "bits": "1805ec8b",
          "difficulty": 185600202264.865814,
          "chainwork": "000000000000000000000000000000000000000000f8bf3057c91ffc80efc4fc",
          "auxpow": {
            "tx": {
              "hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff5b0355ba08182f5669614254432f4d696e65642062792067656e6469722f2cfabe6d6daa2651dfd7b34e3cf5b87fd5ab3b70a78d23194d2269c502280de7193d73790f10000000000000001056691e0c261e0b871f9d92be0000259bffffffff0206baf84b000000001976a914536ffa992491508dca0354e52f32a3a7a679a53a88ac0000000000000000266a24aa21a9ed6e46f58e0097a34b65b4d332ebde4a0cedb300fab27549b3ee1c09fd2d7875d300000000",
              "txid": "94ce9c796176df4cbe67695c0bfcd63587b1b664e23b716233980dc07d2874d7",
              "size": 223,
              "version": 1,
              "locktime": 0,
              "vin": [
                {
                  "coinbase": "0355ba08182f5669614254432f4d696e65642062792067656e6469722f2cfabe6d6daa2651dfd7b34e3cf5b87fd5ab3b70a78d23194d2269c502280de7193d73790f10000000000000001056691e0c261e0b871f9d92be0000259b",
                  "sequence": 4294967295
                }
              ],
              "vout": [
                {
                  "value": 12.745918,
                  "valueSat": 1274591750,
                  "n": 0,
                  "scriptPubKey": {
                    "asm": "OP_DUP OP_HASH160 536ffa992491508dca0354e52f32a3a7a679a53a OP_EQUALVERIFY OP_CHECKSIG",
                    "hex": "76a914536ffa992491508dca0354e52f32a3a7a679a53a88ac",
                    "reqSigs": 1,
                    "type": "pubkeyhash",
                    "addresses": [ "SUuBGCD7Ff3C2ozR6osYguPeXNho98S5qR" ]
                  }
                },
                {
                  "value": 0.000000,
                  "valueSat": 0,
                  "n": 1,
                  "scriptPubKey": {
                    "asm": "OP_RETURN aa21a9ed6e46f58e0097a34b65b4d332ebde4a0cedb300fab27549b3ee1c09fd2d7875d3",
                    "hex": "6a24aa21a9ed6e46f58e0097a34b65b4d332ebde4a0cedb300fab27549b3ee1c09fd2d7875d3",
                    "type": "nulldata"
                  }
                }
              ],
              "blockhash": "000000000000000000bcf15d287a324f073b1e0239452a6d4d513c27dc73150a"
            },
            "index": 0,
            "chainindex": 14,
            "merklebranch": [ "b468e6225dbecfbbf9f86cc8414afb70ae1fade27008e5f8080f74341dbc103c", "c5ec7ac7fb9405564c2afffcd0279c8237a883f0e414011cfe4439572fd8f476", "72731cb13f6ef60cc4647c5c98a48a67ae83a8b2db8e6fcc3ffc2e5cb33e45e3", "3975f42ce7c1be1dfd2118fd7bce4bc2b67993a5f03f6389089e86446e391533", "1fa4527c16a1fd05735914c568d0265ec92e9608890d22ece6f1edcb989fad1a", "018223df5ec9acd3a1ce30e445477d8ca368a6a1dcba8616f5178c9e41287f42", "86dff2db9b12c6afd1cdcd60415e5d19356eaffe5d938fbc2b6147c2430363f5", "77d0cb1a7e0d3cebc57380bd3546a45923107aff5b8bb969d0272d2fd6709280", "04a2a80fdd3a2ccf24642fec547bbb7415922ee6348a0c5b8efbe25611120258", "822ee423a7c096e070117f7573824922c2d612027278d8f330977abf75657ddc", "b7bb4ddf8d79219e9e0e8bb599c23e943317e3c4d8f0e31bd712a08edaace138", "47828c64e2141a2417f271a22dc80fa716604ce044fc0db1827a9a3818c0ca22" ],
            "chainmerklebranch": [ "0000000000000000000000000000000000000000000000000000000000000000", "f98c4e9736d8eb8bb46299798906695c755369a3df99a93ffdded1713f1cf6e2", "36e70e1ae90b14efb14d594dff72647f862e97c4f704ad0d609041bb7d73aaa5", "63e9f83bff026dcfa4d967e727ceb35dbdf7e02225d88f2ce2f3842f10c16481" ],
            "parentblock": "000000208100da1ca9afee2f159a537c64aa7fcfce77dbdce07009000000000000000000d63acfaac8ae4bc195f8ba076f306c45ec06a8a740a182263e96732d842984cee6c7b65c1d072c174919714b"
          },
          "previousblockhash": "abe70792116fd7806b211b6d67cc6bfa1490aa0dea71587d0bbbe9ee435c9c2a",
          "nextblockhash": "2d7adca3fe7a51018b909aa1c63a7669a75a6729a2da66a08de19d4f13e66032"
        }
      ],
      "allreplies": [
        {
          "nodepubkey": "02c6c79a75846fd9bb064788b03145e347fa5464558fa9030ebb009df2833369f0",
          "score": 242,
          "reply": [
            {
              "hash": "0cf18712db68be85793dc06cd0a4fbc8edb166157e6847bb3c9f55d462b02837",
              "confirmations": 390700,
              "size": 734,
              "height": 91510,
              "version": 805306624,
              "versionHex": "30000100",
              "merkleroot": "55554df0ea7f66552beffe433d2c2f620bada79063a343ffc23c60c67cdf028f",
              "tx": [ "55554df0ea7f66552beffe433d2c2f620bada79063a343ffc23c60c67cdf028f" ],
              "time": 1530894673,
              "mediantime": 1530894336,
              "nonce": 0,
              "bits": "180761db",
              "difficulty": 148937676133.261200,
              "chainwork": "00000000000000000000000000000000000000000028ad56864c458781e21970",
              "auxpow": {
                "tx": {
                  "hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff5703dd3408142f5669614254432f626d67706f6f6c2e636f6d2f2cfabe6d6d75654ab7a6b163e7a04e56e43f8e7ca0087f11e8bd6c3c72c69732e849532878040000000000000010d51dbb0b9301409ff96ef9f588c50200ffffffff01c051824a000000001976a914f1c075a01882ae0972f95d3a4177c86c852b7d9188ac00000000",
                  "txid": "c8fc123672fffb3c6a45b94bdd30afc114f282742338809380bc84fe8666d489",
                  "size": 172,
                  "version": 1,
                  "locktime": 0,
                  "vin": [
                    {
                      "coinbase": "03dd3408142f5669614254432f626d67706f6f6c2e636f6d2f2cfabe6d6d75654ab7a6b163e7a04e56e43f8e7ca0087f11e8bd6c3c72c69732e849532878040000000000000010d51dbb0b9301409ff96ef9f588c50200",
                      "sequence": 4294967295
                    }
                  ],
                  "vout": [
                    {
                      "value": 12.500546,
                      "valueSat": 1250054592,
                      "n": 0,
                      "scriptPubKey": {
                        "asm": "OP_DUP OP_HASH160 f1c075a01882ae0972f95d3a4177c86c852b7d91 OP_EQUALVERIFY OP_CHECKSIG",
                        "hex": "76a914f1c075a01882ae0972f95d3a4177c86c852b7d9188ac",
                        "reqSigs": 1,
                        "type": "pubkeyhash",
                        "addresses": [ "SjLGSPfmF3kVPA6A213hShYc4aRtiWZ8Wu" ]
                      }
                    }
                  ],
                    "blockhash": "000000000000000004bdb8e3fdf28ffc528f4e6b1871a6177579cbd4dabde955"
                },
                "index": 0,
                "chainindex": 2,
                "merklebranch": [ "a67d749dfa7006b9d66d2284b20a64ebcb8c2e5aae18e355c790b90a060a30c1", "9ab5c057ecf43aa0552c21be4f86b1c9b248fe2dd0821bee38e5a25a22c49c25", "ec11fd79e02fe98bf9f4b624e5460a3221dbae27d24f36c9988dcc5beaf3c592", "dbc42b7360a7165b277f73094a366e951d3ac6d6a1e9493d838d35372e5e846b", "c7260dbfb6b196bd2e4e4dbde1799592627a3e6fa384e6692be8387a9251e5e2" ],
                "chainmerklebranch": [ "89af0bc973bc0308f14c5c50c3d75f68783eab40a4688064cd56cfaed977d138", "5360cbf0991b4b0e09d589631c232d1f229104faad9e65375695230c47bc2493" ],
                "parentblock": "0000002024653d98f3eace4b66b6269fa9205e08b647e23cf7880e0000000000000000003feae4c877b2f8b73f6f92a589ed8870fe98abb3551f1539373597f5b44514ada9993f5bb1830118d5793688"
              },
              "previousblockhash": "ba53d715abf76ac8adc025120ffb48b2331f3a1b9b7d01167ffd7dcd23934390",
              "nextblockhash": "cd3a236542491089bffd8ba49cbe1d11a20dd4c4ad188307027e60c710732409"
            },
            {
              "hash": "52583afcd857e45234e7c8981804b36d13a7b3025c17f3535c3e724542590a79",
              "confirmations": 115,
              "size": 1073,
              "height": 482107,
              "version": 805306624,
              "versionHex": "30000100",
              "merkleroot": "d1de796d10826dcc97af3d9683711da0f8e8aad996277034bd9b11631ce0d1f2",
              "tx": [ "d1de796d10826dcc97af3d9683711da0f8e8aad996277034bd9b11631ce0d1f2" ],
              "time": 1555482589,
              "mediantime": 1555482282,
              "nonce": 0,
              "bits": "1805ec8b",
              "difficulty": 185600202264.865814,
              "chainwork": "000000000000000000000000000000000000000000f8bf3057c91ffc80efc4fc",
              "auxpow": {
                "tx": {
                  "hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff5b0355ba08182f5669614254432f4d696e65642062792067656e6469722f2cfabe6d6daa2651dfd7b34e3cf5b87fd5ab3b70a78d23194d2269c502280de7193d73790f10000000000000001056691e0c261e0b871f9d92be0000259bffffffff0206baf84b000000001976a914536ffa992491508dca0354e52f32a3a7a679a53a88ac0000000000000000266a24aa21a9ed6e46f58e0097a34b65b4d332ebde4a0cedb300fab27549b3ee1c09fd2d7875d300000000",
                  "txid": "94ce9c796176df4cbe67695c0bfcd63587b1b664e23b716233980dc07d2874d7",
                  "size": 223,
                  "version": 1,
                  "locktime": 0,
                  "vin": [
                    {
                      "coinbase": "0355ba08182f5669614254432f4d696e65642062792067656e6469722f2cfabe6d6daa2651dfd7b34e3cf5b87fd5ab3b70a78d23194d2269c502280de7193d73790f10000000000000001056691e0c261e0b871f9d92be0000259b",
                      "sequence": 4294967295
                    }
                  ],
                  "vout": [
                    {
                      "value": 12.745918,
                      "valueSat": 1274591750,
                      "n": 0,
                      "scriptPubKey": {
                        "asm": "OP_DUP OP_HASH160 536ffa992491508dca0354e52f32a3a7a679a53a OP_EQUALVERIFY OP_CHECKSIG",
                        "hex": "76a914536ffa992491508dca0354e52f32a3a7a679a53a88ac",
                        "reqSigs": 1,
                        "type": "pubkeyhash",
                        "addresses": [ "SUuBGCD7Ff3C2ozR6osYguPeXNho98S5qR" ]
                      }
                    },
                    {
                      "value": 0.000000,
                      "valueSat": 0,
                      "n": 1,
                      "scriptPubKey": {
                        "asm": "OP_RETURN aa21a9ed6e46f58e0097a34b65b4d332ebde4a0cedb300fab27549b3ee1c09fd2d7875d3",
                        "hex": "6a24aa21a9ed6e46f58e0097a34b65b4d332ebde4a0cedb300fab27549b3ee1c09fd2d7875d3",
                        "type": "nulldata"
                      }
                    }
                  ],
                  "blockhash": "000000000000000000bcf15d287a324f073b1e0239452a6d4d513c27dc73150a"
                },
                "index": 0,
                "chainindex": 14,
                "merklebranch": [ "b468e6225dbecfbbf9f86cc8414afb70ae1fade27008e5f8080f74341dbc103c", "c5ec7ac7fb9405564c2afffcd0279c8237a883f0e414011cfe4439572fd8f476", "72731cb13f6ef60cc4647c5c98a48a67ae83a8b2db8e6fcc3ffc2e5cb33e45e3", "3975f42ce7c1be1dfd2118fd7bce4bc2b67993a5f03f6389089e86446e391533", "1fa4527c16a1fd05735914c568d0265ec92e9608890d22ece6f1edcb989fad1a", "018223df5ec9acd3a1ce30e445477d8ca368a6a1dcba8616f5178c9e41287f42", "86dff2db9b12c6afd1cdcd60415e5d19356eaffe5d938fbc2b6147c2430363f5", "77d0cb1a7e0d3cebc57380bd3546a45923107aff5b8bb969d0272d2fd6709280", "04a2a80fdd3a2ccf24642fec547bbb7415922ee6348a0c5b8efbe25611120258", "822ee423a7c096e070117f7573824922c2d612027278d8f330977abf75657ddc", "b7bb4ddf8d79219e9e0e8bb599c23e943317e3c4d8f0e31bd712a08edaace138", "47828c64e2141a2417f271a22dc80fa716604ce044fc0db1827a9a3818c0ca22" ],
                "chainmerklebranch": [ "0000000000000000000000000000000000000000000000000000000000000000", "f98c4e9736d8eb8bb46299798906695c755369a3df99a93ffdded1713f1cf6e2", "36e70e1ae90b14efb14d594dff72647f862e97c4f704ad0d609041bb7d73aaa5", "63e9f83bff026dcfa4d967e727ceb35dbdf7e02225d88f2ce2f3842f10c16481" ],
                "parentblock": "000000208100da1ca9afee2f159a537c64aa7fcfce77dbdce07009000000000000000000d63acfaac8ae4bc195f8ba076f306c45ec06a8a740a182263e96732d842984cee6c7b65c1d072c174919714b"
              },
              "previousblockhash": "abe70792116fd7806b211b6d67cc6bfa1490aa0dea71587d0bbbe9ee435c9c2a",
              "nextblockhash": "2d7adca3fe7a51018b909aa1c63a7669a75a6729a2da66a08de19d4f13e66032"
            }
          ]
        },
        {
          "nodepubkey": "0370874cad6252bb94afa9a253c90122760ce2862e623b515e57bfe0697f3fc515",
          "score": 292,
          "reply": [
            {
              "hash": "0cf18712db68be85793dc06cd0a4fbc8edb166157e6847bb3c9f55d462b02837",
              "confirmations": 390700,
              "size": 734,
              "height": 91510,
              "version": 805306624,
              "versionHex": "30000100",
              "merkleroot": "55554df0ea7f66552beffe433d2c2f620bada79063a343ffc23c60c67cdf028f",
              "tx": [ "55554df0ea7f66552beffe433d2c2f620bada79063a343ffc23c60c67cdf028f" ],
              "time": 1530894673,
              "mediantime": 1530894336,
              "nonce": 0,
              "bits": "180761db",
              "difficulty": 148937676133.261200,
              "chainwork": "00000000000000000000000000000000000000000028ad56864c458781e21970",
              "auxpow": {
                "tx": {
                  "hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff5703dd3408142f5669614254432f626d67706f6f6c2e636f6d2f2cfabe6d6d75654ab7a6b163e7a04e56e43f8e7ca0087f11e8bd6c3c72c69732e849532878040000000000000010d51dbb0b9301409ff96ef9f588c50200ffffffff01c051824a000000001976a914f1c075a01882ae0972f95d3a4177c86c852b7d9188ac00000000",
                  "txid": "c8fc123672fffb3c6a45b94bdd30afc114f282742338809380bc84fe8666d489",
                  "size": 172,
                  "version": 1,
                  "locktime": 0,
                  "vin": [
                    {
                      "coinbase": "03dd3408142f5669614254432f626d67706f6f6c2e636f6d2f2cfabe6d6d75654ab7a6b163e7a04e56e43f8e7ca0087f11e8bd6c3c72c69732e849532878040000000000000010d51dbb0b9301409ff96ef9f588c50200",
                      "sequence": 4294967295
                    }
                  ],
                  "vout": [
                    {
                      "value": 12.500546,
                      "valueSat": 1250054592,
                      "n": 0,
                      "scriptPubKey": {
                        "asm": "OP_DUP OP_HASH160 f1c075a01882ae0972f95d3a4177c86c852b7d91 OP_EQUALVERIFY OP_CHECKSIG",
                        "hex": "76a914f1c075a01882ae0972f95d3a4177c86c852b7d9188ac",
                        "reqSigs": 1,
                        "type": "pubkeyhash",
                        "addresses": [ "SjLGSPfmF3kVPA6A213hShYc4aRtiWZ8Wu" ]
                      }
                    }
                  ],
                  "blockhash": "000000000000000004bdb8e3fdf28ffc528f4e6b1871a6177579cbd4dabde955"
                },
                "index": 0,
                "chainindex": 2,
                "merklebranch": [ "a67d749dfa7006b9d66d2284b20a64ebcb8c2e5aae18e355c790b90a060a30c1", "9ab5c057ecf43aa0552c21be4f86b1c9b248fe2dd0821bee38e5a25a22c49c25", "ec11fd79e02fe98bf9f4b624e5460a3221dbae27d24f36c9988dcc5beaf3c592", "dbc42b7360a7165b277f73094a366e951d3ac6d6a1e9493d838d35372e5e846b", "c7260dbfb6b196bd2e4e4dbde1799592627a3e6fa384e6692be8387a9251e5e2" ],
                "chainmerklebranch": [ "89af0bc973bc0308f14c5c50c3d75f68783eab40a4688064cd56cfaed977d138", "5360cbf0991b4b0e09d589631c232d1f229104faad9e65375695230c47bc2493" ],
                "parentblock": "0000002024653d98f3eace4b66b6269fa9205e08b647e23cf7880e0000000000000000003feae4c877b2f8b73f6f92a589ed8870fe98abb3551f1539373597f5b44514ada9993f5bb1830118d5793688"
              },
              "previousblockhash": "ba53d715abf76ac8adc025120ffb48b2331f3a1b9b7d01167ffd7dcd23934390",
              "nextblockhash": "cd3a236542491089bffd8ba49cbe1d11a20dd4c4ad188307027e60c710732409"
            },
            {
              "hash": "52583afcd857e45234e7c8981804b36d13a7b3025c17f3535c3e724542590a79",
              "confirmations": 115,
              "size": 1073,
              "height": 482107,
              "version": 805306624,
              "versionHex": "30000100",
              "merkleroot": "d1de796d10826dcc97af3d9683711da0f8e8aad996277034bd9b11631ce0d1f2",
              "tx": [ "d1de796d10826dcc97af3d9683711da0f8e8aad996277034bd9b11631ce0d1f2" ],
              "time": 1555482589,
              "mediantime": 1555482282,
              "nonce": 0,
              "bits": "1805ec8b",
              "difficulty": 185600202264.865814,
              "chainwork": "000000000000000000000000000000000000000000f8bf3057c91ffc80efc4fc",
              "auxpow": {
                "tx": {
                  "hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff5b0355ba08182f5669614254432f4d696e65642062792067656e6469722f2cfabe6d6daa2651dfd7b34e3cf5b87fd5ab3b70a78d23194d2269c502280de7193d73790f10000000000000001056691e0c261e0b871f9d92be0000259bffffffff0206baf84b000000001976a914536ffa992491508dca0354e52f32a3a7a679a53a88ac0000000000000000266a24aa21a9ed6e46f58e0097a34b65b4d332ebde4a0cedb300fab27549b3ee1c09fd2d7875d300000000",
                  "txid": "94ce9c796176df4cbe67695c0bfcd63587b1b664e23b716233980dc07d2874d7",
                  "size": 223,
                  "version": 1,
                  "locktime": 0,
                  "vin": [
                    {
                      "coinbase": "0355ba08182f5669614254432f4d696e65642062792067656e6469722f2cfabe6d6daa2651dfd7b34e3cf5b87fd5ab3b70a78d23194d2269c502280de7193d73790f10000000000000001056691e0c261e0b871f9d92be0000259b",
                      "sequence": 4294967295
                    }
                  ],
                  "vout": [
                    {
                      "value": 12.745918,
                      "valueSat": 1274591750,
                      "n": 0,
                      "scriptPubKey": {
                        "asm": "OP_DUP OP_HASH160 536ffa992491508dca0354e52f32a3a7a679a53a OP_EQUALVERIFY OP_CHECKSIG",
                        "hex": "76a914536ffa992491508dca0354e52f32a3a7a679a53a88ac",
                        "reqSigs": 1,
                        "type": "pubkeyhash",
                        "addresses": [ "SUuBGCD7Ff3C2ozR6osYguPeXNho98S5qR" ]
                      }
                    },
                    {
                      "value": 0.000000,
                      "valueSat": 0,
                      "n": 1,
                      "scriptPubKey": {
                        "asm": "OP_RETURN aa21a9ed6e46f58e0097a34b65b4d332ebde4a0cedb300fab27549b3ee1c09fd2d7875d3",
                        "hex": "6a24aa21a9ed6e46f58e0097a34b65b4d332ebde4a0cedb300fab27549b3ee1c09fd2d7875d3",
                        "type": "nulldata"
                      }
                    }
                  ],
                  "blockhash": "000000000000000000bcf15d287a324f073b1e0239452a6d4d513c27dc73150a"
                },
                "index": 0,
                "chainindex": 14,
                "merklebranch": [ "b468e6225dbecfbbf9f86cc8414afb70ae1fade27008e5f8080f74341dbc103c", "c5ec7ac7fb9405564c2afffcd0279c8237a883f0e414011cfe4439572fd8f476", "72731cb13f6ef60cc4647c5c98a48a67ae83a8b2db8e6fcc3ffc2e5cb33e45e3", "3975f42ce7c1be1dfd2118fd7bce4bc2b67993a5f03f6389089e86446e391533", "1fa4527c16a1fd05735914c568d0265ec92e9608890d22ece6f1edcb989fad1a", "018223df5ec9acd3a1ce30e445477d8ca368a6a1dcba8616f5178c9e41287f42", "86dff2db9b12c6afd1cdcd60415e5d19356eaffe5d938fbc2b6147c2430363f5", "77d0cb1a7e0d3cebc57380bd3546a45923107aff5b8bb969d0272d2fd6709280", "04a2a80fdd3a2ccf24642fec547bbb7415922ee6348a0c5b8efbe25611120258", "822ee423a7c096e070117f7573824922c2d612027278d8f330977abf75657ddc", "b7bb4ddf8d79219e9e0e8bb599c23e943317e3c4d8f0e31bd712a08edaace138", "47828c64e2141a2417f271a22dc80fa716604ce044fc0db1827a9a3818c0ca22" ],
                "chainmerklebranch": [ "0000000000000000000000000000000000000000000000000000000000000000", "f98c4e9736d8eb8bb46299798906695c755369a3df99a93ffdded1713f1cf6e2", "36e70e1ae90b14efb14d594dff72647f862e97c4f704ad0d609041bb7d73aaa5", "63e9f83bff026dcfa4d967e727ceb35dbdf7e02225d88f2ce2f3842f10c16481" ],
                "parentblock": "000000208100da1ca9afee2f159a537c64aa7fcfce77dbdce07009000000000000000000d63acfaac8ae4bc195f8ba076f306c45ec06a8a740a182263e96732d842984cee6c7b65c1d072c174919714b"
              },
              "previousblockhash": "abe70792116fd7806b211b6d67cc6bfa1490aa0dea71587d0bbbe9ee435c9c2a",
              "nextblockhash": "2d7adca3fe7a51018b909aa1c63a7669a75a6729a2da66a08de19d4f13e66032"
            }
          ]
        }
      ],
      "uuid": "5404cc31-2b01-48eb-8599-e6adcd8f9216"
    }
    
    Parameter Type Description
    reply array An array containing objects with the block data for each the request block on the specified blockchain. If using a node_count greater than 1, this returns the most common reply within allreplies. If there is a tie then one is chosen, or if one is an error then the non-error is chosen.
    allreplies* array An array of objects with responses from each node. This can be useful if you wanted to do your own analysis/filtering of the responses.
    nodepubkey* string The node ID.
    score* int The respective node's score based on quality of service. A score of -200 will ban the node for a 24hr period. You can change the ban threshold with the xrouterbanscore setting in blocknetdx.conf. See node scoring for more details.
    reply* array An array containing objects with the block data for each the request block on the specified blockchain from the respective node.
    uuid string The response ID, which can be used to view this response again with xrGetReply.

    * This is only returned if using a node_count greater than 1.

    xrDecodeRawTransaction

    Sample Data

    {
      "spvwallet": "SYS",
      "tx_hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff640363b1082cfabe6d6df75a401bb4e29d77b2162d476557c4bc879380dad926e44c1b2a7c49893a3cc108000000f09f909f000f4d696e6564206279206c616e636163000000000000000000000000000000000000000000000000000000000500c5a00000000000000330952d4b000000001976a914c825a1ecf2a6830c4401620c3a16f1995057c2ab88ac00000000000000002f6a24aa21a9ed2ac560369b71e58f0618a79d2f03bcf7283945e20eef7813de376a6f503448c108000000000000000000000000000000002c6a4c2952534b424c4f434b3a81c66dc456024e97e518ac2ab3ec51bf85b294b9a140c6e9376a040607edc39ddc962c3b"
    }
    

    This call is used to decode a specified bockchain transaction HEX. It requires the blockchain to be SPV wallet supported.

    Request Parameters

    Sample Request

    blocknetdx-cli xrDecodeRawTransaction SYS 01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff640363b1082cfabe6d6df75a401bb4e29d77b2162d476557c4bc879380dad926e44c1b2a7c49893a3cc108000000f09f909f000f4d696e6564206279206c616e636163000000000000000000000000000000000000000000000000000000000500c5a00000000000000330952d4b000000001976a914c825a1ecf2a6830c4401620c3a16f1995057c2ab88ac00000000000000002f6a24aa21a9ed2ac560369b71e58f0618a79d2f03bcf7283945e20eef7813de376a6f503448c108000000000000000000000000000000002c6a4c2952534b424c4f434b3a81c66dc456024e97e518ac2ab3ec51bf85b294b9a140c6e9376a040607edc39ddc962c3b 2
    

    xrDecodeRawTransaction [blockchain] [tx_hex] [node_count](optional)

    Parameter Type Description
    blockchain string The blockchain, represented by the asset's ticker (BTC, LTC, SYS, etc.).
    tx_hex string The raw transaction HEX to decode.
    node_count int (Optional Parameter)
    Defaults to 1 if no consensus= setting in xrouter.conf.
    The number of nodes that will be used to route calls and use the majority response from for consensus.

    Response Parameters

    Sample 200 Response

    {
      "reply": {
        "txid": "aa1838dee180e5c4ad5041ded25aa5d88c41bedb1c339b42f54dbad0e7563c5e",
        "size": 294,
        "version": 1,
        "locktime": 992777948,
        "vin": [
          {
            "coinbase": "0363b1082cfabe6d6df75a401bb4e29d77b2162d476557c4bc879380dad926e44c1b2a7c49893a3cc108000000f09f909f000f4d696e6564206279206c616e636163000000000000000000000000000000000000000000000000000000000500c5a00000",
            "sequence": 0
          }
        ],
        "vout": [
          {
            "value": 12.612785,
            "valueSat": 1261278512,
            "n": 0,
            "scriptPubKey": {
              "asm": "OP_DUP OP_HASH160 c825a1ecf2a6830c4401620c3a16f1995057c2ab OP_EQUALVERIFY OP_CHECKSIG",
              "hex": "76a914c825a1ecf2a6830c4401620c3a16f1995057c2ab88ac",
              "reqSigs": 1,
                "type": "pubkeyhash",
                  "addresses": [ "SfYHFxiGv4mRtUfQVHxfMWknEt53Bjj286" ]
                }
            },
          {
            "value": 0.000000,
            "valueSat": 0,
            "n": 1,
            "scriptPubKey": {
              "asm": "OP_RETURN aa21a9ed2ac560369b71e58f0618a79d2f03bcf7283945e20eef7813de376a6f503448c1 0000000000000000",
              "hex": "6a24aa21a9ed2ac560369b71e58f0618a79d2f03bcf7283945e20eef7813de376a6f503448c1080000000000000000",
              "type": "nulldata"
            }
          },
          {
            "value": 0.000000,
            "valueSat": 0,
            "n": 2,
            "scriptPubKey": {
              "asm": "OP_RETURN 52534b424c4f434b3a81c66dc456024e97e518ac2ab3ec51bf85b294b9a140c6e9376a040607edc39d",
              "hex": "6a4c2952534b424c4f434b3a81c66dc456024e97e518ac2ab3ec51bf85b294b9a140c6e9376a040607edc39d",
              "type": "nulldata"
            }
          }
        ]
      },
      "allreplies": [
        {
          "nodepubkey": "02c6c79a75846fd9bb064788b03145e347fa5464558fa9030ebb009df2833369f0",
          "score": 250,
          "reply": {
            "txid": "aa1838dee180e5c4ad5041ded25aa5d88c41bedb1c339b42f54dbad0e7563c5e",
            "size": 294,
            "version": 1,
            "locktime": 992777948,
            "vin": [
              {
                "coinbase": "0363b1082cfabe6d6df75a401bb4e29d77b2162d476557c4bc879380dad926e44c1b2a7c49893a3cc108000000f09f909f000f4d696e6564206279206c616e636163000000000000000000000000000000000000000000000000000000000500c5a00000",
                "sequence": 0
              }
            ],
            "vout": [
              {
                "value": 12.612785,
                "valueSat": 1261278512,
                "n": 0,
                "scriptPubKey": {
                  "asm": "OP_DUP OP_HASH160 c825a1ecf2a6830c4401620c3a16f1995057c2ab OP_EQUALVERIFY OP_CHECKSIG",
                  "hex": "76a914c825a1ecf2a6830c4401620c3a16f1995057c2ab88ac",
                  "reqSigs": 1,
                    "type": "pubkeyhash",
                      "addresses": [ "SfYHFxiGv4mRtUfQVHxfMWknEt53Bjj286" ]
                    }
                },
              {
                "value": 0.000000,
                "valueSat": 0,
                "n": 1,
                "scriptPubKey": {
                  "asm": "OP_RETURN aa21a9ed2ac560369b71e58f0618a79d2f03bcf7283945e20eef7813de376a6f503448c1 0000000000000000",
                  "hex": "6a24aa21a9ed2ac560369b71e58f0618a79d2f03bcf7283945e20eef7813de376a6f503448c1080000000000000000",
                  "type": "nulldata"
                }
              },
              {
                "value": 0.000000,
                "valueSat": 0,
                "n": 2,
                "scriptPubKey": {
                  "asm": "OP_RETURN 52534b424c4f434b3a81c66dc456024e97e518ac2ab3ec51bf85b294b9a140c6e9376a040607edc39d",
                  "hex": "6a4c2952534b424c4f434b3a81c66dc456024e97e518ac2ab3ec51bf85b294b9a140c6e9376a040607edc39d",
                  "type": "nulldata"
                }
              }
            ]
          }
        },
        {
          "nodepubkey": "0370874cad6252bb94afa9a253c90122760ce2862e623b515e57bfe0697f3fc515",
          "score": 300,
          "reply": {
            "txid": "aa1838dee180e5c4ad5041ded25aa5d88c41bedb1c339b42f54dbad0e7563c5e",
            "size": 294,
            "version": 1,
            "locktime": 992777948,
            "vin": [
              {
                "coinbase": "0363b1082cfabe6d6df75a401bb4e29d77b2162d476557c4bc879380dad926e44c1b2a7c49893a3cc108000000f09f909f000f4d696e6564206279206c616e636163000000000000000000000000000000000000000000000000000000000500c5a00000",
                "sequence": 0
              }
            ],
            "vout": [
              {
                "value": 12.612785,
                "valueSat": 1261278512,
                "n": 0,
                "scriptPubKey": {
                  "asm": "OP_DUP OP_HASH160 c825a1ecf2a6830c4401620c3a16f1995057c2ab OP_EQUALVERIFY OP_CHECKSIG",
                  "hex": "76a914c825a1ecf2a6830c4401620c3a16f1995057c2ab88ac",
                  "reqSigs": 1,
                    "type": "pubkeyhash",
                      "addresses": [ "SfYHFxiGv4mRtUfQVHxfMWknEt53Bjj286" ]
                    }
                },
              {
                "value": 0.000000,
                "valueSat": 0,
                "n": 1,
                "scriptPubKey": {
                  "asm": "OP_RETURN aa21a9ed2ac560369b71e58f0618a79d2f03bcf7283945e20eef7813de376a6f503448c1 0000000000000000",
                  "hex": "6a24aa21a9ed2ac560369b71e58f0618a79d2f03bcf7283945e20eef7813de376a6f503448c1080000000000000000",
                  "type": "nulldata"
                }
              },
              {
                "value": 0.000000,
                "valueSat": 0,
                "n": 2,
                "scriptPubKey": {
                  "asm": "OP_RETURN 52534b424c4f434b3a81c66dc456024e97e518ac2ab3ec51bf85b294b9a140c6e9376a040607edc39d",
                  "hex": "6a4c2952534b424c4f434b3a81c66dc456024e97e518ac2ab3ec51bf85b294b9a140c6e9376a040607edc39d",
                  "type": "nulldata"
                }
              }
            ]
          }
        }
      ],
      "uuid": "95e612f1-3505-493d-8097-452052223417"
    }
    
    Parameter Type Description
    reply object An object containing the decoded transaction data. If using a node_count greater than 1, this returns the most common reply within allreplies. If there is a tie then one is chosen, or if one is an error then the non-error is chosen.
    allreplies* array An array of objects with responses from each node. This can be useful if you wanted to do your own analysis/filtering of the responses.
    nodepubkey* string The node ID.
    score* int The respective node's score based on quality of service. A score of -200 will ban the node for a 24hr period. You can change the ban threshold with the xrouterbanscore setting in blocknetdx.conf. See node scoring for more details.
    reply* object An object containing the decoded transaction data from the respective node.
    uuid string The response ID, which can be used to view this response again with xrGetReply.

    * This is only returned if using a node_count greater than 1.

    xrGetTransaction

    Sample Data

    {
      "blockchain": "SYS",
      "txid": "9e5db236f75babe4e28c17f0ed1eddbcfdb5bde8a69750e1a4952d110c620e51"
    }
    

    This call is used to retrieve the transaction data for the specified transaction ID (hash) and blockchain.

    Request Parameters

    Sample Request

    blocknetdx-cli xrGetTransaction SYS 9e5db236f75babe4e28c17f0ed1eddbcfdb5bde8a69750e1a4952d110c620e51 2
    

    xrGetTransaction [blockchain] [txid] [node_count](optional)

    Parameter Type Description
    blockchain string The blockchain, represented by the asset's ticker (BTC, LTC, SYS, etc.).
    txid string The transaction ID(hash) for the transaction of interest.
    node_count int (Optional Parameter)
    Defaults to 1 if no consensus= setting in xrouter.conf.
    The number of nodes that will be used to route calls and use the majority response from for consensus.

    Response Parameters

    Sample 200 Response

    {
      "reply": {
        "txid": "9e5db236f75babe4e28c17f0ed1eddbcfdb5bde8a69750e1a4952d110c620e51",
        "size": 192,
        "version": 2,
        "locktime": 0,
        "vin": [
          {
            "txid": "10f28315098fff366e2dfba23afacc10ddb5ac30a403d6396cc2d35739f06a79",
            "vout": 1,
            "scriptSig": {
              "asm": "30450221008d807ad2585d4775e57c105d16f12f5eb7925a3f8f66b077f7944ec74e421ed9022067105602af2705d4456ccd68db8b4eb327cdb5e55e7de98d7ba9f1213a75a1ad[ALL] 02e927a2a1d4a613ed3fa73bf1169beaf4e95a6348afac6613e283d80b9bf2abba",
              "hex": "4830450221008d807ad2585d4775e57c105d16f12f5eb7925a3f8f66b077f7944ec74e421ed9022067105602af2705d4456ccd68db8b4eb327cdb5e55e7de98d7ba9f1213a75a1ad012102e927a2a1d4a613ed3fa73bf1169beaf4e95a6348afac6613e283d80b9bf2abba"
            },
            "sequence": 4294967295
          }
        ],
        "vout": [
          {
            "value": 1.430000,
            "valueSat": 143000000,
            "n": 0,
            "scriptPubKey": {
              "asm": "OP_DUP OP_HASH160 7be755600f2fd9f3518be6ededb38e2498f51ff5 OP_EQUALVERIFY OP_CHECKSIG",
              "hex": "76a9147be755600f2fd9f3518be6ededb38e2498f51ff588ac",
              "reqSigs": 1,
              "type": "pubkeyhash",
              "addresses": [ "SYb9Gmcwj1aXUV86cKpnCD8SR7hvZgbKTP" ]
            }
          }
        ]
      },
      "allreplies": [
        {
          "nodepubkey": "02c6c79a75846fd9bb064788b03145e347fa5464558fa9030ebb009df2833369f0",
          "score": 250,
          "reply": {
            "txid": "9e5db236f75babe4e28c17f0ed1eddbcfdb5bde8a69750e1a4952d110c620e51",
            "size": 192,
            "version": 2,
            "locktime": 0,
            "vin": [
              {
                "txid": "10f28315098fff366e2dfba23afacc10ddb5ac30a403d6396cc2d35739f06a79",
                "vout": 1,
                "scriptSig": {
                  "asm": "30450221008d807ad2585d4775e57c105d16f12f5eb7925a3f8f66b077f7944ec74e421ed9022067105602af2705d4456ccd68db8b4eb327cdb5e55e7de98d7ba9f1213a75a1ad[ALL] 02e927a2a1d4a613ed3fa73bf1169beaf4e95a6348afac6613e283d80b9bf2abba",
                  "hex": "4830450221008d807ad2585d4775e57c105d16f12f5eb7925a3f8f66b077f7944ec74e421ed9022067105602af2705d4456ccd68db8b4eb327cdb5e55e7de98d7ba9f1213a75a1ad012102e927a2a1d4a613ed3fa73bf1169beaf4e95a6348afac6613e283d80b9bf2abba"
                },
                "sequence": 4294967295
              }
            ],
            "vout": [
              {
                "value": 1.430000,
                "valueSat": 143000000,
                "n": 0,
                "scriptPubKey": {
                  "asm": "OP_DUP OP_HASH160 7be755600f2fd9f3518be6ededb38e2498f51ff5 OP_EQUALVERIFY OP_CHECKSIG",
                  "hex": "76a9147be755600f2fd9f3518be6ededb38e2498f51ff588ac",
                  "reqSigs": 1,
                  "type": "pubkeyhash",
                  "addresses": [ "SYb9Gmcwj1aXUV86cKpnCD8SR7hvZgbKTP" ]
                }
              }
            ]
          }
        },
        {
          "nodepubkey": "0370874cad6252bb94afa9a253c90122760ce2862e623b515e57bfe0697f3fc515",
          "score": 300,
          "reply": {
            "txid": "9e5db236f75babe4e28c17f0ed1eddbcfdb5bde8a69750e1a4952d110c620e51",
            "size": 192,
            "version": 2,
            "locktime": 0,
            "vin": [
              {
                "txid": "10f28315098fff366e2dfba23afacc10ddb5ac30a403d6396cc2d35739f06a79",
                "vout": 1,
                "scriptSig": {
                  "asm": "30450221008d807ad2585d4775e57c105d16f12f5eb7925a3f8f66b077f7944ec74e421ed9022067105602af2705d4456ccd68db8b4eb327cdb5e55e7de98d7ba9f1213a75a1ad[ALL] 02e927a2a1d4a613ed3fa73bf1169beaf4e95a6348afac6613e283d80b9bf2abba",
                  "hex": "4830450221008d807ad2585d4775e57c105d16f12f5eb7925a3f8f66b077f7944ec74e421ed9022067105602af2705d4456ccd68db8b4eb327cdb5e55e7de98d7ba9f1213a75a1ad012102e927a2a1d4a613ed3fa73bf1169beaf4e95a6348afac6613e283d80b9bf2abba"
                },
                "sequence": 4294967295
              }
            ],
            "vout": [
              {
                "value": 1.430000,
                "valueSat": 143000000,
                "n": 0,
                "scriptPubKey": {
                  "asm": "OP_DUP OP_HASH160 7be755600f2fd9f3518be6ededb38e2498f51ff5 OP_EQUALVERIFY OP_CHECKSIG",
                  "hex": "76a9147be755600f2fd9f3518be6ededb38e2498f51ff588ac",
                  "reqSigs": 1,
                  "type": "pubkeyhash",
                  "addresses": [ "SYb9Gmcwj1aXUV86cKpnCD8SR7hvZgbKTP" ]
                }
              }
            ]
          }
        }
      ],
      "uuid": "cd7c9b1a-8fd5-46a7-84af-98c0f8850148"
    }
    
    Parameter Type Description
    reply object An object containing the transaction data for the specified transaction ID and blockchain. If using a node_count greater than 1, this returns the most common reply within allreplies. If there is a tie then one is chosen, or if one is an error then the non-error is chosen.
    allreplies* array An array of objects with responses from each node. This can be useful if you wanted to do your own analysis/filtering of the responses.
    nodepubkey* string The node ID.
    score* int The respective node's score based on quality of service. A score of -200 will ban the node for a 24hr period. You can change the ban threshold with the xrouterbanscore setting in blocknetdx.conf. See node scoring for more details.
    reply* object An object containing the transaction data for the specified transaction ID and blockchain from the respective node.
    uuid string The response ID, which can be used to view this response again with xrGetReply.

    * This is only returned if using a node_count greater than 1.

    xrGetTransactions

    Sample Data

    {
      "blockchain": "SYS",
      "txid1": "f7efcb33c817153dbea86b827380ffce108c6c8e4707356e874d98d0426339bd",
      "txid2": "f63543bb90800a601065d6f6d8380d8a98ac1a9f208921febde4eb0168e6fd8e",
    }
    

    This call is used to retrieve transaction data for multiple transaction IDs (hashes) on the specified blockchain. Currently the maximum request is 50 transactions, although a node may set this limit to less.

    Request Parameters

    Sample Request

    blocknetdx-cli xrGetTransactions SYS f7efcb33c817153dbea86b827380ffce108c6c8e4707356e874d98d0426339bd,f63543bb90800a601065d6f6d8380d8a98ac1a9f208921febde4eb0168e6fd8e 2
    

    xrGetTransactions [blockchain] [txid1,txid2,txidN] [node_count](optional)

    Parameter Type Description
    blockchain string The blockchain, represented by the asset's ticker (BTC, LTC, SYS, etc.).
    txidN string The transaction ID (hash) for the transactions of interest. The hashes must be separated by a comma with no spaces.
    node_count int (Optional Parameter)
    Defaults to 1 if no consensus= setting in xrouter.conf.
    The number of nodes that will be used to route calls and use the majority response from for consensus.

    Response Parameters

    Sample 200 Response

    {
      "reply": [
        {
          "txid": "f7efcb33c817153dbea86b827380ffce108c6c8e4707356e874d98d0426339bd",
          "size": 135,
          "version": 2,
          "locktime": 0,
          "vin": [
            {
              "coinbase": "03dc1a070101",
              "sequence": 4294967295
            }
          ],
          "vout": [
            {
              "value": 8.662500,
              "valueSat": 866250000,
              "n": 0,
              "scriptPubKey": {
                "asm": "02bcff8305d8bb9e536c5bc31c4ad74cbd15ac9d138d5d756f12099c96d541f14c OP_CHECKSIG",
                "hex": "2102bcff8305d8bb9e536c5bc31c4ad74cbd15ac9d138d5d756f12099c96d541f14cac",
                "reqSigs": 1,
                "type": "pubkey",
                "addresses": [ "SiibszzNJSGAFTAKqWZKyEkkf4Wq4pYH7c" ]
              }
            },
            {
              "value": 25.987500,
              "valueSat": 2598750000,
              "n": 1,
              "scriptPubKey": {
                "asm": "OP_DUP OP_HASH160 a47209c6649cf99e6db2e1bde99b44ce10c76e52 OP_EQUALVERIFY OP_CHECKSIG",
                "hex": "76a914a47209c6649cf99e6db2e1bde99b44ce10c76e5288ac",
                "reqSigs": 1,
                "type": "pubkeyhash",
                "addresses": [ "ScHWTpAFNo93Jv1RAfMBFp9VZCjpLq82Rf" ]
              }
            }
          ]
        },
        {
          "txid": "f63543bb90800a601065d6f6d8380d8a98ac1a9f208921febde4eb0168e6fd8e",
          "size": 135,
          "version": 2,
          "locktime": 0,
          "vin": [
            {
              "coinbase": "03dd1a070101",
              "sequence": 4294967295
            }
          ],
          "vout": [
            {
              "value": 8.662500,
              "valueSat": 866250000,
              "n": 0,
              "scriptPubKey": {
                "asm": "0248d791d1b048e8fc79da7ba9f6c0a44fe14641d13a772ff25dc60103580d1a3e OP_CHECKSIG",
                "hex": "210248d791d1b048e8fc79da7ba9f6c0a44fe14641d13a772ff25dc60103580d1a3eac",
                "reqSigs": 1,
                "type": "pubkey",
                "addresses": [ "ScdSb9g4b77DsA9vLipDYP8V1zEP1ru4d8" ]
              }
            },
            {
              "value": 27.546750,
              "valueSat": 2754675000,
              "n": 1,
              "scriptPubKey": {
                "asm": "OP_DUP OP_HASH160 3ed09824728101512565c187fdd061df0cc1cac5 OP_EQUALVERIFY OP_CHECKSIG",
                "hex": "76a9143ed09824728101512565c187fdd061df0cc1cac588ac",
                "reqSigs": 1,
                "type": "pubkeyhash",
                "addresses": [ "ST28p81wqsSL6of7Em9mZGvVonVBfM36wX" ]
              }
            }
          ]
        }
      ],
      "allreplies": [
        {
          "nodepubkey": "02c6c79a75846fd9bb064788b03145e347fa5464558fa9030ebb009df2833369f0",
          "score": 250,
          "reply": [
            {
              "txid": "f7efcb33c817153dbea86b827380ffce108c6c8e4707356e874d98d0426339bd",
              "size": 135,
              "version": 2,
              "locktime": 0,
              "vin": [
                {
                  "coinbase": "03dc1a070101",
                  "sequence": 4294967295
                }
              ],
              "vout": [
                {
                  "value": 8.662500,
                  "valueSat": 866250000,
                  "n": 0,
                  "scriptPubKey": {
                    "asm": "02bcff8305d8bb9e536c5bc31c4ad74cbd15ac9d138d5d756f12099c96d541f14c OP_CHECKSIG",
                    "hex": "2102bcff8305d8bb9e536c5bc31c4ad74cbd15ac9d138d5d756f12099c96d541f14cac",
                    "reqSigs": 1,
                    "type": "pubkey",
                    "addresses": [ "SiibszzNJSGAFTAKqWZKyEkkf4Wq4pYH7c" ]
                  }
                },
                {
                  "value": 25.987500,
                  "valueSat": 2598750000,
                  "n": 1,
                  "scriptPubKey": {
                    "asm": "OP_DUP OP_HASH160 a47209c6649cf99e6db2e1bde99b44ce10c76e52 OP_EQUALVERIFY OP_CHECKSIG",
                    "hex": "76a914a47209c6649cf99e6db2e1bde99b44ce10c76e5288ac",
                    "reqSigs": 1,
                    "type": "pubkeyhash",
                    "addresses": [ "ScHWTpAFNo93Jv1RAfMBFp9VZCjpLq82Rf" ]
                  }
                }
              ]
            },
            {
              "txid": "f63543bb90800a601065d6f6d8380d8a98ac1a9f208921febde4eb0168e6fd8e",
              "size": 135,
              "version": 2,
              "locktime": 0,
              "vin": [
                {
                  "coinbase": "03dd1a070101",
                  "sequence": 4294967295
                }
              ],
              "vout": [
                {
                  "value": 8.662500,
                  "valueSat": 866250000,
                  "n": 0,
                  "scriptPubKey": {
                    "asm": "0248d791d1b048e8fc79da7ba9f6c0a44fe14641d13a772ff25dc60103580d1a3e OP_CHECKSIG",
                    "hex": "210248d791d1b048e8fc79da7ba9f6c0a44fe14641d13a772ff25dc60103580d1a3eac",
                    "reqSigs": 1,
                    "type": "pubkey",
                    "addresses": [ "ScdSb9g4b77DsA9vLipDYP8V1zEP1ru4d8" ]
                  }
                },
                {
                  "value": 27.546750,
                  "valueSat": 2754675000,
                  "n": 1,
                  "scriptPubKey": {
                    "asm": "OP_DUP OP_HASH160 3ed09824728101512565c187fdd061df0cc1cac5 OP_EQUALVERIFY OP_CHECKSIG",
                    "hex": "76a9143ed09824728101512565c187fdd061df0cc1cac588ac",
                    "reqSigs": 1,
                    "type": "pubkeyhash",
                    "addresses": [ "ST28p81wqsSL6of7Em9mZGvVonVBfM36wX" ]
                  }
                }
              ]
            }
          ]
        },
        {
          "nodepubkey": "0370874cad6252bb94afa9a253c90122760ce2862e623b515e57bfe0697f3fc515",
          "score": 300,
          "reply": [
            {
              "txid": "f7efcb33c817153dbea86b827380ffce108c6c8e4707356e874d98d0426339bd",
              "size": 135,
              "version": 2,
              "locktime": 0,
              "vin": [
                {
                  "coinbase": "03dc1a070101",
                  "sequence": 4294967295
                }
              ],
              "vout": [
                {
                  "value": 8.662500,
                  "valueSat": 866250000,
                  "n": 0,
                  "scriptPubKey": {
                    "asm": "02bcff8305d8bb9e536c5bc31c4ad74cbd15ac9d138d5d756f12099c96d541f14c OP_CHECKSIG",
                    "hex": "2102bcff8305d8bb9e536c5bc31c4ad74cbd15ac9d138d5d756f12099c96d541f14cac",
                    "reqSigs": 1,
                    "type": "pubkey",
                    "addresses": [ "SiibszzNJSGAFTAKqWZKyEkkf4Wq4pYH7c" ]
                  }
                },
                {
                  "value": 25.987500,
                  "valueSat": 2598750000,
                  "n": 1,
                  "scriptPubKey": {
                    "asm": "OP_DUP OP_HASH160 a47209c6649cf99e6db2e1bde99b44ce10c76e52 OP_EQUALVERIFY OP_CHECKSIG",
                    "hex": "76a914a47209c6649cf99e6db2e1bde99b44ce10c76e5288ac",
                    "reqSigs": 1,
                    "type": "pubkeyhash",
                    "addresses": [ "ScHWTpAFNo93Jv1RAfMBFp9VZCjpLq82Rf" ]
                  }
                }
              ]
            },
            {
              "txid": "f63543bb90800a601065d6f6d8380d8a98ac1a9f208921febde4eb0168e6fd8e",
              "size": 135,
              "version": 2,
              "locktime": 0,
              "vin": [
                {
                  "coinbase": "03dd1a070101",
                  "sequence": 4294967295
                }
              ],
              "vout": [
                {
                  "value": 8.662500,
                  "valueSat": 866250000,
                  "n": 0,
                  "scriptPubKey": {
                    "asm": "0248d791d1b048e8fc79da7ba9f6c0a44fe14641d13a772ff25dc60103580d1a3e OP_CHECKSIG",
                    "hex": "210248d791d1b048e8fc79da7ba9f6c0a44fe14641d13a772ff25dc60103580d1a3eac",
                    "reqSigs": 1,
                    "type": "pubkey",
                    "addresses": [ "ScdSb9g4b77DsA9vLipDYP8V1zEP1ru4d8" ]
                  }
                },
                {
                  "value": 27.546750,
                  "valueSat": 2754675000,
                  "n": 1,
                  "scriptPubKey": {
                    "asm": "OP_DUP OP_HASH160 3ed09824728101512565c187fdd061df0cc1cac5 OP_EQUALVERIFY OP_CHECKSIG",
                    "hex": "76a9143ed09824728101512565c187fdd061df0cc1cac588ac",
                    "reqSigs": 1,
                    "type": "pubkeyhash",
                    "addresses": [ "ST28p81wqsSL6of7Em9mZGvVonVBfM36wX" ]
                  }
                }
              ]
            }
          ]
        }
      ],
      "uuid": "c778c124-af28-48b6-b3c4-22f2c5518b8b"
    }
    
    Parameter Type Description
    reply array An array containing objects with the transaction data for each requested transaction on the specified blockchain. If using a node_count greater than 1, this returns the most common reply within allreplies. If there is a tie then one is chosen, or if one is an error then the non-error is chosen.
    allreplies* array An array of objects with responses from each node. This can be useful if you wanted to do your own analysis/filtering of the responses.
    nodepubkey* string The node ID.
    score* int The respective node's score based on quality of service. A score of -200 will ban the node for a 24hr period. You can change the ban threshold with the xrouterbanscore setting in blocknetdx.conf. See node scoring for more details.
    reply* array An array containing objects with the transaction data for each requested transaction on the specified blockchain from the respective node.
    uuid string The response ID, which can be used to view this response again with xrGetReply.

    * This is only returned if using a node_count greater than 1.

    xrSendTransaction

    Sample Data

    {
      "blockchain": "SYS",
      "signed_tx": "0200000001ce2faed018f4776b41245f78695fdabcc68567b64d13851a7f8277693a23f3e0000000006b483045022100d6e0f7c193e0ae5168e0e8c87a29837f4b8be5c5cdcfa2826a8ddc7cf6cbf43802207ddaa377bc042f9df63eb6f755d23170b9109cb05c18c7ce2fe9993e65434c8b01210323f7e071df863cf20ce13613c68579cdedb6d7c6cf3912f26dac53ec4309c777ffffffff0120a10700000000001976a914eff8cb97723237fe3059774d2a66d02f936e1f1188ac00000000"
    }
    

    This call is used to submit a locally signed transaction on the specified blockchain.

    Request Parameters

    Sample Request

    blocknetdx-cli xrSendTransaction SYS 0200000001ce2faed018f4776b41245f78695fdabcc68567b64d13851a7f8277693a23f3e0000000006b483045022100d6e0f7c193e0ae5168e0e8c87a29837f4b8be5c5cdcfa2826a8ddc7cf6cbf43802207ddaa377bc042f9df63eb6f755d23170b9109cb05c18c7ce2fe9993e65434c8b01210323f7e071df863cf20ce13613c68579cdedb6d7c6cf3912f26dac53ec4309c777ffffffff0120a10700000000001976a914eff8cb97723237fe3059774d2a66d02f936e1f1188ac00000000
    

    xrSendTransaction [blockchain] [signed_tx]

    Parameter Type Description
    blockchain string The blockchain, represented by the asset's ticker (BTC, LTC, SYS, etc.).
    signed_tx string The signed transaction HEX.

    Response Parameters

    Sample 200 Response

    {
      "reply": "9f978c91840adbc4e074395f8f793cb7369c48e2ce831a10c32090bf71ae29ae",
      "uuid": "ACA0874C-C45F-4F40-94AD-794A7E18085A"
    }
    
    Parameter Type Description
    reply object The transaction hash of the sent transaction.

    xrGetReply

    Sample Data

    {
      "uuid": "3243a24b-3e9d-40d1-8c33-37a57878ce85"
    }
    

    This call is used to look up responses from previous XRouter calls without having to request them from the network. There are no fees for this call.

    Request Parameters

    Sample Request

    blocknetdx-cli xrGetReply 3243a24b-3e9d-40d1-8c33-37a57878ce85
    

    xrGetReply [uuid]

    Parameter Type Description
    uuid string The UUID of the response you want to look up.

    Response Parameters

    Sample 200 Response

    {
      "reply": "464931",
      "uuid": "3243a24b-3e9d-40d1-8c33-37a57878ce85"
    }
    
    Parameter Type Description
    reply array The response for the previous call associated with the UUID.
    uuid string The response ID, which can be used to view this response again with xrGetReply.

    xrShowConfigs

    This call is used to show the configurations received from all nodes as raw text.

    Request Parameters

    Sample Request

    blocknetdx-cli xrShowConfigs
    

    xrShowConfigs

    This call does not take parameters.

    Response Parameters

    Sample 200 Response

    [
      {
        "config": "[Main]\nwallets=SYS,MNP\nservices=SYSgetbestblockhash,SYSgetgovernanceinfo\ntimeout=30\nconsensus=1\nfee=0\nmaxfee=0.5\nclientrequestlimit=50\npaymentaddress=B8zc9PuDJC3XaF7UkQ2CnRDCmXiCs9bDuS\n[xrGetBlockCount]\nmaxfee=0.1\nclientrequestlimit=10\n[SYS::xrGetBlockCount]\nfee=0.1\nmaxfee=0.2\n[xrGetBlocks]\nfetchlimit=10\nfee=0.1\nmaxfee=0.2\n[MNP::xrGetBlocks]\nfetchlimit=1\nfee=0.1\n[MNP::xrGetTransactions]\nfetchlimit=3\nfee=0.1\n"
      },
      {
        "config": "[Main]\nwallets=SYS,LTC,BLOCK,BTC\nservices=BTCgetblockhash,BTCgetbestblockhash,BTCgettransaction,SYSgetbestblockhash\ntimeout=30\nclientrequestlimit=50\nmaxfee=0.1\nfee=0\npaymentaddress=BGyvu6uHJ9WLftPgwHeAU5HwmgGmpB3Juh\n[xrGetBlockCount]\nclientrequestlimit=-1\n[BTC]\nclientrequestlimit=100\nfee=0.2\n"
      }
    ]
    
    Parameter Type Description
    Array array An array of objects containing the configurations for each node you are connected to.
    config string The raw text contents of xrouter.conf.

    xrUpdateConfigs

    This call is used to request the latest configuration files from all Service Nodes.

    Request Parameters

    Sample Request

    blocknetdx-cli xrUpdateConfigs true
    

    xrUpdateConfigs [force_check](optional)

    Parameter Type Description
    force_check bool (Optional Parameter)
    Defaults to false.
    Signifies whether to force update regardless of rate limit checks.
    true: Force update if rate limit exceeded.
    false: Only update if within rate limit.

    Response Parameters

    Sample 200 Response

    {
      "reply": "Config requests have been sent"
    }
    
    Parameter Type Description
    reply string A confirmation that the new configs have been requested.

    xrReloadConfigs

    This call is used to reload xrouter.conf and all associated plugin configs after changes have been made to apply newly configured settings without needing to restart the Blocknet client.

    Request Parameters

    Sample Request

    blocknetdx-cli xrReloadConfigs
    

    xrReloadConfigs

    This call does not take parameters.

    Response Parameters

    Sample 200 Response

    {
      "reply": "Config requests have been sent"
    }
    
    Parameter Type Description
    reply string A confirmation that xrouter.conf has been reloaded.

    xrStatus

    This call is used to print your XRouter configuration and has two different outputs depending on if this call is made from a user client or a Service Node.

    Request Parameters

    Sample Request

    blocknetdx-cli xrStatus
    

    xrStatus

    This call does not take parameters.

    Response Parameters

    Sample 200 Response (User Client)

    {
      "xrouter": true,
      "servicenode": false,
      "config": "[Main]\ntimeout=30\nconsensus=1\nmaxfee=0.5"
    }
    

    User Client

    Parameter Type Description
    xrouter bool Signifies XRouter activation.
    true: XRouter is enabled.
    false: XRouter is disabled.
    servicenode bool Signifies if your client is a Service Node.
    true: Client is a Service Node.
    false: Client is not a Service Node.
    config string The raw text contents of your xrouter.conf.

    Sample 200 Response (Service Node)

    {
        "nodepubkey": "03f1bf0087e5a0036176560493fb05fedb0eb841993536c6a86c78687c4e73a527",
        "score": 0,
        "banned": false,
        "paymentaddress": "B2B8HVr7BuxBXx7JTqmPgUZJ11CGcL9vtS",
        "spvwallets": [
          "SYS"
        ],
        "spvconfigs": [
          {
            "spvwallet": "SYS",
            "commands": [
              {
                "command": "xrGetConfig",
                "fee": 0.00000000,
                "requestlimit": -1,
                "paymentaddress": "B2B8HVr7BuxBXx7JTqmPgUZJ11CGcL9vtS",
                "disabled": false
              },
              {
                "command": "xrGetBlockCount",
                "fee": 0.00000000,
                "requestlimit": -1,
                "paymentaddress": "B2B8HVr7BuxBXx7JTqmPgUZJ11CGcL9vtS",
                "disabled": false
              },
              {
                "command": "xrGetBlockHash",
                "fee": 0.00000000,
                "requestlimit": -1,
                "paymentaddress": "B2B8HVr7BuxBXx7JTqmPgUZJ11CGcL9vtS",
                "disabled": false
              },
              {
                "command": "xrGetBlock",
                "fee": 0.00000000,
                "requestlimit": -1,
                "paymentaddress": "B2B8HVr7BuxBXx7JTqmPgUZJ11CGcL9vtS",
                "disabled": false
              },
              {
                "command": "xrGetTransaction",
                "fee": 0.00000000,
                "requestlimit": -1,
                "paymentaddress": "B2B8HVr7BuxBXx7JTqmPgUZJ11CGcL9vtS",
                "disabled": false
              },
              {
                "command": "xrSendTransaction",
                "fee": 0.00000000,
                "requestlimit": -1,
                "paymentaddress": "B2B8HVr7BuxBXx7JTqmPgUZJ11CGcL9vtS",
                "disabled": false
              },
              {
                "command": "xrGetBlocks",
                "fee": 0.00000000,
                "requestlimit": -1,
                "paymentaddress": "B2B8HVr7BuxBXx7JTqmPgUZJ11CGcL9vtS",
                "disabled": false
              },
              {
                "command": "xrGetTransactions",
                "fee": 0.00000000,
                "requestlimit": -1,
                "paymentaddress": "B2B8HVr7BuxBXx7JTqmPgUZJ11CGcL9vtS",
                "disabled": false
              },
              {
                "command": "xrDecodeRawTransaction",
                "fee": 0.00000000,
                "requestlimit": -1,
                "paymentaddress": "B2B8HVr7BuxBXx7JTqmPgUZJ11CGcL9vtS",
                "disabled": false
              }
            ]
          }
        ],
        "feedefault": 0.00000000,
        "fees": {
        },
        "services": {
          "SYSlistoffers": {
            "parameters": "",
            "fee": 0.00000000,
            "paymentaddress": "B2B8HVr7BuxBXx7JTqmPgUZJ11CGcL9vtS",
            "requestlimit": -1,
            "fetchlimit": 50,
            "timeout": 30,
            "disabled": false
          }
        },
        "xrouter": true,
        "servicenode": true,
        "config": "[Main]\nwallets=SYS\nplugins=hanniabu\nmaxfee=0.5\npaymentaddress=B2B8HVr7BuxBXx7JTqmPgUZJ11CGcL9vtS\n",
        "plugins": {
          "SYSlistoffers": "parameters=\nprivate::type=rpc\nprivate::rpcip=127.0.0.1\nprivate::rpcport=8370\nprivate::rpcuser=username\nprivate::rpcpassword=password\nprivate::rpccommand=listoffers"
        }
    }
    

    Service Node

    This is the output presented from a Service Node client.

    Parameter Type Description
    nodepubkey string Your node ID.
    score int Not applicable when viewing your own score.
    paymentaddress string Your node's general payment address.
    spvwallets array An array of SPV wallets you're supporting, represented by the asset's ticker.
    spvconfigs array An array of each SPV wallets and command configurations.
    spvwallet string The SPV wallet that the configurations under commands pertains to.
    commands array An array of each SPV wallet command and respective configurations.
    command string The SPV command.
    fee float The command fee, overrides the feedefault and fees values. This priority has already been accounted for in this value.
    requestlimit int The minimum time allowed between calls in milliseconds. A value of -1 means there is no limit. If a client exceeds this value they will be penalized and eventually banned by your node.
    paymentaddress string Your node's payment address for this specific command.
    disabled bool Signifies if your node has disabled this command.
    true: Call is disabled and not supported.
    false: Call is enabled and supported.
    feedefault float Your node's default service fee. This fee is overridden by the values specified in fees, SPV command configuration fee, and XCloud service command configuration fee.
    fees object Object of SPV commands and respective fees. These values are overridden by the SPV wallet-specific configuration fee.
    services object Object of your node's XCloud service calls with respective properties.
    parameters string Information on the parameters the command takes.
    fee float The service command fee. This overrides the feedefault value.
    paymentaddress string Your node's payment address for this specific command.
    requestlimit int The minimum time allowed between calls in milliseconds. A value of -1 means there is no limit. If a client exceeds this value they will be penalized and eventually banned by your node.
    fetchlimit int The maximum number of blocks processed. A value of -1 means there is no limit. A value of 0 means no blocks will be processed.
    timeout int The value for timeout you set in xrouter.conf for this call. Defines how long (in seconds) your client waits for a response from another Service Node. The default value is 30.
    disabled bool Signifies if your node has disabled this service.
    true: Call is disabled and not supported.
    false: Call is enabled and supported.
    xrouter bool Signifies XRouter activation.
    true: XRouter is enabled.
    false: XRouter is disabled.
    servicenode bool Signifies if your client is a Service Node.
    true: Client is a Service Node.
    false: Client is not a Service Node.
    config string The raw text contents of your xrouter.conf.
    plugins object An object of each service you have setup and the raw text contents of the respective config file in the plugins folder within the Blocknet data directory.

    XCloud API

    The following set of calls are used to communicate and interact with XCloud services remotely over the Blocknet network via XRouter. XCloud consists of services that are powered by XRouter and are therefore interacted with using a subset of commands from the XRouter API.

    You can use the XCloud Services forum category as an alternative medium for discovering services, learning more about each service, and finding instructions on how to interact with the service. A simple list of services can also be found on blockdx.co.

    See XCloud Setup for instructions on setting up your environment for use with XCloud.

    Call Description
    xrGetNetworkServices Returns supported services
    xrConnect Pre-connect to XRouter nodes
    xrConnectedNodes Returns connected node services and fees
    xrService* Use to interact with XCloud services
    xrServiceConsensus* Use to interact with XCloud services with consensus
    xrGetReply Returns prior response associated with UUID
    xrShowConfigs Returns all node configs received as raw text
    xrUpdateConfigs Requests latest configs from nodes
    xrReloadConfigs Applies changes made to your configs
    xrStatus Returns your XRouter configurations

    xrService

    Sample Data

    {
      "service": "BTCgetbestblockhash"
    }
    

    This call is used to send a request to an XCloud service. XCloud is a decentralized microservice cloud network powered by XRouter that allows for interaction with microservices, blockchains, APIs, and cloud tech that's hosted by Service Nodes. If you'd like to operate your own Service Node, see the Service Node Setup Guide.

    Request Parameters

    Sample Request

    blocknetdx-cli xrService SYSgetbestblockhash
    

    xrService [service] [param1 param2 paramN]

    Parameter Type Description
    service string The service name without the namespace (xcloud_service, not xrs::[xcloud_service]).
    paramN unknown (Optional Parameter)
    Refer to service documentation for parameter requirements. Information about an XCloud service can be viewed in the service configuration. Use xrConnect to find a node with the service, then use xrConnectedNodes to review the service information.

    Response Parameters

    Sample 200 Response

    {
      "reply" : "6a29264f48a40cc88f7c56cdc5fd4c62d1daa7f83b204fdcd4a022d8676438c2",
      "error" : null,
      "id" : 1,
      "uuid" : "54b6ec00-8b06-4c2c-9e56-acdff4da69fe"
    }
    
    Parameter Type Description
    reply unknown The service's response data.
    error object The native error response if an error occurred, otherwise a successful response will contain a null error.
    uuid string The response ID, which can be used to view this response again with xrGetReply.

    xrServiceConsensus

    Sample Data

    {
      "service": "SYSgetbestblockhash"
    }
    

    This call is used to send a request to an XCloud service, along with a specified amount of nodes for consensus. XCloud is a decentralized microservice cloud network powered by XRouter that allows for interaction with microservices, blockchains, APIs, and cloud tech that's hosted by Service Nodes. If you'd like to operate your own Service Node, see the Service Node Setup Guide.

    Request Parameters

    Sample Request

    blocknetdx-cli xrServiceConsensus 1 SYSgetbestblockhash
    

    xrServiceConsensus [node_count] [service] [param1 param2 paramN]

    Parameter Type Description
    node_count int The number of nodes that will be used to route calls and use the majority response from for consensus.
    service string The service name without the namespace (xcloud_service, not xrs::[xcloud_service]).
    paramN unknown (Optional Parameter)
    Refer to service documentation for parameter requirements. Information about an XCloud service can be viewed in the service configuration. Use xrConnect to find a node with the service, then use xrConnectedNodes to review the service information.

    Response Parameters

    Sample 200 Response

    {
      "reply" : "6a29264f48a40cc88f7c56cdc5fd4c62d1daa7f83b204fdcd4a022d8676438c2",
      "allreplies" : [
        {
          "nodepubkey" : "02c6c79a75846fd9bb064788b03145e347fa5464558fa9030ebb009df2833369f0",
          "score" : 250,
          "reply" : "6a29264f48a40cc88f7c56cdc5fd4c62d1daa7f83b204fdcd4a022d8676438c2"
        },
        {
          "nodepubkey" : "0370874cad6252bb94afa9a253c90122760ce2862e623b515e57bfe0697f3fc515",
          "score" : 300,
          "reply" : "6a29264f48a40cc88f7c56cdc5fd4c62d1daa7f83b204fdcd4a022d8676438c2"
        }
      ],
      "error" : null,
      "id" : 1,
      "uuid" : "54b6ec00-8b06-4c2c-9e56-acdff4da69fe"
    }
    
    Parameter Type Description
    reply unknown The service's response data. If using a node_count greater than 1, this returns the most common reply within allreplies. If there is a tie then one is chosen, or if one is an error then the non-error is chosen.
    allreplies* array An array of objects with responses from each node. This can be useful if you wanted to do your own analysis/filtering of the responses.
    nodepubkey* string The node ID.
    score* int The respective node's score based on quality of service. A score of -200 will ban the node for a 24hr period. You can change the ban threshold with the xrouterbanscore setting in blocknetdx.conf. See node scoring for more details.
    reply* array The service's response data from the respective node.
    error object The native error response if an error occurred, otherwise a successful response will contain a null error.
    uuid string The response ID, which can be used to view this response again with xrGetReply.

    * This is only returned if using a node_count greater than 1.

    Web Endpoints

    The following set of calls can be used to access data via web endpoints.

    Call Description
    ticker (1.0) XBridge 24hr trade summary (static list)
    ticker (2.0) XBridge 24hr trade summary (dynamic list)
    history XBridge 24hr trade history
    status XBridge asset availability
    dxgetnetworktokens Returns online XBridge assets
    xrgetnetworkservices Returns supported XRouter services

    ticker (1.0)

    This call is used to view the XBridge trade summary for the past 24 hours and includes values of the inverse market. It is hard-coded to only include the following markets: BLOCK-LTC, LTC-BLOCK, LTC-SYS, SYS-LTC.

    Use ticker (2.0) for a dynamic list that updates with whichever markets have had trades in the past 24 hours.

    Endpoint

    https://data.blocknet.co/api/v1.0/ticker

    Response Parameters

    Sample 200 Response

    [
      {
        "symbol": "BLOCK-LTC",
        "open": 0.022216,
        "high": 0.022240,
        "low": 0.019437,
        "close": 0.019437,
        "volume": 27.945614,
        "lastprice": 0.019437,
        "timestamp": 1564444800
      },
      {
        "symbol": "LTC-BLOCK",
        "open": 45.012306,
        "high": 51.447171,
        "low": 44.96224,
        "close": 51.447171,
        "volume": 0.586885,
        "lastprice": 51.447171,
        "timestamp": 1564444800
      },
      {
        "symbol": "SYS-LTC",
        "open": 0.022216,
        "high": 0.022240,
        "low": 0.019437,
        "close": 0.019437,
        "volume": 27.945614,
        "lastprice": 0.019437,
        "timestamp": 1564444800
      },
      {
        "symbol": "LTC-SYS",
        "open": 45.012306,
        "high": 51.447171,
        "low": 44.96224,
        "close": 51.447171,
        "volume": 0.586885,
        "lastprice": 51.447171,
        "timestamp": 1564444800
      }
    ]
    
    Parameter Type Description
    symbol string The market in maker-taker format. Use the status call to view the associated blockchain name for each ticker and the availabiity status.
    open int Rolling 24hr opning trade price.
    high int Highest trade price in the past 24hrs.
    low int Lowest trade price in the past 24hrs.
    close int Rolling 24hr closing trade price.
    volume int Rolling 24hr trade volume denominated in the maker (first asset in the market pair).

    ticker (2.0)

    This call is used to view a dynamic list of the XBridge trade summary for the past 24 hours and does not include values of the inverse market. Only markets that have had trades in the past 24 hours it will be included.

    Endpoint

    https://data.blocknet.co/api/v2.0/ticker

    Response Parameters

    Sample 200 Response

    {
      "BLOCK-LTC": {
        "volume": "548.12435100",
        "price": "44.72284723252284837351528359",
        "open": "44.72284723252284837351528359",
        "high": "55.86592178770949720670391061",
        "low": "44.63642193485968680902170911",
        "close": "44.93061261235648931280709984",
        "timestamp": 1563219207
      },
      "LTC-BLOCK": {
        "volume": "29.70000000",
        "price": "0.022",
        "open": "0.022",
        "high": "0.022",
        "low": "0.022",
        "close": "0.022",
        "timestamp": 1563176655
      },
      "BTC-BLOCK": {
        "volume": "0.68000000",
        "price": "0.00021",
        "open": "0.00021",
        "high": "0.00021",
        "low": "0.0002",
        "close": "0.0002",
        "timestamp": 1563175709
      }
    }
    
    Parameter Type Description
    Object object The market in maker-taker format and associated data. Use the status call to view the associated blockchain name for each ticker and the availabiity status.
    volume string Rolling 24hr trade volume denominated in the maker (first asset in the market pair).
    price string The last trade price.
    open string Rolling 24hr opning trade price.
    high string Highest trade price in the past 24hrs.
    low string Lowest trade price in the past 24hrs.
    close string Rolling 24hr closing trade price.
    timestamp int The Unix epoch timestamp of when the last trade took place.

    history

    This call is used to view the XBridge trade history for the past 24 hours.

    Endpoint

    https://data.blocknet.co/api/v2.0/history

    Response Parameters

    Sample 200 Response

    [
      {
        "timestamp": 1559970139,
        "txid": "4b409e5c5fb1986930cf7c19afec2c89ac2ad4fddc13c1d5479b66ddf4a8fefb",
        "to": "Bqtms8j1zrE65kcpsEorE5JDzDaHidMtLG",
        "xid": "9eb57bac331eab34f3daefd8364cdb2bb05259c407d805d0bd0c",
        "from": "BLOCK",
        "fromAmount": 0.001111,
        "to": "SYS",
        "toAmount": 0.001000
      },
      {
        "timestamp": 1559970139,
        "txid": "3de7479e8a88ebed986d3b7e7e135291d3fd10e4e6d4c6238663db42c5019286",
        "to": "Bqtms8j1zrE65kcpsEorE5JDzDaHidMtLG",
        "xid": "fd0fed3ee9fe557d5735768c9bdcd4ab2908165353e0f0cef0d5",
        "from": "BLOCK",
        "fromAmount": 0.001577,
        "to": "SYS",
        "toAmount": 0.001420
      },
      {
        "timestamp": 1559970139,
        "txid": "9cc4a0dae46f2f1849b3ab6f93ea1c59aeaf0e95662d90398814113f12127eae",
        "to": "BbrQKtutGBLuWHvq26EmHKuNaztnfBFWVB",
        "xid": "f74c614489bd77efe545c239d1f9a57363c5428e7401b2018d350",
        "from": "BLOCK",
        "fromAmount": 0.000231,
        "to": "SYS",
        "toAmount": 0.001100
      }
    ]
    [{
      "timestamp":1564516002,
      "txid":"9f9592e4e5954645e8093c51e63cee73832b000e47dac45d8580deea3ebff8ef",
      "to":"BLOCK",
      "xid":"ca2c928552682d762d54b3cb124f9b663a7752faae11d13a",
      "from":"LTC",
      "fromAmount":"0.07393600",
      "toAmount":"3.80379800"
    
      },{"timestamp":1564515003,"txid":"fe7dac3f28ea7873aebc210ebb2fe77e60c8cd75204e2b37fb3ef0dac4a6213b","to":"BLOCK","xid":"6b169c7d40459411709a04405d3cd00d039ca78961536d57","from":"LTC","fromAmount":"0.07506700","toAmount":"3.85911500"},{"timestamp":1564513052,"txid":"edeffa602035e0f812f949206a2a9002fe1ebec9fb07148196db8b2fc082e6f1","to":"BLOCK","xid":"42e9a34f6334d58ca7aec96634ec80c902286a2088bfaf08","from":"LTC","fromAmount":"0.09047400","toAmount":"4.65205600"},{"timestamp":1564464003,"txid":"e4fd6f48dcf5fdc9af90f5237b496186a37af063a1fb07bab4a67db8e9763a0d","to":"BLOCK","xid":"27b3d828bae0c1cb9ee5cef8c6ff6609ada121d0f3676b0","from":"LTC","fromAmount":"0.13961800","toAmount":"6.27753800"},{"timestamp":1564463888,"txid":"317b70d0e54b25ed635cdc76fd85a3fc21b088bc0b4764246aefd68d7c812c29","to":"BLOCK","xid":"c822bca709ee64572a4888eda1419ac06cb5e9a016753f7","from":"LTC","fromAmount":"0.20779000","toAmount":"9.35310700"}]
    
    Parameter Type Description
    timestamp int Unix epoch timestamp of when the trade took place.
    txid string Blocknet trade fee transaction ID.
    to string Service Node that received the trade fee.
    xid string XBridge transaction ID.
    from string Taker trading asset; the ticker of the asset being sold by the taker.
    fromAmount int Taker trading size.
    to string Maker trading asset; the ticker of the asset being sold by the maker.
    toAmount int Maker trading size.

    status

    This call is used to view XBridge asset availability for trading and associated blockchain name for each ticker. It is hard-coded to only include assets for the markets returned in ticker (1.0).

    To view a full list of supported assets for trading, use dxgetnetworktokens.

    Endpoint

    https://data.blocknet.co/api/v2.0/status

    Response Parameters

    Sample 200 Response

    {
        "BLOCK": {
            "id":1,
            "name": "Blocknet",
            "frozen":0
        },
        "LTC": {
            "id":2,
            "name": "Litecoin",
            "frozen":0
        },
        "SYS": {
            "id":3,
            "name": "Syscoin",
            "frozen":0
        }
    }
    
    Parameter Type Description
    Object object An object with the ticker's blockchain name, ID, and availability status.
    id int The asset's ID number.
    name string The asset's blockchain name.
    frozen bool Online status. If 0, the asset is online. If 1, the asset is offline. Both assets of a market pair must show 0 for the market to be available for trading.

    dxgetnetworktokens (web)

    This call is used to retrieve all the assets currently supported by the network for XBridge. This list may differ from the compatibility list due to assets being unofficially supported or assets not being supported by any nodes on the network.

    Endpoint

    https://data.blocknet.co/api/v2.0/dxgetnetworktokens

    Response Parameters

    Sample 200 Response

    [
      "LTC",
      "SYS",
      "MONA",
      "BLOCK"
    ]
    
    Parameter Type Description
    Array array An array of all the assets supported by the network for trading.

    xrgetnetworkservices (web)

    This call is used to view the XRouter services currently supported on the network, along with the number of nodes supporting each service. XRouter SPV calls use the xr:: namespace and XCloud services use the xrs:: namespace.

    Endpoint

    https://data.blocknet.co/api/v2.0/xrgetnetworkservices

    Response Parameters

    Sample 200 Response

    {
      "reply": {
        "spvwallets": [ "xr::BLOCK", "xr::BTC", "xr::LTC", "xr::MNP", "xr::SYS", "xr::TBLOCK" ],
        "services": [ "xrs::BTCgetbestblockhash", "xrs::BTCgetblockhash", "xrs::BTCgettransaction", "xrs::SYSgetbestblockhash", "xrs::SYSgetblock", "xrs::SYSgetgovernanceinfo", "xrs::SYSgetmempool", "xrs::SYSlistoffers", "xrs::SYSofferinfo", "xrs::twilio" ],
        "nodecounts": {
          "xr::BLOCK": 27,
          "xr::BTC": 13,
          "xr::LTC": 21,
          "xr::MNP": 1,
          "xr::SYS": 9,
          "xrs::BTCgetbestblockhash": 12,
          "xrs::BTCgetblockhash": 12,
          "xrs::BTCgettransaction": 5,
          "xrs::SYSgetbestblockhash": 7,
          "xrs::SYSgetblock": 6,
          "xrs::SYSgetgovernanceinfo": 4,
          "xrs::SYSgetmempool": 4,
          "xrs::SYSlistoffers": 4,
          "xrs::SYSofferinfo": 4,
          "xrs::twilio": 1
        }
      },
      "uuid": "cd408df7-0ff8-4e29-b5cf-0148af83f93a"
    }
    
    Parameter Type Description
    reply object An object containing information on supported services.
    spvwallets array An array of supported SPV wallets, represented by the asset's ticker.
    services array An array of supported XCloud services.
    nodecounts object An object of supported SPV wallets and XCloud services with how many nodes support each.
    -- key string The SPV wallet or XCloud service with it's namespace.
    -- value int The amount of nodes supporting each respective service.
    uuid string The response ID, which can be used to view this response again with xrGetReply (not supported via web API).

    Changelog

    This API documentation will be continuously updated to improve descriptions, instructions, and overall clarity on how to use the API and begin building on the Blocknet Protocol. An overview of changes can be viewed below. For a more detailed view of changes, see the site's Github repository.

    To receive notifications and stay informed on important developer updates and changes relating to the Blocknet Protocol, subscribe to the developer notification emailing list.


    Updates

    8/2/2019
    • Updated the xrConnect output to include the added fetchlimit and timeout settings with the returned configs
    • Updated the ticker (1.0) call output to include lastprice and timestamp
    • Added clarification ticker (1.0) description on inverse market data inclusion
    7/12/2019
    • Updated XBridge Setup to reference the guide in the documentation portal
    • Added ticker (2.0) call
    7/5/2019
    • Added gettradingdata call
    • Added Web API section and calls
    5/9/2019
    • Updated Gihub links from /BlocknetDX to /blocknetdx
    • Updated Blocknet repo links from /BlockDX to /blocknet
    4/18/2019
    • Updated XRouter setup instructions
    • Updated XBridge setup instructions
    • Added XCloud setup instructions
    • Updated XBridge API descriptions
    • Updated XRouter API for beta release
    • Added XCloud API for beta release
    • Updated XBridge confirmations info for clarifications
    • Updated XRouter intro to include node scoring information
    • Added XCloud introduction
    3/5/2019
    • Update links to Github to reflect change in repository names
    • Updated link to compatible blockchains
    • Updated XRouter [confirmations] to [node_count]
    • Updated XRouter [block] to [block_number]
    • Updated language from token to asset
    12/7/2018
    • Updated Introduction Service Node description
    • Updated 'coin' verbiage to 'token'
    • Updated description of how XBridge orderbooks are decentralized
    • Updated order statuses for dxMakeOrder, dxCancelOrder, dxGetOrder, dxGetOrders, dxGetMyOrders to remove signed, include initiated, and improve hold description
    • Updated XBridge Error Codes
    • Updated sample 400 response for dxGetOrders, dxGetMyOrders, dxGetOrderFills, dxGetOrderHistory
    • Updated dxTakeOrder, dxGetOrders, dxGetMyOrders, and dxGetOrderBook description for improved clarity
    • Updated dxGetOrderFills sample response to not include maker_txid, taker_txid, and block_id
    • Updated dxGetOrderHistory parameters and removed 'not yet supported' comment
    • Updated dxGetNetworkTokens to remove 'not yet supported' comment
    • Updated dxGetTokenBalances description to clarify it returns available balances
    • Updated dxGetOrderBook max_orders description and sample responses with better examples
    • Consolidated order status codes to a single location
    • Updated Status Codes to include rolled back and rollback failed
    • Added dxLoadXBridgeConf call
    • Added historic versioning, which can be viewed next to each changelog date
    • Corrected XRouter confirmations data type from 'string' to 'int'
    8/31/2018
    • Updated XBridge design details and diagrams to reflect fee switch from maker to taker
    • Updated mentions of XBridge from 0.005 BLOCK to 0.015 BLOCK
    • Added reference for atomic swap type in XBridge introduction
    8/21/2018
    • Added information on the design of XBridge and XRouter
    • Added hyperlink to site branding leading to the site root
    8/10/2018
    • Added additonal information on the Blocknet Protocol, XBridge, and XRouter
    • Added information on configuration and setup needed to use the API
    • Moved Error Codes to under the XBridge API category
    • Updated the xrGetBalanceUpdate description for better clarity
    • Updated xrGetBalance, dxGetOrderHistory, and dxGetNetworkTokens descriptions to reflect the level of support
    • Updated XBridge order statuses and added explanations
    • Added a changelog
    • Added developer newsletter link in changelog and sidebar
    • Updated sidebar links
    • Updated design
    8/3/2018
    • Added documentation for XRouter CLI API calls
    6/4/2018
    • API documentation went live
    • Includes documentation for XBridge CLI API calls








    cli
    Wallet v3.14.x