>> LOADING CONSOLE ...
NANOVERSE API

NANO Node API

This API is a free tool for developers to interact with a NANO node remotely, without having to first install and run a full node.

This API accepts commands that are identical to that of the NANO RPC protocol. As such it is compatible with any protocol-compliant RPC client.

We have provided the following documentation below for your convenience. Please note that as NANO is undergoing constant development, the contents may become deprecated over time despite our best efforts. For the most up-to-date information, please visit the official documentation page.

Only the Node RPC methods are available at the moment. We will be adding wallet RPC methods in the near future.

API Documentation

General information

Endpoint
https://nanoverse.io/api/node
Methods supportedPOST only
Accepts Parameters must be sent in the request body, in JSON.
Return typeJSON
Rate limitsNone - this may change in the future.
AuthenticationNone required - this may change in the future.
Status codes HTTP status codes are generated by the API layer and are not part of the node response.
  • 200 - successful response.
  • 4XX - client-side error: the client request is either malformed or is targetting an unsupported method. A JSON payload will be returned containing an "error" parameter with more information.
  • 5XX - server-side error: the client request was correctly formatted and successfully received, but a server-side error was encountered. JSON payload will be returned containing an "error" parameter containing more information.

API Methods

COLLAPSE ALL
EXPAND ALL
account_balance

For a given account, returns:

  1. The balance of that account
  2. The balance not yet received by that account (the "pending" balance)

Request parameters

Parameter Type Description Required
"action" string Always "account_balance" Yes
"account" string The account public address for which balance is to be retreived. An address consists of 3 parts:
  1. The prefix: either xrb_ or nano_
  2. The encoded account public key: a 52-character string encoding of the account's public key
  3. The checksum: a 8-character checksum determined by the encoded public key
Yes

Sample request:

{{ samples['account_balance'].in_str }}

Response parameters

Parameter Type Description Present
"balance" string representation of uint128 The amount of NANO owned by the account, in raw. Always
"pending" string representation of uint128 The amount of NANO unpocketed by the account, in raw. Pending balances still belong to an account; they are just balances sent to an account for which a corresponding receive block has not yet been published. An account will be able to spend their pending balances as soon as they publish a receive block. Always

Sample response:

{{ samples['account_balance'].out_str }}
account_block_count

Returns number of blocks for a given account. NANO accounts have their own blockchain so this value will be different for different accounts. Read more.

Request parameters

Parameter Type Description Required
"action" string Always "account_block_count" Yes
"account" string The account public address for which balance is to be retreived. An address consists of 3 parts:
  1. The prefix: either xrb_ or nano_
  2. The encoded account public key: a 52-character string encoding of the account's public key
  3. The checksum: a 8-character checksum determined by the encoded public key
Yes

Sample request:

{{ samples['account_block_count'].in_str }}

Response parameters

Parameter Type Description Present
"balance" string representation of uint128 The number of blocks published by this account. Always

Sample response:

{{ samples['account_block_count'].out_str }}
account_get

Returns the account's public address for a given the public key

Account public addresses are uniquely derived from their corresponding public key, using a specific base32 encoding algorithm that helps prevent transcription errors by excluding similar-looking characters (such as 0 and O, B and 8 etc).

Request parameters

Parameter Type Description Required
"action" string Always "account_get" Yes
"key" string The 64-uppercase-character hexadecimal public key Yes

Sample request:

{{ samples['account_get'].in_str }}

Response parameters

Parameter Type Description Present
"account" string The account's public address (xrb_... or nano_...). Always

Sample response:

{{ samples['account_get'].out_str }}
account_history

Returns the historical blocks published by a given account (xrb_... or nano_...).

The response will contain blocks that are simplified as follows:

Block type Will be returned as
Legacy send / receive blocks send / receive blocks respectively.
Universal state send / state receive blocks send / receive blocks respectively.
open and state open blocks receive blocks
change, state change and state epoch blocks are skipped unless if the parameter "raw" is set to true

Request parameters

Parameter Type Description Required
"action" string Always "account_history" Yes
"account" string The account for which balance is to be retreived (xrb_... or nano_...). Yes
"count" integer
Default: "-1"
The number of blocks to be returned. If not specified, all blocks of the account will be returned.
No
"raw" boolean
Default: false
If set to true, then:
  • The full block info will be returned instead of just a simplified "send" / "receive" explanation of blocks.
  • All block types will be returned, including change, state change and state epoch blocks.
No
"head" string
Default: null
If specified, will cause the node to return blocks starting with this block hash, instead of starting with the most recent block. Format is a 64 hexadecimal digit string. Must be the hash of a valid block published by the specified account.
No
"offset"
Version 11.0+
integer
Default: 0
If specified, will skip the specified number of blocks, starting from "head", if it is specified.
No
"reverse"
Version 19.0+
boolean
Default: false
If set to true true, will return blocks starting from "head" (if specified, or the first block of the account), up until to latest block, as limited by "count".
No
"account_filter"
Version 19.0+
Array of strings Array of public addresses: if specified, results will be filtered to only show sends/receives connected to the provided account(s). No

Sample request:

{{ samples['account_history'].in_str }}

Response parameters

Parameter Type Description Present
"account" string The account public address (xrb_... or nano_...). Always
"history" Array of JSON objects An array containing the historical blocks Always
"previous" string The block hash that would be next to process if "count" was larger. Always

Sample response:

{{ samples['account_history'].out_str }}
account_info

Returns frontier, open block, change representative block, balance, last modified timestamp from local database & block count for account.

Only works for accounts that have an entry on the ledger, unopened accounts will return the error "Account not found". If the account is not a valid public address, "Bad account number" will be returned.

Request parameters

Parameter Type Description Required
"action" string Always "account_info" Yes
"account" string The account public address for which balance is to be retreived. An address consists of 3 parts:
  1. The prefix: either xrb_ or nano_
  2. The encoded account public key: a 52-character string encoding of the account's public key
  3. The checksum: a 8-character checksum determined by the encoded public key
Yes
"representative" boolean

Default: false

If set to true, the account's representative will also be returned.
No
"weight" boolean

Default: false

If set to true, the account's voting weight will also be returned.
No
"pending" boolean

Default: false

If set to true, the account's pending balance will also be returned.
No

Sample request:

{{ samples['account_info'].in_str }}

Response parameters

Parameter Type Description Present
"frontier" string The hash of the last block in the account's blockchain. Always
"open_block" string The hash of the block that opened this account. Always
"representative_block" string The representative block of this account. Always
"balance" string representation of uint128 The balance of the account, in raw. Always
"modified_timestamp" string representation of integer The timestamp when the block reached our node, in seconds since epoch. Since the NanoVerse node was started in June 2019, timestamps before this date may be inaccurate. Always
"block_count" string representation of integer The number of blocks in this account's blockchain. Always
"representative" string The account representative's public account address. If "representative" is set to "true"
"weight" string representation of uint128 The account's voting weight, in raw. If "weight" is set to "true"
"pending" string representation of uint128 The account's pending balance, in raw. If "pending" is set to "true"

Sample response:

{{ samples['account_info'].out_str }}
account_key

Returns the corresponding public key for a given account public address. Returns "Bad account number" if the provided account is not a valid account public address.

Request parameters

Parameter Type Description Required
"action" string Always "account_key". Yes
"account" string The account public address (xrb_... or nano_...), which uniquely determines the account's public key. Yes

Sample request:

{{ samples['account_key'].in_str }}

Response parameters

Parameter Type Description Present
"key" string The account's public key (64 uppercase character hexadecimal string). Always

Sample response:

{{ samples['account_key'].out_str }}
account_representative

For a given account, returns the account representative's public address (xrb_... or nano_), which votes on the account's behalf. Every account must have a representative (which could be the account itself).

Returns "Bad account number" if the provided account is not a valid account public address.

Request parameters

Parameter Type Description Required
"action" string Always "account_representative". Yes
"account" string The account's public address (xrb_... or nano_...). Yes

Sample request:

{{ samples['account_representative'].in_str }}

Response parameters

Parameter Type Description Present
"representative" string The account representative's public address. Always

Sample response:

{{ samples['account_representative'].out_str }}
account_weight

Returns the voting weight for a given account, in raw.

Returns "Bad account number" if the provided account is not a valid account public address.

Request parameters

Parameter Type Description Required
"action" string Always "account_weight" Yes
"account" string The account's public address (xrb_... or nano_...). Yes

Sample request:

{{ samples['account_weight'].in_str }}

Response parameters

Parameter Type Description Present
"weight" string representation of uint128 The account's voting weight, in raw. Always

Sample response:

{{ samples['account_weight'].out_str }}
accounts_balances

Used for getting multiple account balances at once. For a given array of accounts, returns:

  1. The balance of each account, in raw.
  2. The balance not yet received by each account (the "pending" balance), in raw.

If any of the accounts in "accounts" is invalid, "Bad account number" error will be returned.

Request parameters

Parameter Type Description Required
"action" string Always "accounts_balances" Yes
"accounts" Array of strings The array of account public addresses, for which we want the balance of. Yes

Sample request:

{{ samples['accounts_balances'].in_str }}

Response parameters

Parameter Type Description Present
"balances" JSON object
An object containing the balance ("balance") and pending balance ("pending") for each account in "accounts".
All units are in raw.
Always

Sample response:

{{ samples['accounts_balances'].out_str }}
accounts_frontiers

Given an array of account public addresses, returns the hash of the latest block (the "frontier") for each account.

If any of the accounts in "accounts" is invalid, "Bad account number" error will be returned.

Request parameters

Parameter Type Description Required
"action" string Always "accounts_frontiers" Yes
"accounts" Array of strings An array of account public addresses (xrb_... or nano_...). Yes

Sample request:

{{ samples['accounts_frontiers'].in_str }}

Success response parameters

Parameter Type Description Present
"frontiers" JSON object

If all accounts in "accounts" is valid, an object will be returned containing the latest block hash (the 'frontier') for each account. Each block hash will be a 64 character string.

If the "accounts" array is empty, an empty string "" will be returned instead.

Always

Sample successful response:

{{ samples['accounts_frontiers'].out_str }}

Response parameters

Parameter Type Description Present
"error" string "Bad account number" If the array of "accounts" contains an invalid account address.

Sample error response:

{{ samples['accounts_frontiers'].error_str }}
accounts_pending

For an array of accounts, returns a list of block hashes which have not yet been received by those accounts.

Request parameters

Parameter Type Description Required
"action" string Always "accounts_pending" Yes
"accounts" Array of strings
An array of account public addresses.
API limit: maximum 100 per call, defaults to 100 if unspecified.
Yes
"count" integer
The maximum number of blocks per account to return.
API limit: maximum 100 per call, defaults to 100 if unspecified.
No
"threshold"
Version 8.0+
uint128
Only return those pending block hashes with 'amount' more than or equal to "threshold".
No
"source"
Version 9.0+
boolean
Default: false
Only return those pending block hashes with amount and source accounts.
No
"include_active"
Version 15.0+
boolean
Default: false
Also return active (unconfirmed) blocks.
No
"sorting"
Version 19.0+
boolean
Default: false
Returns each account's blocks, sorted by their amounts in descending order.
No
"include_only_confirmed"
Version 19.0+
boolean
Default: false
Only returns block which have their confirmation height set or are undergoing confirmation height processing.
No

Sample request:

{{ samples['accounts_pending'].in_str }}

Response parameters

Parameter Type Description Present
"blocks" JSON Object For each account in "accounts", contains an array of block hashes. Always

Sample successful response:

{{ samples['accounts_pending'].out_str }}

Common error responses

Code Description
400 Bad request
Server will return a JSON containing a single parameter, "error". The most common error messages are:
  1. "Invalid parameter value for 'accounts'" - (API-level error) at least one of the specified account/s are not valid addresses according to the NANO protocol.
  2. "Bad account number" - (Node-level error) the specified account/s, while valid according to the NANO protocol, do not exist.
503 Service unavailable
Service is temporarily unavailable due to server error, or maintanence.

Sample error response:

{{ samples['accounts_pending'].error_str }}
active_difficulty

Returns:

  1. The network minimum-required Proof-of-Work difficulty (the lowest accepted by the network).
  2. The network's current Proof-of-Work difficulty (blocks that publish a Proof-of-Work close to or above this difficulty, are likely to be prioritised).
  3. The multiplier of the network's current difficulty over the network minimum difficulty.
  4. The trend in the network's difficulty over time, sampled on intervals between 16 to 36 seconds. (Only included if "include_trend" is set to true.
Version 19.0+

Request parameters

Parameter Type Description Required
"action" string Always "active_difficulty" Yes
"include_trend" string

Default: false

If true, the response will contain an array of decimals representing the history of the network difficulty, sampled at every 16 to 36 seconds.
No

Sample request:

{{ samples['active_difficulty'].in_str }}

Response parameters

Parameter Type Description Present
"network_minimum" 16 hexadecimal digit string The network's minimum-required Proof-of-Work difficulty. Always
"network_current" 16 hexadecimal digit string The network's current Proof-of-Work difficulty. Always
"multiplier" string representation of decimal "network_current" divided by "network_minimum". Always
"difficulty_trend" Array of decimals The historical network difficulties. If "include_trend" is set to true.

Sample response:

{{ samples['active_difficulty'].out_str }}
available_supply

Returns the total amount of NANO in the circulating supply, in raw. This value is approximately 1.33 x 1038 raw and is very unlikely to change in the future.

This value does not take take into account the NANO that are effectively lost by being accidentally or intentionally sent to 'burn' accounts, i.e. accounts whose seed are not known, and cannot be spent from.

As a result, the actual 'usable' supply is lower than this number.

Request parameters

Parameter Type Description Required
"action" string Always "available_supply" Yes

Sample request:

{{ samples['available_supply'].in_str }}

Response parameters

Parameter Type Description Present
"available" string The amount of raw in the public supply. Always

Sample response:

{{ samples['available_supply'].out_str }}
block_account

For a given bloch hash, returns the account containing that block.

NANO accounts have their own blockchain so every block is associated with the account that published it.

If "hash" is not a valid block hash, "Block not found" error will be returned.

Request parameters

Parameter Type Description Required
"action" string Always "block_account" Yes
"hash" string A valid 64 character hexadecimal block hash. Yes

Sample request:

{{ samples['block_account'].in_str }}

Response parameters

Parameter Type Description Present
"account" string The block's account's public address (xrb_... or nano_...). Always

Sample response:

{{ samples['block_account'].out_str }}
block_confirm

Request confirmation for a block from known online representative nodes. Check the results by calling confirmation_history.

If "hash" is not a valid block hash, "Block not found" error will be returned.

Version 12.2+

Request parameters

Parameter Type Description Required
"action" string Always "block_confirm" Yes
"hash" string The hash of the block to be confirmed (64 character string) Yes

Sample request:

{{ samples['block_confirm'].in_str }}

Response parameters

Parameter Type Description Present
"started" string representation of integer Returns "1" if confirmation has been started, "0" otherwise. Always

Sample response:

{{ samples['block_confirm'].out_str }}
block_count

Returns the number of blocks in the ledger and unchecked, synchronising blocks for the NanoVerse node.

Request parameters

Parameter Type Description Required
"action" string Always "block_count" Yes
"include_cemented"
Version 19.0+
boolean

Default: false.

If true, the number of cemented blocks will also be returned.
No

Sample request:

{{ samples['block_count'].in_str }}

Response parameters

Parameter Type Description Present
"count" string representation of int The number of blocks in the NanoVerse node ledger. Always
"unchecked" string representation of int The number of unchecked blocks in the NanoVerse node ledger. Always
"cemented"
Version 19.0+
string representation of int The number of cemented blocks in the NanoVerse node ledger. If "include_cemented" is set to true

Sample response:

{{ samples['block_count'].out_str }}
block_count_type

Returns a breakdown of the number of blocks in the NanoVerse ledger, by type.

Request parameters

Parameter Type Description Required
"action" string Always "block_count_type" Yes

Sample request:

{{ samples['block_count_type'].in_str }}

Response parameters

Parameter Type Description Present
"send" string representation of integer The number of send legacy blocks in the node ledger. Generated by the sender in a transaction. Always
"receive" string representation of integer The number of receive legacy blocks in the node ledger. Generated by the receiver in a transaction, and serves to 'pocket' the transaction (i.e. convert from 'pending balance' to 'balance'). Always
"open" string representation of integer The number of open legacy blocks in the node ledger. The first block of every account is always a "open" block. Generated only once for each account. Always
"change" string representation of integer The number of change legacy blocks in the node ledger. Published by an account to change its representative. Always
"state_v0" string representation of integer The number of state_v0 universal blocks in the node ledger. Always
"state_v1" string representation of integer The number of state_v1 universal blocks in the node ledger. Always
"state" string representation of integer The number of state universal blocks in the node ledger.

Since the conversion to universal blocks, all send, receive, open and change blocks are now all state blocks. Each block contains a "subtype" parameter to indicate their purpose.

Always

Sample response:

{{ samples['block_count_type'].out_str }}
block_create

Creates a json representation of new block based on input data and signed with private key or account in wallet. Used for offline signing.

Request parameters

Parameter Type Description Required
"action" string Always "block_create" Yes
"balance" uint128
The final balance of the account, after this block, in raw.
  • If balance < previous block balance, then this block is a send block.
  • If balance > previous block balance, then this block is a receive block.
Yes
"wallet" and "account"
- or -
"key"
string
There are two ways of signing a block. Either provide:
  • The wallet ID (as "wallet"), and the account (as "account", e.g. nano_...), that the block is being created for, or
  • The private key of this account (as "key").
Requires 1 signing method
"source"
- or -
"link"
string
For receive blocks, we need to specify the corresponding send block (the send block that this receive block will pocket). This can be done in one of 2 ways:
  • By setting "source" as the block hash of the corresponding send block, or
  • By setting "link" as the block hash of the corresponding send block.
Only required for receive blocks
"destination"
- or -
"link"
string
For send blocks, we need to specify the destination account. This can be done in one of 2 ways:
  • By setting "destination" as destination account's address (nano_...) that the sent funds should be accessible to, or
  • By setting "link" as destination account's public key (64 character string).
Only required for send blocks
"representative" string The account's representative, after this block. Use this to change the account representative. Yes
"previous" string The block hash of the previous block on this account's block chain ("0" for first block). Yes
"work" string The Proof-of-Work (16 hexadecimal digit string) for this block: set if the block is to use work precomputed elsewhere. No
"json_block"
Version 19.0+
string
Default: false
If set to true, "block" in the response will be a JSON object instead of a JSON string.
No

Sample request:

{{ samples['block_create'].in_str }}

Response parameters

Parameter Type Description Present
"hash" string The block's hash - 64 uppercase character hexadecimal string ([0-9A-F]) Always
"block" string
- or -
JSON object
If "json_block" is true, this will be a JSON object, otherwise this will be a JSON string.
Contains the contents of the block supplied by the request, plus 2 additional fields:
  • "signature": the 128 uppercase character hexadecimal signature of this block.
  • "work": the 16 lowercase character hexadecimal Proof-of-Work for this block.
Always

Sample response:

{{ samples['block_create'].out_str }}
block_hash

Returns the block hash for a given block content.

Version 13.0+

Request parameters

Parameter Type Description Required
"action" string Always "block_hash" Yes
"block" string String representation of a JSON object containing the block details. Multiple different block layouts are allowed. Yes
"json_block"
Version 19.0+
boolean Default: false
If set to true, then a JSON object will be expected for "block", instead of a JSON string.
No

Sample request:

{{ samples['block_hash'].in_str }}

Response parameters

Parameter Type Description Present
"hash" string The block hash Always

Sample response:

{{ samples['block_hash'].out_str }}
block_info

Returns the number of blocks in the ledger and unchecked, synchronising blocks for the NanoVerse node.

Request parameters

Parameter Type Description Required
"action" string Always "block_info" Yes
"hash" string A 64 uppercase character block hash. Yes
"json_block"
Version 19.0+
boolean
Default: false.
If true, the response will contain a JSON block for "contents", instead of a JSON string.
No

Sample request:

{{ samples['block_info'].in_str }}

Response parameters

Parameter Type Description Present
"block_account" string The account that contains the provided block hash, "hash". Always
"amount" string representation of uint128 The amount of NANO sent or received with this block, in raw.
Will be 0 in change or epoch blocks.
Always
"balance" string representation of uint128 The amount of NANO in this account, after this transaction.
  • If balance < previous block balance, then this block is a send block.
  • If balance > previous block balance, then this block is a receive block.
In version 19.0+, send and receive blocks can also be differentiated using the "subtype" response parameter.
Always
"height" string representation of uint128 The height of this block in this account's chain. Always
"contents" string A JSON string containing the contents of the block. If "json_block" is set to true, a JSON object will be returned instead. Always
"local_timestamp"
Version 18.0+
string representation of int Timestamp when the block was received by the NanoVerse node, in seconds since epoch. Since NANO is a completely asynchronous network, this value may differ from your own node. Always
"confirmed"
Version 19.0+
string representation of boolean The block's confirmation status. Confirmation state is introduced in version 19 of the NANO network with block cementing. Always
"subtype"
Version 19.0+
string The type of block (only present for state blocks). Always

Sample response:

{{ samples['block_info'].out_str }}
blocks

Returns the block information for an array of block hashes.

Request parameters

Parameter Type Description Required
"action" string Always "blocks" Yes
"hashes" Array of strings A array of block hashes (64 uppercase character hexadecimal strings) Yes

Sample request:

{{ samples['blocks'].in_str }}

Response parameters

Parameter Type Description Present
"blocks" JSON object Contains all the block content for each block hash in "hashes". Yes

Sample response:

{{ samples['blocks'].out_str }}
blocks_info

Returns the block information for an array of block hashes.

Request parameters

Parameter Type Description Required
"action" string Always "blocks_info" Yes
"hashes" Array of strings A array of block hashes (64 uppercase character hexadecimal strings) Yes
"pending" boolean Default: false
If true, the contents returned will include a flag if a block is pending.
No
"source"
Version 9.0+
boolean Default: false
If true, include the source account for receive and open blocks, in the parameter "source_account". Will be 0 for other types of blocks.
No
"balance"
Version 12.0+
boolean Default: false
If true, includes the balance of the account at the time of the block.
No
"json_block"
Version 19.0+
boolean Default: false
If true, the block content will be returned as a JSON object instead of a JSON string.
No
"include_not_found"
Version 19.0+
boolean Default: false
If true, an additional "blocks_not_found" is provided in the response, containing a list of the block hashes that were not found in the local database. Previously to this version an error would be produced if any block was not found.
No

Sample request:

{{ samples['blocks_info'].in_str }}

Response parameters

Parameter Type Description Present
"blocks" JSON object Contains all the block information for each block hash in "hashes". Yes

Sample response:

{{ samples['blocks_info'].out_str }}
chain

Returns a consecutive list of "count" block hashes in the account chain starting with "block" (direction can be specified to be either from the frontier back to the open block, or from newer blocks to older).

In the NANO node RPC, if "count" is set to -1, all blocks back to the open block of this chain will be returned. However, this API imposes an additional limit of maximum 1000 block hashes will be returned in a single query.

The requested block hash is included in the answer.

Request parameters

Parameter Type Description Required
"action" string Always "chain" Yes
"block" string The hash of the first block to return. This block will be included in the array of returned blocks. Yes
"count" integer Default: -1
The number of block hashes to return. If not specified, will return up to 1,000 blocks.
No
"offset"
Version 18.0+
integer Default: 0
Return the account chain block hashes offset by the specified number of blocks
No
"reverse"
Version 18.0+
boolean Default: false
If true, Returns a list of block hashes in the account chain starting at block up to count (direction from open block up to frontier, from older blocks to newer).
Using this method with "reverse" set as true is identical to successors
No

Sample request:

{{ samples['chain'].in_str }}

Response parameters

Parameter Type Description Present
"blocks"
Array of strings
- or -
string
If there are any blocks with the given parameters, an array of strings representing the account's block hashes will be returned.
If there are no blocks matching the parameters, an empty string "" will be returned instead.
Always

Sample response:

{{ samples['chain'].out_str }}
confirmation_active

Returns list of active elections roots in the network (excluding stopped and aborted elections).

To find information regarding a specific root, see confirmation_info.

Version 16.0+

Request parameters

Parameter Type Description Required
"action" string Always "confirmation_active". Yes
"announcements" int Default: 0
If specified, only active elections with announcements count higher than or equal to "announcements" will be returned. Useful for finding long running elections
No

Sample request:

{{ samples['confirmation_active'].in_str }}

Response parameters

Parameter Type Description Present
"confirmations" Array of strings The array of currently active election roots. Each election root is a 128 uppercase character hexadecimal string. There are two cases
  1. If this block is an open block (first block of an account), then the election root consists of 64 "0"s followed by the account's public key.
  2. For all other blocks: the election root consists of the two competing previous block hashes (each is a 64 uppercase character string).
Always

Sample response:

{{ samples['confirmation_active'].out_str }}
confirmation_height_currently_processing
Version 19.0+

Returns the hash of the block which is having the confirmation height set for, error otherwise. When a block is being confirmed, it must confirm all blocks in the chain below and iteratively follow all receive blocks. This can take a long time, so it can be useful to find which block was the original being confirmed.

This is a diagnostics method for debugging purposes only - not for production use.

Request parameters

Parameter Type Description Required
"action" string Always "confirmation_height_currently_processing". Yes

Sample request:

{{ samples['confirmation_height_currently_processing'].in_str }}

Response parameters

Parameter Type Description Present
"hash" string The block hash whose confirmation height is being set. Always

Sample response:

{{ samples['confirmation_height_currently_processing'].out_str }}
confirmation_history
Version 12.0+

Returns hash, tally weight, election duration and election confirmation timestamp for recent elections winners.

Also returns confirmation_stats:
  1. Count of elections in history (limited to 2048)
  2. Average duration time, in milliseconds

Request parameters

Parameter Type Description Required
"action" string Always "confirmation_history". Yes
"hash" string
Only the confirmation with that block hash will be returned.
No

Sample request:

{{ samples['confirmation_history'].in_str }}

Response parameters

Parameter Type Description Present
"confirmation_stats"
Version 17.0+
JSON object A JSON object containing 2 fields:
  1. "count" - the number of elections in history (up to 2048)
  2. "average" - the average duration of these elections in history (in milliseconds).
Always
"confirmations"
Array of JSON objects An array of objects each containing the details of 1 confirmation. The parameters for each object are:
  • "hash" - the block hash that was confirmed
  • "duration" - how long this block took to confirm (in milliseconds)
  • "time" - the (local) timestamp of when this confirmation took place (in seconds since epoch)
  • "tally" - the total weight, in raw, in support of this block.
Always

Sample response:

{{ samples['confirmation_history'].out_str }}
confirmation_info
Version 16.0+

Given a valid election root, returns information about that election.

Request parameters

Parameter Type Description Required
"action" string Always "confirmation_info". Yes
"root" string An election root is a 128 uppercase character hexadecimal string. There are two cases
  1. If this block is an open block (first block of an account), then the election root consists of 64 "0"s followed by the account's public key.
  2. For all other blocks: the election root consists of the two competing previous block hashes (each is a 64 uppercase character string).
Yes
"contents" boolean Default: true
If false, will not return the "contents" field of each block.
No
"json_block"
Version 19.0+
boolean Default: false
If true, the "contents" parameter will be a JSON object instead of a JSON string.
No
"representatives" boolean Default: false
If true, returns a list of votes representatives and its weights for each block.
No

Sample request:

{{ samples['confirmation_info'].in_str }}

Response parameters

Parameter Type Description Present
"confirmations" Array of strings The array of currently active election roots. Each election root is a 128 uppercase character hexadecimal string. There are two cases
  1. If this block is an open block (first block of an account), then the election root consists of 64 "0"s followed by the account's public key.
  2. For all other blocks: the election root consists of the two competing previous block hashes (each is a 64 uppercase character string).
Always

Sample response:

{{ samples['confirmation_info'].out_str }}
confirmation_quorum
Version 16.0+

Returns information about node elections settings & observed network state:

  1. delta tally required to rollback block,
  2. percentage of online weight for delta,
  3. minimum online weight to confirm block,
  4. currently observed online total weight,
  5. known peers total weight.

Request parameters

Parameter Type Description Required
"action" string Always "confirmation_quorum" Yes
"peer_details"
Version 17.0+
boolean
Default: false
If true, add account/ip/rep weight for each peer considered in the summation of peers_stake_total.
No
"peers_stake_required"
Version 19.0+
boolean
Default: false
The effective peer stake needed for quorum. Per v19, this field is computed as max(quorum_delta, online_weight_minimum)
No

Sample request:

{{ samples['confirmation_quorum'].in_str }}

Response parameters

Parameter Type Description Present
"account" string The account's public address (xrb_ or nano_ followed by 60 lowercase characters). Always

Sample response:

{{ samples['confirmation_quorum'].out_str }}
delegators
Version 8.0+

Returns a list of pairs of delegator names given account a representative and its balance.

Request parameters

Parameter Type Description Required
"action" string Always "delegators" Yes
"account" string A valid account public address. Yes

Sample request:

{{ samples['delegators'].in_str }}

Response parameters

Parameter Type Description Present
"delegators" JSON object A JSON object containing the list of delegators, and their delegated account balance. Pending balances are not included. Always

Sample response:

{{ samples['delegators'].out_str }}
delegators_count
Version 8.0+

Returns the number of delegators for a specific representative account.

Request parameters

Parameter Type Description Required
"action" string Always "delegators_count" Yes
"account" string A valid account public address (xrb_... or nano_...). Yes

Sample request:

{{ samples['delegators_count'].in_str }}

Response parameters

Parameter Type Description Present
"delegators_count" string representation of integer A JSON object containing the list of delegators_count, and their delegated account balance. Pending balances are not included. Always

Sample response:

{{ samples['delegators_count'].out_str }}
deterministic_key

Derive deterministic keypair from a seed based on an index.

Request parameters

Parameter Type Description Required
"action" string Always "deterministic_key". Yes
"seed" string A valid NANO seed (64 uppercase character hexadecimal string). Yes
"index" uint128 Account index for which the keypair is to be generated. Yes

Sample request:

{{ samples['deterministic_key'].in_str }}

Response parameters

Parameter Type Description Present
"private" string The private key of this account (64 uppercase character hexadecimal string). Always
"public" string The public key of this account (64 uppercase character hexadecimal string). Always
"account" string The account's public address (xrb_... or nano_...), deterministically generated from the public key. Always

Sample response:

{{ samples['deterministic_key'].out_str }}
frontier_count

Returns the total number of accounts in the ledger.

Request parameters

Parameter Type Description Required
"action" string Always "frontier_count" Yes

Sample request:

{{ samples['frontier_count'].in_str }}

Response parameters

Parameter Type Description Present
"frontier_count" string representation of integer The total number of accounts in the ledger. Always

Sample response:

{{ samples['frontier_count'].out_str }}
frontiers

Returns a list of pairs of account and block hash representing the head block starting at account up to count.

Request parameters

Parameter Type Description Required
"action" string Always "frontiers" Yes
"action" string A valid account public address (xrb_... or nano_...). Yes
"action" uint The number of account/frontier blocks to return. Yes

Sample request:

{{ samples['frontiers'].in_str }}

Response parameters

Parameter Type Description Present
"frontiers" JSON object A JSON object containing account/frontier block pairs. Always

Sample response:

{{ samples['frontiers'].out_str }}
key_create

Generates a random private/public keypair using the account seed.

Request parameters

Parameter Type Description Required
"action" string Always "key_create" Yes

Sample request:

{{ samples['key_create'].in_str }}

Response parameters

Parameter Type Description Present
"private" string The private key of this account (64 uppercase character hexadecimal string). Always
"public" string The public key of this account (64 uppercase character hexadecimal string). Always
"account" string The account's public address (xrb_... or nano_...), deterministically generated from the public key. Always

Sample response:

{{ samples['key_create'].out_str }}
key_expand

Deterministically derive the public key and account number from a private key.

Request parameters

Parameter Type Description Required
"action" string Always "key_expand" Yes
"key" string A valid private key (64 uppercase character hexadecimal). Yes

Sample request:

{{ samples['key_expand'].in_str }}

Response parameters

Parameter Type Description Present
"private" string The private key of this account (64 uppercase character hexadecimal string) - same as the request parameter "key". Always
"public" string The public key of this account (64 uppercase character hexadecimal string). Always
"account" string The account's public address (xrb_... or nano_...), deterministically generated from the public key. Always

Sample response:

{{ samples['key_expand'].out_str }}
ledger

Returns frontier, open block, change representative block, balance, last modified timestamp from the local database & block count starting at account up to count. Includes unconfirmed blocks.

Request parameters

Parameter Type Description Required
"action" string Always "ledger" Yes
"account" string A valid account public address (xrb_... or nano_...). Yes
"count" unsigned integer
The number of blocks to consider.
Yes

Sample request:

{{ samples['ledger'].in_str }}

Response parameters

Parameter Type Description Present
"accounts" JSON object Contains the account public addresses as well as their details:
  • frontier block - the latest block in this account's chain
  • open block - the earliest block in this account's chain
  • change representative block
  • balance (in raw.
  • last modified timestamp (in seconds since epoch)
  • block count starting at account up to count.
Always

Sample response:

{{ samples['ledger'].out_str }}
pending

Returns a list of block hashes which have not yet been received by this account.

Request parameters

Parameter Type Description Required
"action" string Always "pending" Yes
"account" string A valid account public address (xrb_... or nano_...) Yes
"count" unsigned integer Default: -1
The maximum number of block hashes to return. If unspecified, all pending block hashes will be returned.
Note: API additionally limits this to a maximum of 1,000 block hashes per query.
Yes
"threshold"
Version 8.0+
uint128 If specified, only those pending blocks with "amount" greater than or equal to "threshold" will be returned. No
"source"
Version 9.0+
boolean Default: false
If set to true, the source account for each pending block will be included in the response.
No
"include_active"
Version 15.0+
boolean Default: false
If set to true, active blocks (which are still being confirmed), will in included in the response.
No
"sorting"
Version 19.0+
boolean Default: false
If set to true, the response blocks will be sorted by their amounts, in descending order.
No
"include_only_confirmed"
Version 19.0+
boolean Default: false
If set to true, only blocks with a set confirmation height, or those currently undergoing confirmation height processing, will be returned.
No

Sample request:

{{ samples['pending'].in_str }}

Response parameters

Parameter Type Description Present
"blocks"
string array
- or -
JSON object
Depending on the request parameters, "blocks" will either be a string array of a JSON object.
If "threshold" and "source" are both false or not set, "blocks" will be a string array containing all the block hashes not yet received by this account. E.g.
{    
    "blocks" : [
        "000D...9F3F", 
        "5DAB...889B" 
    ]
}
If "threshold" is true but "source" is either false or unset, "blocks" will be a JSON object, with the pending block hashes as properties, and their respective amounts as values. E.g.
{    
    "blocks" : {
        "000D...9F3F": "600000000000000", 
        "5DAB...889B": "1000000000000000000"
    }
}
If both "threshold" and "source" are true, then "blocks" will be also be a JSON object, with both amounts and source accounts as values. E.g.
{    
    "blocks" : {
        "000D...9F3F": {
            "amount": "600000000000000", 
            "source": "xrb_3dcf...8mbr"
        },
        "5DAB...889B": {
            "amount": "1000000000000000000",
            "source": "xrb_1abf...5fcc"
        }
    }
}
Always
pending_exists
Version 8.0+

For a given block hash, check if the block is pending.

Request parameters

Parameter Type Description Required
"action" string Always "pending_exists" Yes
"hash" string The hash of the block for which we want to check the pending status of. 64 uppercase character hexadecimal string. Yes
"include_active"
Version 15.0+
boolean
Default: false
If set to true, active blocks (which are still undergoing confirmation), will also be considered.
No
"include_only_confirmed"
Version 19.0+
boolean
Default: false
If set to true, only blocks with a set confirmation height, or are undergoing confirmation height processing, will be considered.
No

Sample request:

{{ samples['pending_exists'].in_str }}

Response parameters

Parameter Type Description Present
"exists" string representation of int "1" if the pending block exists. Always

Sample response:

{{ samples['pending_exists'].out_str }}
process

Publish a block to the network.

Request parameters

Parameter Type Description Required
"action" string Always "process" Yes
"block"
JSON string
- or -
JSON object

A valid JSON string representation of a block. Please see block_create for documentation regarding valid block structures.

If "json_block" is true, a JSON object will be expected instead of a JSON string.

Yes
"force"
Version 13.1+
boolean
Default: false
If set to true, manually forces fork resolution if the processed block is not accepted as a fork.
No
"subtype"
Version 18.0+
string
Default: ""
Additional check for state blocks subtype (send/receive/open/change/epoch). I.e. prevent accidental sending to incorrect accounts instead of receiving pending blocks
No
"json_block"
Version 19.0+
boolean
Default: false
If set to true, "block" must be a JSON object rather than a JSON string.
No

Sample request:

{{ samples['process'].in_str }}

Response parameters

Parameter Type Description Present
"hash" string The block hash: 64 uppercase character hexadecimal string. Always

Sample response:

{{ samples['process'].out_str }}
representatives

Returns a list of representatives and their respective voting weights (in raw), in alphabetical order.

Request parameters

Parameter Type Description Required
"action" string Always "representatives" Yes
"count"
Version 9.0+
unsigned integer Returns the first "count" representatives when ordered alphabetically. Yes
"sorting"
Version 9.0+
boolean
Default: false
If set to true, the representatives will be returned in descending order of their voting weight, and the "count" will be ignored.
No

Sample request:

{{ samples['representatives'].in_str }}

Response parameters

Parameter Type Description Present
"representatives" JSON object A JSON object containing the representative accounts and their voting weights, in raw. Always

Sample response:

{{ samples['representatives'].out_str }}
representatives_online
Version 18.0+

Returns a list of online representative accounts that have voted recently.

Request parameters

Parameter Type Description Required
"action" string Always "representatives_online" Yes
"weight"
Version 17.0+
boolean
Default: false
Returns the voting weight for each representative, in raw.
No

Sample request:

{{ samples['representatives_online'].in_str }}

Response parameters

Parameter Type Description Present
"representatives"
string array
- or -
JSON object
If "weight" is false or not set, "representatives" will be a string array containing the online representative accounts' public addresses. E.g.
{
    "representatives" : [  
        "xrb_1111...rpda",  
        "xrb_1111...tecn",  
        "xrb_114n...r1xi"  
        ...
    ]
}
If "weight" is true, "representatives" will be a JSON object containing the online representative accounts' public addresses and their voting weight, in raw. E.g.
{
    "representatives" : {
        "xrb_114n...r1xi": {
            "weight": "1504"
        }
    }
}
Always
republish

Rebroadcast all blocks starting with "hash" to the network.

Request parameters

Parameter Type Description Required
"action" string Always "republish" Yes
"hash" string The first block to republish to the network. 64 uppercase character hexadecimal string. Yes
"sources"
Version 8.0+
integer
Default: false
If set to true, additionally rebroadcast source chain blocks for receive/open up to "sources" depth.
No
"destinations"
Version 8.0+
integer
Default: false
If set to true, additionally rebroadcast destination chain blocks from receive up to "destinations" depth.
No

Sample request:

{{ samples['republish'].in_str }}

Response parameters

Parameter Type Description Present
"blocks" string array Array of republished block hashes, starting with "hash". Always

Sample response:

{{ samples['republish'].out_str }}
sign
Version 18.0+

Sign a block using either a private key, or a wallet ID and account public address.

Request parameters

Parameter Type Description Required
"action" string Always "sign" Yes
"block"
string
- or -
JSON object
A JSON string representation of a valid block to be signed. For documentation on valid blocks, please see block_content.
If "json_block" is set to true, then a JSON object is expected for this parameter instead of a JSON string.
Yes
"json_block"
Version 19.0+
integer
Default: false
If set to true, a JSON object will be expected for "block", instead of a JSON string. A JSON block will also be returned.
No

Sample request:

{{ samples['sign'].in_str }}

Response parameters

Parameter Type Description Present
"signature" string The 128 uppercase hexadecimal signature of this block. Always
"block"
JSON string
- or -
JSON object
A JSON string representation of the request parameter "block". Will be identical to the request parameter except for the "signature" parameter which will be replaced by the new signature.
If "json_block" is set to true, a JSON object will be returned instead.
Always

Sample response:

{{ samples['sign'].out_str }}
stats
Version 12.2+

Returns the statistics.

Sample request type: counters

{{ samples['stats'].in_str }}

Sample response:

{{ samples['stats'].out_str }}

Sample request type: samples

{{ samples['stats'].in_samples_str }}

Sample response:

{{ samples['stats'].out_samples_str }}

Sample request type: objects

{{ samples['stats'].in_objects_str }}

Sample response:

{{ samples['stats'].out_objects_str }}
successors

Returns a consecutive list of "count" block hashes in the account chain starting with "block" (direction can be specified to be either from the frontier back to the open block, or from newer blocks to older).

In the NANO node RPC, if "count" is set to -1, all blocks back to the open block of this chain will be returned. However, this API imposes an additional limit of maximum 1000 block hashes will be returned in a single query.

The requested block hash is included in the answer.

Request parameters

Parameter Type Description Required
"action" string Always "successors" Yes
"block" string The hash of the first block to return. This block will be included in the array of returned blocks. Yes
"count" int Default: -1
The number of block hashes to return. If not specified, will return up to 1,000 blocks.
No
"offset" int Default: 0
Return the account block hashes offset by the specified number of blocks
No
"reverse" boolean Default: false
If true, Returns a list of block hashes in the account chain starting at block up to count (direction from frontier block up to open block, from newer blocks to older).
Using this method with "reverse" set as true is identical to chain
No

Sample request:

{{ samples['successors'].in_str }}

Response parameters

Parameter Type Description Present
"blocks"
Array of strings
- or -
string
If there are any blocks with the given parameters, an array of strings representing the account's block hashes will be returned.
If there are no blocks matching the parameters, an empty string "" will be returned instead.
Always

Sample response:

{{ samples['successors'].out_str }}
unchecked
Version 8.0+

Returns a list of pairs of unchecked synchronizing block hash and its json representation up to count

Request parameters

Parameter Type Description Required
"action" string Always "unchecked" Yes
"count" integer
Default: -1
The number of unchecked blocks to ne returned. If unspecified or set to -1 or 0, all unchecked blocks will be returned.
Note: API limits the maximum number of returned blocks to 1,000 per request.
No

Sample request:

{{ samples['unchecked'].in_str }}

Response parameters

Parameter Type Description Present
"blocks" JSON object A JSON object containing all unchecked block hashes and their block information. See block_content for details on how a block is structured. Always

Sample response:

{{ samples['unchecked'].out_str }}
unchecked_clear
Version 8.0+

Clears all unchecked synchronizing blocks

Request parameters

Parameter Type Description Required
"action" string Always "unchecked_clear" Yes

Sample request:

{{ samples['unchecked_clear'].in_str }}

Response parameters

Parameter Type Description Present
"success" string "" Always

Sample response:

{{ samples['unchecked_clear'].out_str }}
unchecked_get
Version 8.0+

Retrieves a json representation of unchecked synchronizing block by hash.

Request parameters

Parameter Type Description Required
"action" string Always "unchecked_get" Yes
"hash" string The hash of the unchecked block to retrieve. 60 uppercase character hexadecimal string. Yes

Sample request:

{{ samples['unchecked_get'].in_str }}

Response parameters

Parameter Type Description Present
"contents" string A JSON string representation of the block contents. Please see block_create Always

Sample response:

{{ samples['unchecked_get'].out_str }}
unchecked_keys
Version 8.0+

Retrieves unchecked database keys, blocks hashes & a json representations of unchecked pending blocks starting from key up to count.

Request parameters

Parameter Type Description Required
"action" string Always "unchecked_keys" Yes
"key" string A valid database key Yes
"count" integer
Default: false
The number of unchecked database keys to return. If unspecified or -1, all unchecked keys will be returned.
Note: API imposes an additional limit of maximum 1,000 returned entries per request.
No

Sample request:

{{ samples['unchecked_keys'].in_str }}

Response parameters

Parameter Type Description Present
"contents" string A JSON string representation of the block contents. Please see block_create Always

Sample response:

{{ samples['unchecked_keys'].out_str }}
unopened
Version 19.0+

Returns the total pending balance for unopened accounts in the local database, starting at "account" up to "count", sorted alphabetically by account public address. By default, the returned value will exclude the burn account.

Request parameters

Parameter Type Description Required
"action" string Always "unopened" Yes
"account" string The account which the response should start with. Must be valid account public address that is unopened. No
"count" integer
The number of accounts to be returned.
API limit: up to 1,000 accounts will be returned with a single query.
No
"threshold" uint128
Default: 0
If specified, only accounts with total pending balance, in raw, above "threshold" will be returned.
No

Sample request:

{{ samples['unopened'].in_str }}

Response parameters

Parameter Type Description Present
"accounts" JSON object A JSON object containing a list of account public addresses, and their pending balances in raw. Always

Sample response:

{{ samples['unopened'].out_str }}
uptime

Returns the node uptime, in seconds.

Request parameters

Parameter Type Description Required
"action" string Always "uptime" Yes

Sample request:

{{ samples['uptime'].in_str }}

Response parameters

Parameter Type Description Present
"seconds" string representation of integer The node uptime, in seconds. Always

Sample response:

{{ samples['uptime'].out_str }}
validate_account_number

Check whether account is a valid account address using 8 character checksum at the end of the address.

An NANO address consists of 3 parts:
  1. The prefix: either xrb_ or nano_
  2. The encoded account public key: a 52-character string encoding of the account's public key
  3. The checksum: a 8-character checksum determined by the encoded public key

Request parameters

Parameter Type Description Required
"action" string Always "validate_account_number" Yes
"block" string The hash of the first block to return. This block will be included in the array of returned blocks. Yes

Sample request:

{{ samples['validate_account_number'].in_str }}

Response parameters

Parameter Type Description Present
"valid" integer "1" if the account is valid, "0" otherwise. Always

Sample response:

{{ samples['validate_account_number'].out_str }}
version
Returns:
  1. The RPC version (always "1" as of 01/11/2018)
  2. The Store version
  3. The Protocol (network) version
  4. Node (Major & Minor version)

Request parameters

Parameter Type Description Required
"action" string Always "version" Yes

Sample request:

{{ samples['version'].in_str }}

Response parameters

Parameter Type Description Present
"rpc_version" integer The RPC version (always "1" as of 01/11/2018) Always
"store_version" integer The store version Always
"protocol_version" integer The protocol version Always
"node_vendor" integer The node vendor Always

Sample response:

{{ samples['version'].out_str }}
work_cancel

Stop generating work for a given block.

Request parameters

Parameter Type Description Required
"hash" string The hash of the block for which to stop generating work. 64 uppercase character hexadecimal string. Yes

Sample request:

{{ samples['work_cancel'].in_str }}

Sample response:

{{ samples['work_cancel'].out_str }}
work_generate

Generates work for a given block.

Request parameters

Parameter Type Description Required
"action" string Always "work_generate" Yes
"hash" string
If this block is an open block, "hash" will be the public key of the account publishing the block. An account's public key is a 64 uppercase character hexadecimal string, and can be found with account_get.
If this is not a open block, then "hash" will be the frontier of the account publishing the block. (The last block in the account's chain).
Yes
"use_peers"
Version 14.0+
boolean
Default: false
If true, then the node will query its work peers (if it has any). Without this parameter, the node will only generate work locally.
No
"difficulty"
Version 19.0+
string The difficulty value (16 character hexadecimal string). If specified, will generate work with this difficulty value. No

Sample request:

{{ samples['work_generate'].in_str }}

Response parameters

Parameter Type Description Present
"work" string The Proof-of-Work - a 16 character hexadecimal string. Always
"difficulty" string The difficulty level of this Proof-of-Work. 16 character hexadecimal string. Always
"multiplier" decimal The "difficulty" multiplier over the baseline difficulty. Always

Sample response:

{{ samples['work_generate'].out_str }}
work_peer_add
Version 8.0+

Add specific IP address and port as a work peer for node until restart.

Request parameters

Parameter Type Description Required
"action" string Always "work_peer_add" Yes
"address" string The IP address of the work peer to be added. Yes
"port" string The port of the work peer to be added. Yes

Sample request:

{{ samples['work_peer_add'].in_str }}

Response parameters

Parameter Type Description Present
"success" string Always "" Always

Sample response:

{{ samples['work_peer_add'].out_str }}
work_peers
Version 8.0+

Add specific IP address and port as a work peer for node until restart.

Request parameters

Parameter Type Description Required
"action" string Always "work_peers" Yes

Sample request:

{{ samples['work_peers'].in_str }}

Response parameters

Parameter Type Description Present
"work_peers" Array of strings The IP addresses and ports of this node's work peers. Always

Sample response:

{{ samples['work_peers'].out_str }}
work_peers_clear
Version 8.0+

Clear work peers node list, until restart.

Request parameters

Parameter Type Description Required
"action" string Always "work_peers_clear" Yes

Sample request:

{{ samples['work_peers_clear'].in_str }}

Response parameters

Parameter Type Description Present
"success" string "" Always

Sample response:

{{ samples['work_peers_clear'].out_str }}
work_validate
Version 8.0+

Check whether work is valid for a given block.

Request parameters

Parameter Type Description Required
"work" string The Proof-of-Work (16 character hexadecimal string). Yes
"hash" string The hash of the block for which the work was generated (64 uppercase character hexadecimal string). Yes
"difficulty" string The difficulty level of this Proof-of-Work (16 character hexadecimal string). No

Sample request:

{{ samples['work_validate'].in_str }}

Response parameters

Parameter Type Description Present
"valid" string representation of integer "1" if provided work is valid given the "hash" and "difficulty" level (optional). "0" if invalid. Always
"difficulty" string The difficulty level of the Proof-of-Work. Always
"multiplier" string The work's difficulty level over the baseline difficulty. Always

Sample response:

{{ samples['work_validate'].out_str }}
Request
Response
Request JSON
Response JSON