RPC

⚠️ Warning ⚠️

Cuprate is still experimental software.

Consider sandboxing cuprated before publicly exposing restricted RPC.

monerod's daemon RPC has 3 kinds of interfaces:

  1. JSON-RPC 2.0 methods called at the /json_rpc endpoint, e.g. get_block
  2. JSON endpoints, e.g. /get_height
  3. Binary endpoints, e.g. /get_blocks.bin

cuprated's RPC aims to mirror monerod's as much as it can. The end-goal is compatibility with common use-cases such as wallet software.

This section contains the development status of endpoints/methods in cuprated.

StatusMeaning
🟢Enabled and tested
🟣Enabled but has differences waiting to be resolved
🟠Enabled but not fully tested
Not enabled yet
Not planned to be supported

JSON-RPC methods

MethodStatusNotes
add_aux_pow
banned
calc_pow
flush_cachecuprated does not require this method
flush_txpool
generateblocks
get_alternate_chains
get_bans
get_block🟠
get_block_count🟠
get_block_header_by_hash🟠
get_block_header_by_height🟠
get_block_headers_range🟠
get_block_template
get_coinbase_tx_sum
get_connections
get_fee_estimate
get_info
get_last_block_header
get_miner_data
get_output_distribution
get_output_histogram
get_tx_ids_looseNot implemented in monerod release branch yet
get_txpool_backlog
get_version
hard_fork_info
on_get_block_hash🟠
prune_blockchain
relay_tx
set_bans
submit_block
sync_info

JSON endpoints

EndpointStatusNotes
/get_alt_blocks_hashes
/get_height🟠
/get_limit
/get_net_stats
/get_outs
/get_peer_list
/get_public_nodes
/get_transaction_pool
/get_transaction_pool_hashes
/get_transaction_pool_stats
/get_transactions
/in_peers
/is_key_image_spent
/mining_statuscuprated does not mine
/out_peers
/pop_blocks
/save_bc
/send_raw_transaction
/set_bootstrap_daemonRequires bootstrap implementation
/set_limit
/set_log_categoriesCould be re-purposed to use tracing filters
/set_log_hash_ratecuprated does not mine
/set_log_levelWill use tracing levels
/start_miningcuprated does not mine
/stop_daemon
/stop_miningcuprated does not mine
/update

Binary endpoints

EndpointStatusNotes
/get_blocks.bin
/get_blocks_by_height.bin
/get_hashes.bin
/get_output_distribution.bin
/get_output_indexes.bin
/get_outs.bin
/get_transaction_pool_hashes.bin