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.
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:Constant Value (hex) Value (dec) Enables COMMAND_RPC_GET_INFO_FLAG_POS_DIFFICULTY0x0000000000000001 1 pos_difficultyCOMMAND_RPC_GET_INFO_FLAG_POW_DIFFICULTY0x0000000000000002 2 pow_difficultyCOMMAND_RPC_GET_INFO_FLAG_NET_TIME_DELTA_MEDIAN0x0000000000000004 4 net_time_delta_medianCOMMAND_RPC_GET_INFO_FLAG_CURRENT_NETWORK_HASHRATE_500x0000000000000008 8 current_network_hashrate_50COMMAND_RPC_GET_INFO_FLAG_CURRENT_NETWORK_HASHRATE_3500x0000000000000010 16 current_network_hashrate_350COMMAND_RPC_GET_INFO_FLAG_SECONDS_FOR_10_BLOCKS0x0000000000000020 32 seconds_for_10_blocksCOMMAND_RPC_GET_INFO_FLAG_SECONDS_FOR_30_BLOCKS0x0000000000000040 64 seconds_for_30_blocksCOMMAND_RPC_GET_INFO_FLAG_TRANSACTIONS_DAILY_STAT0x0000000000000080 128 transactions_cnt_per_day,transactions_volume_per_dayCOMMAND_RPC_GET_INFO_FLAG_LAST_POS_TIMESTAMP0x0000000000000100 256 last_pos_timestampCOMMAND_RPC_GET_INFO_FLAG_LAST_POW_TIMESTAMP0x0000000000000200 512 last_pow_timestampCOMMAND_RPC_GET_INFO_FLAG_TOTAL_COINS0x0000000000000400 1024 total_coins,block_reward,last_block_total_reward,pos_diff_total_coins_rateCOMMAND_RPC_GET_INFO_FLAG_LAST_BLOCK_SIZE0x0000000000000800 2048 last_block_sizeCOMMAND_RPC_GET_INFO_FLAG_TX_COUNT_IN_LAST_BLOCK0x0000000000001000 4096 tx_count_in_last_blockCOMMAND_RPC_GET_INFO_FLAG_POS_SEQUENCE_FACTOR0x0000000000002000 8192 pos_sequence_factorCOMMAND_RPC_GET_INFO_FLAG_POW_SEQUENCE_FACTOR0x0000000000004000 16384 pow_sequence_factorCOMMAND_RPC_GET_INFO_FLAG_OUTS_STAT0x0000000000008000 32768 outs_statCOMMAND_RPC_GET_INFO_FLAG_PERFORMANCE0x0000000000010000 65536 performance_data,tx_pool_performance_dataCOMMAND_RPC_GET_INFO_FLAG_POS_BLOCK_TS_SHIFT_VS_ACTUAL0x0000000000020000 131072 pos_block_ts_shift_vs_actualCOMMAND_RPC_GET_INFO_FLAG_MARKET0x0000000000040000 262144 offers_countCOMMAND_RPC_GET_INFO_FLAG_EXPIRATIONS_MEDIAN0x0000000000080000 524288 expiration_median_timestampCOMMAND_RPC_GET_INFO_FLAG_ALL_FLAGS0xffffffffffffffff 18446744073709551615 everything above Note that some fields require more than one bit to be set: for example
block_rewardis only calculated when bothCOMMAND_RPC_GET_INFO_FLAG_POS_DIFFICULTYandCOMMAND_RPC_GET_INFO_FLAG_TOTAL_COINSare present. The4325375value 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.
OKif the request has been processed successfully, otherwise an error string such asBUSY(the core is not ready yet) orFAILED. - 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
extrafield. - 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.