Skip to main content

getinfo

Returns general information about the state of the node and the blockchain: current height, difficulties, connection counters, fees, tx pool size and a number of optional statistics that are only computed when explicitly requested through the flags bitmask.

info

getinfo is also reachable as a legacy plain-HTTP endpoint at POST /getinfo (same handler, same request/response shape, but without the JSON-RPC jsonrpc/method/id envelope — just POST the params object shown below as the request body).

Request

{
"jsonrpc": "2.0",
"id": 0,
"method": "getinfo",
"params": {
"flags": 4325375
}
}

Request parameters

  • flags - unsigned int; bitmask selecting which optional (expensive to compute) fields the daemon should calculate and include in the response. Bits may be combined with a bitwise OR. If omitted or 0, only the cheap "always present" fields are filled in and the optional ones are returned as zero. Available bits:

    ConstantValue (hex)Value (dec)Enables
    COMMAND_RPC_GET_INFO_FLAG_POS_DIFFICULTY0x00000000000000011pos_difficulty
    COMMAND_RPC_GET_INFO_FLAG_POW_DIFFICULTY0x00000000000000022pow_difficulty
    COMMAND_RPC_GET_INFO_FLAG_NET_TIME_DELTA_MEDIAN0x00000000000000044net_time_delta_median
    COMMAND_RPC_GET_INFO_FLAG_CURRENT_NETWORK_HASHRATE_500x00000000000000088current_network_hashrate_50
    COMMAND_RPC_GET_INFO_FLAG_CURRENT_NETWORK_HASHRATE_3500x000000000000001016current_network_hashrate_350
    COMMAND_RPC_GET_INFO_FLAG_SECONDS_FOR_10_BLOCKS0x000000000000002032seconds_for_10_blocks
    COMMAND_RPC_GET_INFO_FLAG_SECONDS_FOR_30_BLOCKS0x000000000000004064seconds_for_30_blocks
    COMMAND_RPC_GET_INFO_FLAG_TRANSACTIONS_DAILY_STAT0x0000000000000080128transactions_cnt_per_day, transactions_volume_per_day
    COMMAND_RPC_GET_INFO_FLAG_LAST_POS_TIMESTAMP0x0000000000000100256last_pos_timestamp
    COMMAND_RPC_GET_INFO_FLAG_LAST_POW_TIMESTAMP0x0000000000000200512last_pow_timestamp
    COMMAND_RPC_GET_INFO_FLAG_TOTAL_COINS0x00000000000004001024total_coins, block_reward, last_block_total_reward, pos_diff_total_coins_rate
    COMMAND_RPC_GET_INFO_FLAG_LAST_BLOCK_SIZE0x00000000000008002048last_block_size
    COMMAND_RPC_GET_INFO_FLAG_TX_COUNT_IN_LAST_BLOCK0x00000000000010004096tx_count_in_last_block
    COMMAND_RPC_GET_INFO_FLAG_POS_SEQUENCE_FACTOR0x00000000000020008192pos_sequence_factor
    COMMAND_RPC_GET_INFO_FLAG_POW_SEQUENCE_FACTOR0x000000000000400016384pow_sequence_factor
    COMMAND_RPC_GET_INFO_FLAG_OUTS_STAT0x000000000000800032768outs_stat
    COMMAND_RPC_GET_INFO_FLAG_PERFORMANCE0x000000000001000065536performance_data, tx_pool_performance_data
    COMMAND_RPC_GET_INFO_FLAG_POS_BLOCK_TS_SHIFT_VS_ACTUAL0x0000000000020000131072pos_block_ts_shift_vs_actual
    COMMAND_RPC_GET_INFO_FLAG_MARKET0x0000000000040000262144offers_count
    COMMAND_RPC_GET_INFO_FLAG_EXPIRATIONS_MEDIAN0x0000000000080000524288expiration_median_timestamp
    COMMAND_RPC_GET_INFO_FLAG_ALL_FLAGS0xffffffffffffffff18446744073709551615everything above

    Note that some fields require more than one bit to be set: for example block_reward is only calculated when both COMMAND_RPC_GET_INFO_FLAG_POS_DIFFICULTY and COMMAND_RPC_GET_INFO_FLAG_TOTAL_COINS are present. The 4325375 value used in the example above enables the commonly used subset of statistics.


Response

{
"id": 0,
"jsonrpc": "2.0",
"result": {
"alias_count": 1241,
"alt_blocks_count": 0,
"block_reward": 1000000000000,
"current_blocks_median": 125000,
"current_max_allowed_block_size": 250000,
"current_network_hashrate_350": 0,
"current_network_hashrate_50": 0,
"daemon_network_state": 2,
"default_fee": 10000000000,
"expiration_median_timestamp": 0,
"grey_peerlist_size": 351,
"height": 2116212,
"incoming_connections_count": 3,
"last_block_hash": "93e27dcc1cf28962fe38561f09719a20766df0a888d57700ea1a86be9f605256",
"last_block_size": 0,
"last_block_timestamp": 1684684006,
"last_block_total_reward": 1000000000000,
"last_pos_timestamp": 0,
"last_pow_timestamp": 0,
"max_net_seen_height": 2116208,
"mi": {
"build_no": 121,
"mode": 0,
"ver_major": 1,
"ver_minor": 2,
"ver_revision": 0
},
"minimum_fee": 10000000000,
"net_time_delta_median": 0,
"offers_count": 0,
"outgoing_connections_count": 8,
"outs_stat": {
"amount_0_001": 0,
"amount_0_01": 0,
"amount_0_1": 0,
"amount_1": 0,
"amount_10": 0,
"amount_100": 0,
"amount_1000": 0,
"amount_10000": 0,
"amount_100000": 0,
"amount_1000000": 0
},
"performance_data": {
"all_txs_insert_time_5": 0,
"block_processing_time_0": 0,
"block_processing_time_1": 0,
"etc_stuff_6": 0,
"insert_time_4": 0,
"longhash_calculating_time_3": 0,
"map_size": 0,
"raise_block_core_event": 0,
"target_calculating_calc": 0,
"target_calculating_enum_blocks": 0,
"target_calculating_time_2": 0,
"tx_add_one_tx_time": 0,
"tx_append_is_expired": 0,
"tx_append_rl_wait": 0,
"tx_append_time": 0,
"tx_check_exist": 0,
"tx_check_inputs_attachment_check": 0,
"tx_check_inputs_loop": 0,
"tx_check_inputs_loop_ch_in_val_sig": 0,
"tx_check_inputs_loop_kimage_check": 0,
"tx_check_inputs_loop_scan_outputkeys_get_item_size": 0,
"tx_check_inputs_loop_scan_outputkeys_loop": 0,
"tx_check_inputs_loop_scan_outputkeys_loop_find_tx": 0,
"tx_check_inputs_loop_scan_outputkeys_loop_get_subitem": 0,
"tx_check_inputs_loop_scan_outputkeys_loop_handle_output": 0,
"tx_check_inputs_loop_scan_outputkeys_relative_to_absolute": 0,
"tx_check_inputs_prefix_hash": 0,
"tx_check_inputs_time": 0,
"tx_count": 0,
"tx_mixin_count": 0,
"tx_prapare_append": 0,
"tx_print_log": 0,
"tx_process_attachment": 0,
"tx_process_extra": 0,
"tx_process_inputs": 0,
"tx_push_global_index": 0,
"tx_store_db": 0,
"writer_tx_count": 0
},
"pos_allowed": true,
"pos_block_ts_shift_vs_actual": 0,
"pos_diff_total_coins_rate": 0,
"pos_difficulty": "2091093243540034788799",
"pos_sequence_factor": 0,
"pow_difficulty": 7499957992531,
"pow_sequence_factor": 0,
"seconds_for_10_blocks": 0,
"seconds_for_30_blocks": 0,
"status": "OK",
"synchronization_start_height": 2116099,
"synchronized_connections_count": 11,
"total_coins": "2116212000000000000",
"transactions_cnt_per_day": 0,
"transactions_volume_per_day": 0,
"tx_count": 557235,
"tx_count_in_last_block": 0,
"tx_pool_performance_data": {
"begin_tx_time": 0,
"check_inputs_time": 0,
"check_inputs_types_supported_time": 0,
"check_keyimages_ws_ms_time": 0,
"db_commit_time": 0,
"expiration_validate_time": 0,
"tx_processing_time": 0,
"update_db_time": 0,
"validate_alias_time": 0,
"validate_amount_time": 0
},
"tx_pool_size": 1,
"white_peerlist_size": 21
}
}

Response information

  • alias_count — unsigned int; number of total aliases registered.
  • alt_blocks_count — unsigned int; number of alternative blocks known to this node.
  • block_reward — unsigned int; base block reward for the next block (excluding fees and txs size penalty). Calculated only if both COMMAND_RPC_GET_INFO_FLAG_POS_DIFFICULTY and COMMAND_RPC_GET_INFO_FLAG_TOTAL_COINS flags are present.
  • current_blocks_median — unsigned int; median of cumulative block sizes for the recent N blocks.
  • current_max_allowed_block_size — unsigned int; maximum allowed cumulative size of a block in bytes.
  • current_network_hashrate_350 — unsigned int; network hashrate calculated by difficulty within a window of the last 350 blocks. Calculated only if COMMAND_RPC_GET_INFO_FLAG_CURRENT_NETWORK_HASHRATE_350 flag is present.
  • current_network_hashrate_50 — unsigned int; the same as above for last 50 blocks. Calculated only if COMMAND_RPC_GET_INFO_FLAG_CURRENT_NETWORK_HASHRATE_50 flag is present.
  • daemon_network_state — unsigned int; current daemon state. Possible values and their meaning:
    daemon_network_state_connecting = 0,
    daemon_network_state_synchronizing = 1,
    daemon_network_state_online = 2,
    daemon_network_state_loading_core = 3,
    daemon_network_state_internal_error = 4,
    daemon_network_state_unloading_core = 5
  • default_fee — unsigned int; current default fee.
  • expiration_median_timestamp — unsigned int; the current transaction expiration median, i.e. the median timestamp of the most recent blocks that is used by the core as the reference point when validating the expiration time of a transaction. Calculated only if COMMAND_RPC_GET_INFO_FLAG_EXPIRATIONS_MEDIAN flag is present.
  • grey_peerlist_size — unsigned int; number of peers in the gray list (these are peers received from another node and this node has not yet attempted to connect to them).
  • height — unsigned int; number of blocks in the main chain.
  • incoming_connections_count — unsigned int; number of incoming P2P connections.
  • last_block_hash — string; hex-encoded identifier (hash) of the top block of the main chain.
  • last_block_size — unsigned int; cumulative size of the last block. Returned only if COMMAND_RPC_GET_INFO_FLAG_LAST_BLOCK_SIZE flag is present.
  • last_block_timestamp — unsigned int; UNIX timestamp recorded in the header of the top block of the main chain.
  • last_block_total_reward — unsigned int; actual reward for the last block. Calculated only if both COMMAND_RPC_GET_INFO_FLAG_POS_DIFFICULTY and COMMAND_RPC_GET_INFO_FLAG_TOTAL_COINS flags are present.
  • last_pos_timestamp — unsigned int; timestamp of the last PoS block in the main chain. Calculated only if COMMAND_RPC_GET_INFO_FLAG_LAST_POS_TIMESTAMP flag is present.
  • last_pow_timestamp — unsigned int; timestamp of the last PoW block in the main chain. Calculated only if COMMAND_RPC_GET_INFO_FLAG_LAST_POW_TIMESTAMP flag is present.
  • max_net_seen_height — unsigned int; size of the longest chain among this node’s peers.
  • mi — object; the last received maintainer info message with recommended build versions from project maintainers. See below detailed description of maintainers_info_external object.
  • minimum_fee — unsigned int; current tx fee minimum required by tx pool.
  • net_time_delta_median — signed int; median of system time differences among this node’s peers. Calculated only if COMMAND_RPC_GET_INFO_FLAG_NET_TIME_DELTA_MEDIAN flag is present.
  • offers_count — unsigned int; total number of market offers known to this node. Calculated only if COMMAND_RPC_GET_INFO_FLAG_PERFORMANCE flag is present and no --disable-market CLI option was specified.
  • outgoing_connections_count — unsigned int; number of outgoing P2P connections.
  • outs_stat — object; brief statistics of the decomposed output index — how many outputs of each standard denomination exist in the blockchain. Calculated only if COMMAND_RPC_GET_INFO_FLAG_OUTS_STAT flag is present. See below the detailed description of the outs_index_stat object.
  • performance_data — object; internal block/transaction processing timings collected by the core, useful for profiling and diagnostics. Calculated only if COMMAND_RPC_GET_INFO_FLAG_PERFORMANCE flag is present. See below the detailed description of the bc_performance_data object.
  • pos_allowed — boolean; false if PoS blocks cannot be accepted yet, otherwise — true.
  • pos_block_ts_shift_vs_actual — signed int; the difference between the block timestamp and actual block timestamp for the last PoS block in the main chain. Calculated only if COMMAND_RPC_GET_INFO_FLAG_POS_BLOCK_TS_SHIFT_VS_ACTUAL flag is present.
  • pos_diff_total_coins_rate — unsigned int; current ratio of PoS difficulty to total coins mined. Calculated only if both COMMAND_RPC_GET_INFO_FLAG_POS_DIFFICULTY and COMMAND_RPC_GET_INFO_FLAG_TOTAL_COINS flags are present.
  • pos_difficulty — unsigned int; difficulty for the next PoS block.
  • pos_sequence_factor — unsigned int; size of a continuous sequence of PoS blocks starting from the top block. Calculated only if COMMAND_RPC_GET_INFO_FLAG_POS_SEQUENCE_FACTOR flag is present.
  • pow_difficulty — unsigned int; difficulty for the next PoW block.
  • pow_sequence_factor — unsigned int; size of a continuous sequence of PoW blocks starting from the top block. (Required flag: COMMAND_RPC_GET_INFO_FLAG_POW_SEQUENCE_FACTOR)
  • seconds_for_10_blocks — unsigned int; timestamp difference between the top block and the 10th from the top. (Required flag: COMMAND_RPC_GET_INFO_FLAG_SECONDS_FOR_10_BLOCKS)
  • seconds_for_30_blocks — unsigned int; timestamp difference between the top block and the 30th from the top. (Required flag: COMMAND_RPC_GET_INFO_FLAG_SECONDS_FOR_30_BLOCKS)
  • status — string; call result. OK if the request has been processed successfully, otherwise an error string such as BUSY (the core is not ready yet) or FAILED.
  • synchronization_start_height — unsigned int; size of the local blockchain when the synchronization process started for the first time after daemon start.
  • synchronized_connections_count — unsigned int; number of synchronized peers.
  • total_coins — unsigned int; number of emitted coins. (Required flag: COMMAND_RPC_GET_INFO_FLAG_TOTAL_COINS)
  • transactions_cnt_per_day — unsigned int; number of non-coinbase transactions for the last 24 hours. (Required flag: COMMAND_RPC_GET_INFO_FLAG_TRANSACTIONS_DAILY_STAT)
  • transactions_volume_per_day — unsigned int; total amount of non-miner transactions for the last 24 hours. (Required flag: COMMAND_RPC_GET_INFO_FLAG_TRANSACTIONS_DAILY_STAT)
  • tx_count — unsigned int; total number of all non-coinbase transactions.
  • tx_count_in_last_block — unsigned int; number of non-coinbase transactions in the last block. (Required flag: COMMAND_RPC_GET_INFO_FLAG_TX_COUNT_IN_LAST_BLOCK)
  • tx_pool_performance_data — object; internal timings of the transaction pool, measured while the pool was validating and storing the most recent transaction. Calculated only if COMMAND_RPC_GET_INFO_FLAG_PERFORMANCE flag is present. See below the detailed description of the pool_performance_data object.
  • tx_pool_size — unsigned int; number of transactions in the tx pool.
  • white_peerlist_size — unsigned int; number of peers in the white list (total number of peers to which this node has ever been connected).

Fields of maintainers_info_external object:

  • ver_major — unsigned int; major build version from project maintainers.
  • ver_minor — unsigned int; minor build version from project maintainers.
  • ver_revision — unsigned int; revision build version from project maintainers.
  • mode — unsigned int; maintainers info message type:
    #define ALERT_TYPE_CALM 1
    #define ALERT_TYPE_URGENT 2
    #define ALERT_TYPE_CRITICAL 3

Fields of outs_index_stat object:

Each field is an unsigned int holding the total number of outputs of the given denomination that currently exist in the global output index. Denominations are expressed in whole coins.

  • amount_0_001 — number of outputs with an amount of 0.001 coins.
  • amount_0_01 — number of outputs with an amount of 0.01 coins.
  • amount_0_1 — number of outputs with an amount of 0.1 coins.
  • amount_1 — number of outputs with an amount of 1 coin.
  • amount_10 — number of outputs with an amount of 10 coins.
  • amount_100 — number of outputs with an amount of 100 coins.
  • amount_1000 — number of outputs with an amount of 1 000 coins.
  • amount_10000 — number of outputs with an amount of 10 000 coins.
  • amount_100000 — number of outputs with an amount of 100 000 coins.
  • amount_1000000 — number of outputs with an amount of 1 000 000 coins.

Fields of bc_performance_data object:

All values are unsigned ints and, unless stated otherwise, are durations in microseconds measured during the processing of the most recently handled block or transaction. They are diagnostic counters and their exact meaning may change between releases.

Block processing zone:

  • block_processing_time_0 — total time spent handling the block, measured from the very beginning of handle_block_to_main_chain.
  • block_processing_time_1 — time spent in the block handling routine after the initial checks and locks have been acquired.
  • target_calculating_time_2 — total time spent calculating the next difficulty target for the block.
  • target_calculating_enum_blocks — part of the target calculation spent enumerating the preceding blocks needed to build the difficulty window.
  • target_calculating_calc — part of the target calculation spent on the difficulty computation itself.
  • longhash_calculating_time_3 — time spent calculating the proof-of-work long hash of the block.
  • insert_time_4 — time spent inserting the block itself into the database.
  • all_txs_insert_time_5 — total time spent adding all of the block's transactions to the blockchain.
  • etc_stuff_6 — time spent on the remaining bookkeeping performed after the block has been stored.
  • raise_block_core_event — time spent notifying subscribed core event handlers about the new block.

Transaction processing zone:

  • tx_add_one_tx_time — total time spent adding a single transaction to the blockchain.
  • tx_check_inputs_time — total time spent validating the transaction inputs.
  • tx_check_inputs_prefix_hash — part of the input validation spent calculating the transaction prefix hash.
  • tx_check_inputs_attachment_check — part of the input validation spent verifying attachments.
  • tx_check_inputs_loop — total time spent in the loop over the transaction inputs.
  • tx_check_inputs_loop_kimage_check — part of the input loop spent checking key images for double spends.
  • tx_check_inputs_loop_ch_in_val_sig — part of the input loop spent verifying ring signatures.
  • tx_check_inputs_loop_scan_outputkeys_get_item_size — part of the input loop spent querying the size of an amount's output set.
  • tx_check_inputs_loop_scan_outputkeys_relative_to_absolute — part of the input loop spent converting relative output offsets to absolute global indices.
  • tx_check_inputs_loop_scan_outputkeys_loop — total time spent in the loop over the referenced output keys.
  • tx_check_inputs_loop_scan_outputkeys_loop_get_subitem — part of the output key loop spent fetching an entry from the global output index.
  • tx_check_inputs_loop_scan_outputkeys_loop_find_tx — part of the output key loop spent locating the transaction that produced the referenced output.
  • tx_check_inputs_loop_scan_outputkeys_loop_handle_output — part of the output key loop spent handling the located output.
  • tx_process_extra — time spent parsing and processing the transaction extra field.
  • tx_process_attachment — time spent processing the transaction attachments.
  • tx_process_inputs — time spent applying the transaction inputs to the database (storing key images and spent flags).
  • tx_push_global_index — time spent registering the transaction outputs in the global output index.
  • tx_check_exist — time spent checking whether the transaction is already present in the blockchain.
  • tx_append_time — total time spent appending the transaction to the pool/blockchain.
  • tx_append_rl_wait — time spent waiting for the read/write lock while appending the transaction.
  • tx_append_is_expired — time spent checking whether the transaction has expired.
  • tx_prapare_append — time spent preparing the transaction for the append operation. (Note the typo in the field name, which is kept because it matches the real JSON key.)
  • tx_print_log — time spent formatting and writing the transaction log entry.
  • tx_store_db — time spent writing the transaction into the database.
  • tx_mixin_count — not a duration; the mixin (ring size) of the last processed transaction.

Database performance data:

  • map_size — current size of the memory-mapped database file, in bytes.
  • tx_count — number of database transactions performed so far.
  • writer_tx_count — number of write database transactions performed so far.

Fields of pool_performance_data object:

All values are unsigned ints holding durations in microseconds, measured while the transaction pool was handling the most recent transaction.

  • tx_processing_time — total time spent processing the transaction in the pool.
  • check_inputs_types_supported_time — time spent checking that all input types used by the transaction are supported.
  • expiration_validate_time — time spent validating the transaction expiration time against the current expiration median.
  • validate_amount_time — time spent validating the transaction amounts and fee.
  • validate_alias_time — time spent validating the alias operation carried by the transaction, if any.
  • check_keyimages_ws_ms_time — time spent checking the transaction key images against the pool's key image set.
  • check_inputs_time — time spent validating the transaction inputs against the blockchain.
  • begin_tx_time — time spent opening the database transaction.
  • update_db_time — time spent writing the pool changes to the database.
  • db_commit_time — time spent committing the database transaction.