This is a list of the RPC calls, their inputs and outputs, and examples of each. This list is autogenerated and was last generated on: 2019-04-08
Many RPC calls use the JSON RPC interface while others use their own interfaces, as demonstrated below.
Note: "atomic units" refer to the smallest fraction of 1 BELDEX which is 1e9 atomic units.
- COMMAND_RPC_GET_BALANCE
- COMMAND_RPC_GET_ADDRESS
- COMMAND_RPC_GET_ADDRESS_INDEX
- COMMAND_RPC_CREATE_ADDRESS
- COMMAND_RPC_LABEL_ADDRESS
- COMMAND_RPC_GET_ACCOUNTS
- COMMAND_RPC_CREATE_ACCOUNT
- COMMAND_RPC_LABEL_ACCOUNT
- COMMAND_RPC_GET_ACCOUNT_TAGS
- COMMAND_RPC_TAG_ACCOUNTS
- COMMAND_RPC_UNTAG_ACCOUNTS
- COMMAND_RPC_SET_ACCOUNT_TAG_DESCRIPTION
- COMMAND_RPC_GET_HEIGHT
- COMMAND_RPC_TRANSFER
- COMMAND_RPC_TRANSFER_SPLIT
- COMMAND_RPC_DESCRIBE_TRANSFER
- COMMAND_RPC_SIGN_TRANSFER
- COMMAND_RPC_SUBMIT_TRANSFER
- COMMAND_RPC_SWEEP_DUST
- COMMAND_RPC_SWEEP_ALL
- COMMAND_RPC_SWEEP_SINGLE
- COMMAND_RPC_RELAY_TX
- COMMAND_RPC_STORE
- COMMAND_RPC_GET_PAYMENTS
- COMMAND_RPC_GET_BULK_PAYMENTS
- COMMAND_RPC_INCOMING_TRANSFERS
- COMMAND_RPC_QUERY_KEY
- COMMAND_RPC_MAKE_INTEGRATED_ADDRESS
- COMMAND_RPC_SPLIT_INTEGRATED_ADDRESS
- COMMAND_RPC_STOP_WALLET
- COMMAND_RPC_RESCAN_BLOCKCHAIN
- COMMAND_RPC_SET_TX_NOTES
- COMMAND_RPC_GET_TX_NOTES
- COMMAND_RPC_SET_ATTRIBUTE
- COMMAND_RPC_GET_ATTRIBUTE
- COMMAND_RPC_GET_TX_KEY
- COMMAND_RPC_CHECK_TX_KEY
- COMMAND_RPC_GET_TX_PROOF
- COMMAND_RPC_CHECK_TX_PROOF
- COMMAND_RPC_GET_SPEND_PROOF
- COMMAND_RPC_CHECK_SPEND_PROOF
- COMMAND_RPC_GET_RESERVE_PROOF
- COMMAND_RPC_CHECK_RESERVE_PROOF
- COMMAND_RPC_GET_TRANSFERS
- COMMAND_RPC_GET_TRANSFER_BY_TXID
- COMMAND_RPC_SIGN
- COMMAND_RPC_VERIFY
- COMMAND_RPC_EXPORT_OUTPUTS
- COMMAND_RPC_IMPORT_OUTPUTS
- COMMAND_RPC_EXPORT_KEY_IMAGES
- COMMAND_RPC_IMPORT_KEY_IMAGES
- COMMAND_RPC_MAKE_URI
- COMMAND_RPC_PARSE_URI
- COMMAND_RPC_ADD_ADDRESS_BOOK_ENTRY
- COMMAND_RPC_GET_ADDRESS_BOOK_ENTRY
- COMMAND_RPC_DELETE_ADDRESS_BOOK_ENTRY
- COMMAND_RPC_RESCAN_SPENT
- COMMAND_RPC_REFRESH
- COMMAND_RPC_START_MINING
- COMMAND_RPC_STOP_MINING
- COMMAND_RPC_GET_LANGUAGES
- COMMAND_RPC_CREATE_WALLET
- COMMAND_RPC_OPEN_WALLET
- COMMAND_RPC_CLOSE_WALLET
- COMMAND_RPC_CHANGE_WALLET_PASSWORD
- COMMAND_RPC_RESTORE_DETERMINISTIC_WALLET
- COMMAND_RPC_IS_MULTISIG
- COMMAND_RPC_PREPARE_MULTISIG
- COMMAND_RPC_MAKE_MULTISIG
- COMMAND_RPC_EXPORT_MULTISIG
- COMMAND_RPC_IMPORT_MULTISIG
- COMMAND_RPC_FINALIZE_MULTISIG
- COMMAND_RPC_EXCHANGE_MULTISIG_KEYS
- COMMAND_RPC_SIGN_MULTISIG
- COMMAND_RPC_SUBMIT_MULTISIG
- COMMAND_RPC_GET_VERSION
- COMMAND_RPC_STAKE
- COMMAND_RPC_REGISTER_MASTER_NODE
- COMMAND_RPC_REQUEST_STAKE_UNLOCK
- COMMAND_RPC_CAN_REQUEST_STAKE_UNLOCK
- COMMAND_RPC_VALIDATE_ADDRESS
Return the wallet's balance.
Endpoints: get_balance, getbalance
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"getbalance",
"params": {
"account_index": 2130706433,
"address_indices": [2130706433, ...]
}
}' -H 'Content-Type: application/json'
Example Response:
{
"balance": 123,
"unlocked_balance": 123,
"multisig_import_needed": true,
"per_subaddress": [{
"address_index": 2130706433,
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"balance": 123,
"unlocked_balance": 123,
"label": "TODO(beldex): Write example string",
"num_unspent_outputs": 123
}, ...]
}
Inputs:
account_index - uint32
: Return balance for this account.address_indices - uint32[]
: (Optional) Return balance detail for those subaddresses.
Outputs:
balance - uint64
: The total balance (atomic units) of the currently opened wallet.unlocked_balance - uint64
: Unlocked funds are those funds that are sufficiently deep enough in the beldex blockchain to be considered safe to spend.multisig_import_needed - bool
: True if importing multisig data is needed for returning a correct balance.per_subaddress - per_subaddress_info[]
: Balance information for each subaddress in an account.address_index - uint32
: Index of the subaddress in the account.address - string
: Address at this index. Base58 representation of the public keys.balance - uint64
: Balance for the subaddress (locked or unlocked).unlocked_balance - uint64
: Unlocked funds are those funds that are sufficiently deep enough in the beldex blockchain to be considered safe to spend.label - string
: Label for the subaddress.num_unspent_outputs - uint64
: Number of unspent outputs available for the subaddress.
Return the wallet's addresses for an account. Optionally filter for specific set of subaddresses.
Endpoints: get_address, getaddress
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"getaddress",
"params": {
"account_index": 2130706433,
"address_index": [2130706433, ...]
}
}' -H 'Content-Type: application/json'
Example Response:
{
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"addresses": [{
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"label": "TODO(beldex): Write example string",
"address_index": 2130706433,
"used": true
}, ...]
}
Inputs:
account_index - uint32
: Get the wallet addresses for the specified account.address_index - uint32[]
: (Optional) List of subaddresses to return from the aforementioned account.
Outputs:
address - string
: (Deprecated) Remains to be compatible with older RPC formataddresses - address_info[]
: Addresses informations.address - string
: The (sub)address string.label - string
: Label of the (sub)address.address_index - uint32
: Index of the subaddressused - bool
: True if the (sub)address has received funds before.
Get account and address indexes from a specific (sub)address.
Endpoints: get_address_index
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"get_address_index",
"params": {
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"index":
}
Inputs:
address - string
: (Sub)address to look for.
Outputs:
index - cryptonote::subaddress_index
: Account index followed by the subaddress index.
Create a new address for an account. Optionally, label the new address.
Endpoints: create_address
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"create_address",
"params": {
"account_index": 2130706433,
"label": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"address_index": 2130706433
}
Inputs:
account_index - uint32
: Create a new subaddress for this account.label - string
: (Optional) Label for the new subaddress.
Outputs:
address - string
: The newly requested address.address_index - uint32
: Index of the new address in the requested account index.
Label an address.
Endpoints: label_address
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"label_address",
"params": {
"index": ,
"label": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
Inputs:
index - cryptonote::subaddress_index
: Major & minor address indexlabel - string
: Label for the address.
Outputs:
Get all accounts for a wallet. Optionally filter accounts by tag.
Endpoints: get_accounts
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"get_accounts",
"params": {
"tag": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"total_balance": 123,
"total_unlocked_balance": 123,
"subaddress_accounts": [{
"account_index": 2130706433,
"base_address": "TODO(beldex): Write example string",
"balance": 123,
"unlocked_balance": 123,
"label": "TODO(beldex): Write example string",
"tag": "TODO(beldex): Write example string"
}, ...]
}
Inputs:
tag - string
: (Optional) Tag for filtering accounts. All accounts if empty, otherwise those accounts with this tag
Outputs:
total_balance - uint64
: Total balance of the selected accounts (locked or unlocked).total_unlocked_balance - uint64
: Total unlocked balance of the selected accounts.subaddress_accounts - subaddress_account_info[]
: Account information.account_index - uint32
: Index of the account.base_address - string
: The first address of the account (i.e. the primary address).balance - uint64
: Balance of the account (locked or unlocked).unlocked_balance - uint64
: Unlocked balance for the account.label - string
: (Optional) Label of the account.tag - string
: (Optional) Tag for filtering accounts.
Create a new account with an optional label.
Endpoints: create_account
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"create_account",
"params": {
"label": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"account_index": 2130706433,
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk"
}
Inputs:
label - string
: (Optional) Label for the account.
Outputs:
account_index - uint32
: Index of the new account.address - string
: The primary address of the new account.
Label an account.
Endpoints: label_account
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"label_account",
"params": {
"account_index": 2130706433,
"label": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
Inputs:
account_index - uint32
: Account index to set the label for.label - string
: Label for the account.
Outputs:
Get a list of user-defined account tags.
Endpoints: get_account_tags
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '{ "jsonrpc":"2.0", "id":"0", "method":"get_account_tags"}' -H 'Content-Type: application/json'
Example Response:
{
"account_tags": [{
"tag": "TODO(beldex): Write example string",
"label": "TODO(beldex): Write example string",
"accounts": [2130706433, ...]
}, ...]
}
Inputs:
Outputs:
account_tags - account_tag_info[]
: Account tag information:tag - string
: Filter tag.label - string
: Label for the tag.accounts - uint32[]
: List of tagged account indices.
Apply a filtering tag to a list of accounts.
Endpoints: tag_accounts
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"tag_accounts",
"params": {
"tag": "TODO(beldex): Write example string",
"accounts": [2130706433, ...]
}
}' -H 'Content-Type: application/json'
Example Response:
Inputs:
tag - string
: Tag for the accounts.accounts - uint32[]
: Tag this list of accounts.
Outputs:
Remove filtering tag from a list of accounts.
Endpoints: untag_accounts
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"untag_accounts",
"params": {
"accounts": [2130706433, ...]
}
}' -H 'Content-Type: application/json'
Example Response:
Inputs:
accounts - uint32[]
: Remove tag from this list of accounts.
Outputs:
Set description for an account tag.
Endpoints: set_account_tag_description
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"set_account_tag_description",
"params": {
"tag": "TODO(beldex): Write example string",
"description": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
Inputs:
tag - string
: Set a description for this tag.description - string
: Description for the tag.
Outputs:
Returns the wallet's current block height.
Endpoints: get_height, getheight
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '{ "jsonrpc":"2.0", "id":"0", "method":"getheight"}' -H 'Content-Type: application/json'
Example Response:
{
"height": 234767
}
Inputs:
Outputs:
height - uint64
: The current wallet's blockchain height. If the wallet has been offline for a long time, it may need to catch up with the daemon.
Send beldex to a number of recipients. To preview the transaction fee, set do_not_relay to true and get_tx_metadata to true.
Submit the response using the data in get_tx_metadata in the RPC call, relay_tx.
Endpoints: transfer
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"transfer",
"params": {
"destinations": [, ...],
"account_index": 2130706433,
"subaddr_indices": [2130706433, ...],
"priority": 2130706433,
"mixin": 123,
"ring_size": 123,
"unlock_time": 123,
"payment_id": "f378710e54eeeb8d",
"get_tx_key": true,
"do_not_relay": true,
"get_tx_hex": true,
"get_tx_metadata": true
}
}' -H 'Content-Type: application/json'
Example Response:
{
"tx_hash": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"tx_key": "TODO(beldex): Write example string",
"amount": 123,
"fee": 123,
"tx_blob": "TODO(beldex): Write example string",
"tx_metadata": "TODO(beldex): Write example string",
"multisig_txset": "TODO(beldex): Write example string",
"unsigned_txset": "TODO(beldex): Write example string"
}
Inputs:
destinations - transfer_destination[]
: Array of destinations to receive BELDEX.account_index - uint32
: (Optional) Transfer from this account index. (Defaults to 0)subaddr_indices - uint32[]
: (Optional) Transfer from this set of subaddresses. (Defaults to 0)priority - uint32
: Set a priority for the transaction. Accepted Values are: default (1), or 0-3 for: unimportant, normal, elevated, priority.mixin - uint64
: (Deprecated) Set to 9. Number of outputs from the blockchain to mix with. Beldex mixin statically set to 9.ring_size - uint64
: (Deprecated) Set to 10. Sets ringsize to n (mixin + 1). Beldex ring_size is statically set to 10.unlock_time - uint64
: Number of blocks before the beldex can be spent (0 to use the default lock time).payment_id - string
: (Optional) Random 64-character hex string to identify a transaction.get_tx_key - bool
: (Optional) Return the transaction key after sending.do_not_relay - bool
: (Optional) If true, the newly created transaction will not be relayed to the beldex network. (Defaults to false)get_tx_hex - bool
: Return the transaction as hex string after sending. (Defaults to false)get_tx_metadata - bool
: Return the metadata needed to relay the transaction. (Defaults to false)
Outputs:
tx_hash - string
: Publically searchable transaction hash.tx_key - string
: Transaction key if get_tx_key is true, otherwise, blank string.amount - uint64
: Amount transferred for the transaction.fee - uint64
: Fee charged for the txn.tx_blob - string
: Raw transaction represented as hex string, if get_tx_hex is true.tx_metadata - string
: Set of transaction metadata needed to relay this transfer later, if get_tx_metadata is true.multisig_txset - string
: Set of multisig transactions in the process of being signed (empty for non-multisig).unsigned_txset - string
: Set of unsigned tx for cold-signing purposes.
Same as transfer, but can split into more than one tx if necessary.
Endpoints: transfer_split
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"transfer_split",
"params": {
"destinations": [, ...],
"account_index": 2130706433,
"subaddr_indices": [2130706433, ...],
"priority": 2130706433,
"mixin": 123,
"ring_size": 123,
"unlock_time": 123,
"payment_id": "f378710e54eeeb8d",
"get_tx_keys": true,
"do_not_relay": true,
"get_tx_hex": true,
"get_tx_metadata": true
}
}' -H 'Content-Type: application/json'
Example Response:
{
"tx_hash_list": ["TODO(beldex): Write example string", ...],
"tx_key_list": ["TODO(beldex): Write example string", ...],
"amount_list": [123, ...],
"fee_list": [123, ...],
"tx_blob_list": ["TODO(beldex): Write example string", ...],
"tx_metadata_list": ["TODO(beldex): Write example string", ...],
"multisig_txset": "TODO(beldex): Write example string",
"unsigned_txset": "TODO(beldex): Write example string"
}
Inputs:
destinations - transfer_destination[]
: Array of destinations to receive BELDEX:account_index - uint32
: (Optional) Transfer from this account index. (Defaults to 0)subaddr_indices - uint32[]
: (Optional) Transfer from this set of subaddresses. (Defaults to 0)priority - uint32
: Set a priority for the transactions. Accepted Values are: 0-3 for: default, unimportant, normal, elevated, priority.mixin - uint64
: (Ignored) Number of outputs from the blockchain to mix with. Beldex mixin statically set to 9.ring_size - uint64
: (Ignored) Sets ringsize to n (mixin + 1). Beldex ring_size is statically set to 10.unlock_time - uint64
: Number of blocks before the beldex can be spent (0 to not add a lock).payment_id - string
: (Optional) Random 32-byte/64-character hex string to identify a transaction.get_tx_keys - bool
: (Optional) Return the transaction keys after sending.do_not_relay - bool
: (Optional) If true, the newly created transaction will not be relayed to the beldex network. (Defaults to false)get_tx_hex - bool
: Return the transactions as hex string after sending.get_tx_metadata - bool
: Return list of transaction metadata needed to relay the transfer later.
Outputs:
tx_hash_list - string[]
: The tx hashes of every transaction.tx_key_list - string[]
: The transaction keys for every transaction.amount_list - uint64[]
: The amount transferred for every transaction.fee_list - uint64[]
: The amount of fees paid for every transaction.tx_blob_list - string[]
: The tx as hex string for every transaction.tx_metadata_list - string[]
: List of transaction metadata needed to relay the transactions later.multisig_txset - string
: The set of signing keys used in a multisig transaction (empty for non-multisig).unsigned_txset - string
: Set of unsigned tx for cold-signing purposes.
Endpoints: describe_transfer
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"describe_transfer",
"params": {
"unsigned_txset": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"desc": [{
"amount_in": 123,
"amount_out": 123,
"ring_size": 2130706433,
"unlock_time": 123,
"recipients": [{
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"amount": 123
}, ...],
"payment_id": "f378710e54eeeb8d",
"change_amount": 123,
"change_address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"fee": 123,
"dummy_outputs": 2130706433,
"extra": "TODO(beldex): Write example string"
}, ...]
}
Inputs:
unsigned_txset - string
: Set of unsigned tx returned by "transfer" or "transfer_split" methods.
Outputs:
desc - transfer_description[]
: List of information of transfers.amount_in - uint64
: Amount in, in atomic units.amount_out - uint64
: amount out, in atomic units.ring_size - uint32
: Ring size of transfer.unlock_time - uint64
: Number of blocks before the beldex can be spent (0 represents the default network lock time).recipients - recipient[]
: List of addresses and amounts.address - string
: Destination public address.amount - uint64
: Amount in atomic units.
payment_id - string
: Payment ID matching the input parameter.change_amount - uint64
: Change received from transaction in atomic units.change_address - string
: Address the change was sent to.fee - uint64
: Fee of the transaction in atomic units.dummy_outputs - uint32
extra - string
: Data stored in the tx extra represented in hex.
Sign a transaction created on a read-only wallet (in cold-signing process).
Endpoints: sign_transfer
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"sign_transfer",
"params": {
"unsigned_txset": "TODO(beldex): Write example string",
"export_raw": true,
"get_tx_keys": true
}
}' -H 'Content-Type: application/json'
Example Response:
{
"signed_txset": "TODO(beldex): Write example string",
"tx_hash_list": ["TODO(beldex): Write example string", ...],
"tx_raw_list": ["TODO(beldex): Write example string", ...],
"tx_key_list": ["TODO(beldex): Write example string", ...]
}
Inputs:
unsigned_txset - string
: Set of unsigned tx returned by "transfer" or "transfer_split" methods.export_raw - bool
: (Optional) If true, return the raw transaction data. (Defaults to false)get_tx_keys - bool
: (Optional) Return the transaction keys after sending.
Outputs:
signed_txset - string
: Set of signed tx to be used for submitting transfer.tx_hash_list - string[]
: The tx hashes of every transaction.tx_raw_list - string[]
: The tx raw data of every transaction.tx_key_list - string[]
: The tx key data of every transaction.
Submit a previously signed transaction on a read-only wallet (in cold-signing process).
Endpoints: submit_transfer
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"submit_transfer",
"params": {
"tx_data_hex": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"tx_hash_list": ["TODO(beldex): Write example string", ...]
}
Inputs:
tx_data_hex - string
: Set of signed tx returned by "sign_transfer".
Outputs:
tx_hash_list - string[]
: The tx hashes of every transaction.
Send all dust outputs back to the wallet's, to make them easier to spend (and mix).
Endpoints: sweep_dust, sweep_unmixable
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"sweep_unmixable",
"params": {
"get_tx_keys": true,
"do_not_relay": true,
"get_tx_hex": true,
"get_tx_metadata": true
}
}' -H 'Content-Type: application/json'
Example Response:
{
"tx_hash_list": ["TODO(beldex): Write example string", ...],
"tx_key_list": ["TODO(beldex): Write example string", ...],
"amount_list": [123, ...],
"fee_list": [123, ...],
"tx_blob_list": ["TODO(beldex): Write example string", ...],
"tx_metadata_list": ["TODO(beldex): Write example string", ...],
"multisig_txset": "TODO(beldex): Write example string",
"unsigned_txset": "TODO(beldex): Write example string"
}
Inputs:
get_tx_keys - bool
: (Optional) Return the transaction keys after sending.do_not_relay - bool
: (Optional) If true, the newly created transaction will not be relayed to the beldex network. (Defaults to false)get_tx_hex - bool
: (Optional) Return the transactions as hex string after sending. (Defaults to false)get_tx_metadata - bool
: (Optional) Return list of transaction metadata needed to relay the transfer later. (Defaults to false)
Outputs:
tx_hash_list - string[]
: The tx hashes of every transaction.tx_key_list - string[]
: The transaction keys for every transaction.amount_list - uint64[]
: The amount transferred for every transaction.fee_list - uint64[]
: The amount of fees paid for every transaction.tx_blob_list - string[]
: The tx as hex string for every transaction.tx_metadata_list - string[]
: List of transaction metadata needed to relay the transactions later.multisig_txset - string
: The set of signing keys used in a multisig transaction (empty for non-multisig).unsigned_txset - string
: Set of unsigned tx for cold-signing purposes.
Send all unlocked balance to an address.
Endpoints: sweep_all
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"sweep_all",
"params": {
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"account_index": 2130706433,
"subaddr_indices": [2130706433, ...],
"priority": 2130706433,
"mixin": 123,
"ring_size": 123,
"outputs": 123,
"unlock_time": 123,
"payment_id": "f378710e54eeeb8d",
"get_tx_keys": true,
"below_amount": 123,
"do_not_relay": true,
"get_tx_hex": true,
"get_tx_metadata": true
}
}' -H 'Content-Type: application/json'
Example Response:
{
"tx_hash_list": ["TODO(beldex): Write example string", ...],
"tx_key_list": ["TODO(beldex): Write example string", ...],
"amount_list": [123, ...],
"fee_list": [123, ...],
"tx_blob_list": ["TODO(beldex): Write example string", ...],
"tx_metadata_list": ["TODO(beldex): Write example string", ...],
"multisig_txset": "TODO(beldex): Write example string",
"unsigned_txset": "TODO(beldex): Write example string"
}
Inputs:
address - string
: Destination public address.account_index - uint32
: Sweep transactions from this account.subaddr_indices - uint32[]
: (Optional) Sweep from this set of subaddresses in the account.priority - uint32
: (Optional) Priority for sending the sweep transfer, partially determines fee.mixin - uint64
: (Deprecated) Set to 9. Number of outputs from the blockchain to mix with. Beldex mixin statically set to 9.ring_size - uint64
: (Deprecated) Set to 10. Sets ringsize to n (mixin + 1). Beldex ring_size is statically set to 10.outputs - uint64
unlock_time - uint64
: Number of blocks before the beldex can be spent (0 to not add a lock).payment_id - string
: (Optional) 64-character hex string to identify a transaction.get_tx_keys - bool
: (Optional) Return the transaction keys after sending.below_amount - uint64
: (Optional) Include outputs below this amount.do_not_relay - bool
: (Optional) If true, do not relay this sweep transfer. (Defaults to false)get_tx_hex - bool
: (Optional) return the transactions as hex encoded string. (Defaults to false)get_tx_metadata - bool
: (Optional) return the transaction metadata as a string. (Defaults to false)
Outputs:
tx_hash_list - string[]
: The tx hashes of every transaction.tx_key_list - string[]
: The transaction keys for every transaction.amount_list - uint64[]
: The amount transferred for every transaction.fee_list - uint64[]
: The amount of fees paid for every transaction.tx_blob_list - string[]
: The tx as hex string for every transaction.tx_metadata_list - string[]
: List of transaction metadata needed to relay the transactions later.multisig_txset - string
: The set of signing keys used in a multisig transaction (empty for non-multisig).unsigned_txset - string
: Set of unsigned tx for cold-signing purposes.
Send all of a specific unlocked output to an address.
Endpoints: sweep_single
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"sweep_single",
"params": {
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"priority": 2130706433,
"mixin": 123,
"ring_size": 123,
"outputs": 123,
"unlock_time": 123,
"payment_id": "f378710e54eeeb8d",
"get_tx_key": true,
"key_image": "8d1bd8181bf7d857bdb281e0153d84cd55a3fcaa57c3e570f4a49f935850b5e3",
"do_not_relay": true,
"get_tx_hex": true,
"get_tx_metadata": true
}
}' -H 'Content-Type: application/json'
Example Response:
{
"tx_hash": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"tx_key": "TODO(beldex): Write example string",
"amount": 123,
"fee": 123,
"tx_blob": "TODO(beldex): Write example string",
"tx_metadata": "TODO(beldex): Write example string",
"multisig_txset": "TODO(beldex): Write example string",
"unsigned_txset": "TODO(beldex): Write example string"
}
Inputs:
address - string
: Destination public address.priority - uint32
: (Optional) Priority for sending the sweep transfer, partially determines fee.mixin - uint64
: (Deprecated) Set to 9. Number of outputs from the blockchain to mix with. Beldex mixin statically set to 9.ring_size - uint64
: (Deprecated) Set to 10. Sets ringsize to n (mixin + 1). Beldex ring_size is statically set to 10.outputs - uint64
unlock_time - uint64
: Number of blocks before the beldex can be spent (0 to not add a lock).payment_id - string
: (Optional) 64-character hex string to identify a transaction.get_tx_key - bool
: (Optional) Return the transaction keys after sending.key_image - string
: Key image of specific output to sweep.do_not_relay - bool
: (Optional) If true, do not relay this sweep transfer. (Defaults to false)get_tx_hex - bool
: (Optional) return the transactions as hex encoded string. (Defaults to false)get_tx_metadata - bool
: (Optional) return the transaction metadata as a string. (Defaults to false)
Outputs:
tx_hash - string
: The tx hashes of the transaction.tx_key - string
: The tx key of the transaction.amount - uint64
: The amount transfered in atomic units.fee - uint64
: The fee paid in atomic units.tx_blob - string
: The tx as hex string.tx_metadata - string
: Transaction metadata needed to relay the transaction later.multisig_txset - string
: The set of signing keys used in a multisig transaction (empty for non-multisig).unsigned_txset - string
: Set of unsigned tx for cold-signing purposes.
Relay transaction metadata to the daemon
Endpoints: relay_tx
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"relay_tx",
"params": {
"hex": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"tx_hash": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123"
}
Inputs:
hex - string
: Transaction metadata returned from a transfer method with get_tx_metadata set to true.
Outputs:
tx_hash - string
: String for the publically searchable transaction hash.
Save the wallet file.
Endpoints: store
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '{ "jsonrpc":"2.0", "id":"0", "method":"store"}' -H 'Content-Type: application/json'
Example Response:
Inputs:
Outputs:
Get a list of incoming payments using a given payment id.
Endpoints: get_payments
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"get_payments",
"params": {
"payment_id": "f378710e54eeeb8d"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"payments": [{
"payment_id": "f378710e54eeeb8d",
"tx_hash": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"amount": 123,
"block_height": 123,
"unlock_time": 123,
"subaddr_index": ,
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk"
}, ...]
}
Inputs:
payment_id - string
: Payment ID used to find the payments (16 characters hex).
Outputs:
payments - payment_details[]
: List of payment details:payment_id - string
: Payment ID matching the input parameter.tx_hash - string
: Transaction hash used as the transaction ID.amount - uint64
: Amount for this payment.block_height - uint64
: Height of the block that first confirmed this payment.unlock_time - uint64
: Time (in block height) until this payment is safe to spend.subaddr_index - cryptonote::subaddress_index
: Major & minor index, account and subaddress index respectively.address - string
: Address receiving the payment.
Get a list of incoming payments using a given payment id,
or a list of payments ids, from a given height.
This method is the preferred method over get_paymentsbecause it
has the same functionality but is more extendable.
Either is fine for looking up transactions by a single payment ID.
Endpoints: get_bulk_payments
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"get_bulk_payments",
"params": {
"payment_ids": ["TODO(beldex): Write example string", ...],
"min_block_height": 123
}
}' -H 'Content-Type: application/json'
Example Response:
{
"payments": [{
"payment_id": "f378710e54eeeb8d",
"tx_hash": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"amount": 123,
"block_height": 123,
"unlock_time": 123,
"subaddr_index": ,
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk"
}, ...]
}
Inputs:
payment_ids - string[]
: Payment IDs used to find the payments (16 characters hex).min_block_height - uint64
: The block height at which to start looking for payments.
Outputs:
payments - payment_details[]
: List of payment details:payment_id - string
: Payment ID matching the input parameter.tx_hash - string
: Transaction hash used as the transaction ID.amount - uint64
: Amount for this payment.block_height - uint64
: Height of the block that first confirmed this payment.unlock_time - uint64
: Time (in block height) until this payment is safe to spend.subaddr_index - cryptonote::subaddress_index
: Major & minor index, account and subaddress index respectively.address - string
: Address receiving the payment.
Return a list of incoming transfers to the wallet.
Endpoints: incoming_transfers
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"incoming_transfers",
"params": {
"transfer_type": "TODO(beldex): Write example string",
"account_index": 2130706433,
"subaddr_indices": [2130706433, ...]
}
}' -H 'Content-Type: application/json'
Example Response:
{
"transfers": [{
"amount": 123,
"spent": true,
"global_index": 123,
"tx_hash": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"subaddr_index": ,
"key_image": "8d1bd8181bf7d857bdb281e0153d84cd55a3fcaa57c3e570f4a49f935850b5e3"
}, ...]
}
Inputs:
transfer_type - string
: "all": all the transfers, "available": only transfers which are not yet spent, OR "unavailable": only transfers which are already spent.account_index - uint32
: (Optional) Return transfers for this account. (defaults to 0)subaddr_indices - uint32[]
: (Optional) Return transfers sent to these subaddresses.
Outputs:
transfers - transfer_details[]
: List of information of the transfers details.amount - uint64
: Amount of this transfer.spent - bool
: Indicates if this transfer has been spent.global_index - uint64
: The index into the global list of transactions grouped by amount in the Beldex network.tx_hash - string
: Several incoming transfers may share the same hash if they were in the same transaction.subaddr_index - cryptonote::subaddress_index
: Major & minor index, account and subaddress index respectively.key_image - string
: Key image for the incoming transfer's unspent output (empty unless verbose is true).
Return the spend or view private key.
Endpoints: query_key
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"query_key",
"params": {
"key_type": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"key": "TODO(beldex): Write example string"
}
Inputs:
key_type - string
: Which key to retrieve: "mnemonic" - the mnemonic seed (older wallets do not have one) OR "view_key" - the view key
Outputs:
key - string
: The view key will be hex encoded, while the mnemonic will be a string of words.
Make an integrated address from the wallet address and a payment id.
Endpoints: make_integrated_address
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"make_integrated_address",
"params": {
"standard_address": "TODO(beldex): Write example string",
"payment_id": "f378710e54eeeb8d"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"integrated_address": "TODO(beldex): Write example string",
"payment_id": "f378710e54eeeb8d"
}
Inputs:
standard_address - string
: (Optional, defaults to primary address) Destination public address.payment_id - string
: (Optional, defaults to a random ID) 16 characters hex encoded.
Outputs:
integrated_address - string
payment_id - string
: Hex encoded.
Retrieve the standard address and payment id corresponding to an integrated address.
Endpoints: split_integrated_address
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"split_integrated_address",
"params": {
"integrated_address": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"standard_address": "TODO(beldex): Write example string",
"payment_id": "f378710e54eeeb8d",
"is_subaddress": true
}
Inputs:
integrated_address - string
Outputs:
standard_address - string
payment_id - string
is_subaddress - bool
Stops the wallet, storing the current state.
Endpoints: stop_wallet
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '{ "jsonrpc":"2.0", "id":"0", "method":"stop_wallet"}' -H 'Content-Type: application/json'
Example Response:
Inputs:
Outputs:
Rescan the blockchain from scratch, losing any information
which can not be recovered from the blockchain itself.
This includes destination addresses, tx secret keys, tx notes, etc.
Warning: This blocks the Wallet RPC executable until rescanning is complete.
Endpoints: rescan_blockchain
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"rescan_blockchain",
"params": {
"hard": true
}
}' -H 'Content-Type: application/json'
Example Response:
Inputs:
hard - bool
Outputs:
Set arbitrary string notes for transactions.
Endpoints: set_tx_notes
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"set_tx_notes",
"params": {
"txids": ["b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123", ...],
"notes": ["TODO(beldex): Write example string", ...]
}
}' -H 'Content-Type: application/json'
Example Response:
Inputs:
txids - string[]
: Transaction ids.notes - string[]
: Notes for the transactions.
Outputs:
Get string notes for transactions.
Endpoints: get_tx_notes
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"get_tx_notes",
"params": {
"txids": ["b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123", ...]
}
}' -H 'Content-Type: application/json'
Example Response:
{
"notes": ["TODO(beldex): Write example string", ...]
}
Inputs:
txids - string[]
: Transaction ids.
Outputs:
notes - string[]
: Notes for the transactions.
Set arbitrary attribute.
Endpoints: set_attribute
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"set_attribute",
"params": {
"key": "TODO(beldex): Write example string",
"value": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
Inputs:
key - string
: Attribute name.value - string
: Attribute value.
Outputs:
Get attribute value by name.
Endpoints: get_attribute
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"get_attribute",
"params": {
"key": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"value": "TODO(beldex): Write example string"
}
Inputs:
key - string
: Attribute name.
Outputs:
value - string
: Attribute value.
Get transaction secret key from transaction id.
Endpoints: get_tx_key
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"get_tx_key",
"params": {
"txid": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"tx_key": "TODO(beldex): Write example string"
}
Inputs:
txid - string
: Transaction id.
Outputs:
tx_key - string
: Transaction secret key.
Check a transaction in the blockchain with its secret key.
Endpoints: check_tx_key
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"check_tx_key",
"params": {
"txid": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"tx_key": "TODO(beldex): Write example string",
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"received": 123,
"in_pool": true,
"confirmations": 123
}
Inputs:
txid - string
: Transaction id.tx_key - string
: Transaction secret key.address - string
: Destination public address of the transaction.
Outputs:
received - uint64
: Amount of the transaction.in_pool - bool
: States if the transaction is still in pool or has been added to a block.confirmations - uint64
: Number of block mined after the one with the transaction.
Get transaction signature to prove it.
Endpoints: get_tx_proof
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"get_tx_proof",
"params": {
"txid": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"message": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"signature": "TODO(beldex): Write example string"
}
Inputs:
txid - string
: Transaction id.address - string
: Destination public address of the transaction.message - string
: (Optional) add a message to the signature to further authenticate the prooving process.
Outputs:
signature - string
: Transaction signature.
Prove a transaction by checking its signature.
Endpoints: check_tx_proof
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"check_tx_proof",
"params": {
"txid": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"message": "TODO(beldex): Write example string",
"signature": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"good": true,
"received": 123,
"in_pool": true,
"confirmations": 123
}
Inputs:
txid - string
: Transaction id.address - string
: Destination public address of the transaction.message - string
: (Optional) Should be the same message used inget_tx_proof
.signature - string
: Transaction signature to confirm.
Outputs:
good - bool
: States if the inputs proves the transaction.received - uint64
: Amount of the transaction.in_pool - bool
: States if the transaction is still in pool or has been added to a block.confirmations - uint64
: Number of block mined after the one with the transaction.
Generate a signature to prove a spend. Unlike proving a transaction, it does not requires the destination public address.
Endpoints: get_spend_proof
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"get_spend_proof",
"params": {
"txid": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"message": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"signature": "TODO(beldex): Write example string"
}
Inputs:
txid - string
: Transaction id.message - string
: (Optional) add a message to the signature to further authenticate the prooving process.
Outputs:
signature - string
: Spend signature.
Prove a spend using a signature. Unlike proving a transaction, it does not requires the destination public address.
Endpoints: check_spend_proof
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"check_spend_proof",
"params": {
"txid": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"message": "TODO(beldex): Write example string",
"signature": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"good": true
}
Inputs:
txid - string
: Transaction id.message - string
: (Optional) Should be the same message used inget_spend_proof
.signature - string
: Spend signature to confirm.
Outputs:
good - bool
: States if the inputs proves the spend.
Generate a signature to prove of an available amount in a wallet.
Endpoints: get_reserve_proof
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"get_reserve_proof",
"params": {
"all": true,
"account_index": 2130706433,
"amount": 123,
"message": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"signature": "TODO(beldex): Write example string"
}
Inputs:
all - bool
: Proves all wallet balance to be disposable.account_index - uint32
: Specify the account from witch to prove reserve. (ignored if all is set to true)amount - uint64
: Amount (in atomic units) to prove the account has for reserve. (ignored if all is set to true)message - string
: (Optional) add a message to the signature to further authenticate the prooving process.
Outputs:
signature - string
: Reserve signature.
Proves a wallet has a disposable reserve using a signature.
Endpoints: check_reserve_proof
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"check_reserve_proof",
"params": {
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"message": "TODO(beldex): Write example string",
"signature": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"good": true,
"total": 123,
"spent": 123
}
Inputs:
address - string
: Public address of the wallet.message - string
: (Optional) Should be the same message used in get_reserve_proof.signature - string
: Reserve signature to confirm.
Outputs:
good - bool
: States if the inputs proves the reserve.total - uint64
spent - uint64
Returns a list of transfers.
Endpoints: get_transfers
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"get_transfers",
"params": {
"in": true,
"out": true,
"pending": true,
"failed": true,
"pool": true,
"filter_by_height": true,
"min_height": 123,
"max_height": 123,
"account_index": 2130706433,
"subaddr_indices": [2130706433, ...]
}
}' -H 'Content-Type: application/json'
Example Response:
{
"in": [{
"txid": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"payment_id": "f378710e54eeeb8d",
"height": 234767,
"timestamp": 123,
"amount": 123,
"fee": 123,
"note": "TODO(beldex): Write example string",
"destinations": [, ...],
"type": "TODO(beldex): Write example string",
"unlock_time": 123,
"subaddr_index": ,
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"double_spend_seen": true,
"confirmations": 123,
"suggested_confirmations_threshold": 123
}, ...],
"out": [{
"txid": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"payment_id": "f378710e54eeeb8d",
"height": 234767,
"timestamp": 123,
"amount": 123,
"fee": 123,
"note": "TODO(beldex): Write example string",
"destinations": [, ...],
"type": "TODO(beldex): Write example string",
"unlock_time": 123,
"subaddr_index": ,
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"double_spend_seen": true,
"confirmations": 123,
"suggested_confirmations_threshold": 123
}, ...],
"pending": [{
"txid": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"payment_id": "f378710e54eeeb8d",
"height": 234767,
"timestamp": 123,
"amount": 123,
"fee": 123,
"note": "TODO(beldex): Write example string",
"destinations": [, ...],
"type": "TODO(beldex): Write example string",
"unlock_time": 123,
"subaddr_index": ,
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"double_spend_seen": true,
"confirmations": 123,
"suggested_confirmations_threshold": 123
}, ...],
"failed": [{
"txid": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"payment_id": "f378710e54eeeb8d",
"height": 234767,
"timestamp": 123,
"amount": 123,
"fee": 123,
"note": "TODO(beldex): Write example string",
"destinations": [, ...],
"type": "TODO(beldex): Write example string",
"unlock_time": 123,
"subaddr_index": ,
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"double_spend_seen": true,
"confirmations": 123,
"suggested_confirmations_threshold": 123
}, ...],
"pool": [{
"txid": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"payment_id": "f378710e54eeeb8d",
"height": 234767,
"timestamp": 123,
"amount": 123,
"fee": 123,
"note": "TODO(beldex): Write example string",
"destinations": [, ...],
"type": "TODO(beldex): Write example string",
"unlock_time": 123,
"subaddr_index": ,
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"double_spend_seen": true,
"confirmations": 123,
"suggested_confirmations_threshold": 123
}, ...]
}
Inputs:
in - bool
: (Optional) Include incoming transfers.out - bool
: (Optional) Include outgoing transfers.pending - bool
: (Optional) Include pending transfers.failed - bool
: (Optional) Include failed transfers.pool - bool
: (Optional) Include transfers from the daemon's transaction pool.filter_by_height - bool
: (Optional) Filter transfers by block height.min_height - uint64
: (Optional) Minimum block height to scan for transfers, if filtering by height is enabled.max_height - uint64
: (Optional) Maximum block height to scan for transfers, if filtering by height is enabled (defaults to max block height).account_index - uint32
: (Optional) Index of the account to query for transfers. (defaults to 0)subaddr_indices - uint32[]
: (Optional) List of subaddress indices to query for transfers. (defaults to 0)
Outputs:
in - transfer_entry[]
txid - string
: Transaction ID for this transfer.payment_id - string
: Payment ID for this transfer.height - uint64
: Height of the first block that confirmed this transfer (0 if not mined yet).timestamp - uint64
: UNIX timestamp for when this transfer was first confirmed in a block (or timestamp submission if not mined yet).amount - uint64
: Amount transferred.fee - uint64
: Transaction fee for this transfer.note - string
: Note about this transfer.destinations - transfer_destination[]
: Array of transfer destinations.type - string
: Type of transfer, one of the following: "in", "out", "pending", "failed", "pool".unlock_time - uint64
: Number of blocks until transfer is safely spendable.subaddr_index - cryptonote::subaddress_index
: Major & minor index, account and subaddress index respectively.address - string
: Address that transferred the funds.double_spend_seen - bool
: True if the key image(s) for the transfer have been seen before.confirmations - uint64
: Number of block mined since the block containing this transaction (or block height at which the transaction should be added to a block if not yet confirmed).suggested_confirmations_threshold - uint64
: Estimation of the confirmations needed for the transaction to be included in a block.
out - transfer_entry[]
txid - string
: Transaction ID for this transfer.payment_id - string
: Payment ID for this transfer.height - uint64
: Height of the first block that confirmed this transfer (0 if not mined yet).timestamp - uint64
: UNIX timestamp for when this transfer was first confirmed in a block (or timestamp submission if not mined yet).amount - uint64
: Amount transferred.fee - uint64
: Transaction fee for this transfer.note - string
: Note about this transfer.destinations - transfer_destination[]
: Array of transfer destinations.type - string
: Type of transfer, one of the following: "in", "out", "pending", "failed", "pool".unlock_time - uint64
: Number of blocks until transfer is safely spendable.subaddr_index - cryptonote::subaddress_index
: Major & minor index, account and subaddress index respectively.address - string
: Address that transferred the funds.double_spend_seen - bool
: True if the key image(s) for the transfer have been seen before.confirmations - uint64
: Number of block mined since the block containing this transaction (or block height at which the transaction should be added to a block if not yet confirmed).suggested_confirmations_threshold - uint64
: Estimation of the confirmations needed for the transaction to be included in a block.
pending - transfer_entry[]
txid - string
: Transaction ID for this transfer.payment_id - string
: Payment ID for this transfer.height - uint64
: Height of the first block that confirmed this transfer (0 if not mined yet).timestamp - uint64
: UNIX timestamp for when this transfer was first confirmed in a block (or timestamp submission if not mined yet).amount - uint64
: Amount transferred.fee - uint64
: Transaction fee for this transfer.note - string
: Note about this transfer.destinations - transfer_destination[]
: Array of transfer destinations.type - string
: Type of transfer, one of the following: "in", "out", "pending", "failed", "pool".unlock_time - uint64
: Number of blocks until transfer is safely spendable.subaddr_index - cryptonote::subaddress_index
: Major & minor index, account and subaddress index respectively.address - string
: Address that transferred the funds.double_spend_seen - bool
: True if the key image(s) for the transfer have been seen before.confirmations - uint64
: Number of block mined since the block containing this transaction (or block height at which the transaction should be added to a block if not yet confirmed).suggested_confirmations_threshold - uint64
: Estimation of the confirmations needed for the transaction to be included in a block.
failed - transfer_entry[]
txid - string
: Transaction ID for this transfer.payment_id - string
: Payment ID for this transfer.height - uint64
: Height of the first block that confirmed this transfer (0 if not mined yet).timestamp - uint64
: UNIX timestamp for when this transfer was first confirmed in a block (or timestamp submission if not mined yet).amount - uint64
: Amount transferred.fee - uint64
: Transaction fee for this transfer.note - string
: Note about this transfer.destinations - transfer_destination[]
: Array of transfer destinations.type - string
: Type of transfer, one of the following: "in", "out", "pending", "failed", "pool".unlock_time - uint64
: Number of blocks until transfer is safely spendable.subaddr_index - cryptonote::subaddress_index
: Major & minor index, account and subaddress index respectively.address - string
: Address that transferred the funds.double_spend_seen - bool
: True if the key image(s) for the transfer have been seen before.confirmations - uint64
: Number of block mined since the block containing this transaction (or block height at which the transaction should be added to a block if not yet confirmed).suggested_confirmations_threshold - uint64
: Estimation of the confirmations needed for the transaction to be included in a block.
pool - transfer_entry[]
txid - string
: Transaction ID for this transfer.payment_id - string
: Payment ID for this transfer.height - uint64
: Height of the first block that confirmed this transfer (0 if not mined yet).timestamp - uint64
: UNIX timestamp for when this transfer was first confirmed in a block (or timestamp submission if not mined yet).amount - uint64
: Amount transferred.fee - uint64
: Transaction fee for this transfer.note - string
: Note about this transfer.destinations - transfer_destination[]
: Array of transfer destinations.type - string
: Type of transfer, one of the following: "in", "out", "pending", "failed", "pool".unlock_time - uint64
: Number of blocks until transfer is safely spendable.subaddr_index - cryptonote::subaddress_index
: Major & minor index, account and subaddress index respectively.address - string
: Address that transferred the funds.double_spend_seen - bool
: True if the key image(s) for the transfer have been seen before.confirmations - uint64
: Number of block mined since the block containing this transaction (or block height at which the transaction should be added to a block if not yet confirmed).suggested_confirmations_threshold - uint64
: Estimation of the confirmations needed for the transaction to be included in a block.
Show information about a transfer to/from this address.
Endpoints: get_transfer_by_txid
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"get_transfer_by_txid",
"params": {
"txid": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"account_index": 2130706433
}
}' -H 'Content-Type: application/json'
Example Response:
{
"transfer": {
"txid": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"payment_id": "f378710e54eeeb8d",
"height": 234767,
"timestamp": 123,
"amount": 123,
"fee": 123,
"note": "TODO(beldex): Write example string",
"destinations": [, ...],
"type": "TODO(beldex): Write example string",
"unlock_time": 123,
"subaddr_index": ,
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"double_spend_seen": true,
"confirmations": 123,
"suggested_confirmations_threshold": 123
},
"transfers": [{
"txid": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"payment_id": "f378710e54eeeb8d",
"height": 234767,
"timestamp": 123,
"amount": 123,
"fee": 123,
"note": "TODO(beldex): Write example string",
"destinations": [, ...],
"type": "TODO(beldex): Write example string",
"unlock_time": 123,
"subaddr_index": ,
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"double_spend_seen": true,
"confirmations": 123,
"suggested_confirmations_threshold": 123
}, ...]
}
Inputs:
txid - string
: Transaction ID used to find the transfer.account_index - uint32
: (Optional) Index of the account to query for the transfer.
Outputs:
transfer - transfer_entry
txid - string
: Transaction ID for this transfer.payment_id - string
: Payment ID for this transfer.height - uint64
: Height of the first block that confirmed this transfer (0 if not mined yet).timestamp - uint64
: UNIX timestamp for when this transfer was first confirmed in a block (or timestamp submission if not mined yet).amount - uint64
: Amount transferred.fee - uint64
: Transaction fee for this transfer.note - string
: Note about this transfer.destinations - transfer_destination[]
: Array of transfer destinations.type - string
: Type of transfer, one of the following: "in", "out", "pending", "failed", "pool".unlock_time - uint64
: Number of blocks until transfer is safely spendable.subaddr_index - cryptonote::subaddress_index
: Major & minor index, account and subaddress index respectively.address - string
: Address that transferred the funds.double_spend_seen - bool
: True if the key image(s) for the transfer have been seen before.confirmations - uint64
: Number of block mined since the block containing this transaction (or block height at which the transaction should be added to a block if not yet confirmed).suggested_confirmations_threshold - uint64
: Estimation of the confirmations needed for the transaction to be included in a block.
transfers - transfer_entry[]
txid - string
: Transaction ID for this transfer.payment_id - string
: Payment ID for this transfer.height - uint64
: Height of the first block that confirmed this transfer (0 if not mined yet).timestamp - uint64
: UNIX timestamp for when this transfer was first confirmed in a block (or timestamp submission if not mined yet).amount - uint64
: Amount transferred.fee - uint64
: Transaction fee for this transfer.note - string
: Note about this transfer.destinations - transfer_destination[]
: Array of transfer destinations.type - string
: Type of transfer, one of the following: "in", "out", "pending", "failed", "pool".unlock_time - uint64
: Number of blocks until transfer is safely spendable.subaddr_index - cryptonote::subaddress_index
: Major & minor index, account and subaddress index respectively.address - string
: Address that transferred the funds.double_spend_seen - bool
: True if the key image(s) for the transfer have been seen before.confirmations - uint64
: Number of block mined since the block containing this transaction (or block height at which the transaction should be added to a block if not yet confirmed).suggested_confirmations_threshold - uint64
: Estimation of the confirmations needed for the transaction to be included in a block.
Sign a string.
Endpoints: sign
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"sign",
"params": {
"data": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"signature": "TODO(beldex): Write example string"
}
Inputs:
data - string
: Anything you need to sign.
Outputs:
signature - string
: Signature generated against the "data" and the account public address.
Verify a signature on a string.
Endpoints: verify
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"verify",
"params": {
"data": "TODO(beldex): Write example string",
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"signature": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"good": true
}
Inputs:
data - string
: What should have been signed.address - string
: Public address of the wallet used to sign the data.signature - string
: Signature generated bysign
method.
Outputs:
good - bool
Export all outputs in hex format.
Endpoints: export_outputs
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '{ "jsonrpc":"2.0", "id":"0", "method":"export_outputs"}' -H 'Content-Type: application/json'
Example Response:
{
"outputs_data_hex": "TODO(beldex): Write example string"
}
Inputs:
Outputs:
outputs_data_hex - string
: Wallet outputs in hex format.
Import outputs in hex format.
Endpoints: import_outputs
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"import_outputs",
"params": {
"outputs_data_hex": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"num_imported": 123
}
Inputs:
outputs_data_hex - string
: Wallet outputs in hex format.
Outputs:
num_imported - uint64
: Number of outputs imported.
Export a signed set of key images.
Endpoints: export_key_images
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"export_key_images",
"params": {
"requested_only": true
}
}' -H 'Content-Type: application/json'
Example Response:
{
"offset": 2130706433,
"signed_key_images": [{
"key_image": "8d1bd8181bf7d857bdb281e0153d84cd55a3fcaa57c3e570f4a49f935850b5e3",
"signature": "TODO(beldex): Write example string"
}, ...]
}
Inputs:
requested_only - bool
: Defaultfalse
.
Outputs:
offset - uint32
signed_key_images - signed_key_image[]
key_image - string
signature - string
Import signed key images list and verify their spent status.
Endpoints: import_key_images
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"import_key_images",
"params": {
"offset": 2130706433,
"signed_key_images": [{
"key_image": "8d1bd8181bf7d857bdb281e0153d84cd55a3fcaa57c3e570f4a49f935850b5e3",
"signature": "TODO(beldex): Write example string"
}, ...]
}
}' -H 'Content-Type: application/json'
Example Response:
{
"height": 234767,
"spent": 123,
"unspent": 123
}
Inputs:
offset - uint32
signed_key_images - signed_key_image[]
key_image - string
: Key image of specific outputsignature - string
: Transaction signature.
Outputs:
height - uint64
spent - uint64
: Amount (in atomic units) spent from those key images.unspent - uint64
: Amount (in atomic units) still available from those key images.
Create a payment URI using the official URI spec.
Endpoints: make_uri
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '{ "jsonrpc":"2.0", "id":"0", "method":"make_uri"}' -H 'Content-Type: application/json'
Example Response:
{
"uri": "TODO(beldex): Write example string"
}
Inputs:
Outputs:
uri - string
: This contains all the payment input information as a properly formatted payment URI.
Parse a payment URI to get payment information.
Endpoints: parse_uri
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"parse_uri",
"params": {
"uri": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"uri": {
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"payment_id": "f378710e54eeeb8d",
"amount": 123,
"tx_description": "TODO(beldex): Write example string",
"recipient_name": "TODO(beldex): Write example string"
},
"unknown_parameters": ["TODO(beldex): Write example string", ...]
}
Inputs:
uri - string
: This contains all the payment input information as a properly formatted payment URI.
Outputs:
uri - uri_spec
: JSON object containing payment information:address - string
: Wallet address.payment_id - string
: (Optional) 16 or 64 character hexadecimal payment id.amount - uint64
: (Optional) the integer amount to receive, in atomic units.tx_description - string
: (Optional) Description of the reason for the tx.recipient_name - string
: (Optional) name of the payment recipient.
unknown_parameters - string[]
Add an entry to the address book.
Endpoints: add_address_book
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"add_address_book",
"params": {
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"payment_id": "f378710e54eeeb8d",
"description": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"index": 123
}
Inputs:
address - string
: Public address of the entry.payment_id - string
: (Optional), defaults to "0000000000000000000000000000000000000000000000000000000000000000".description - string
: (Optional), defaults to "".
Outputs:
index - uint64
: The index of the address book entry.
Retrieves entries from the address book.
Endpoints: get_address_book
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"get_address_book",
"params": {
"entries": [123, ...]
}
}' -H 'Content-Type: application/json'
Example Response:
{
"entries": [{
"index": 123,
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"payment_id": "f378710e54eeeb8d",
"description": "TODO(beldex): Write example string"
}, ...]
}
Inputs:
entries - uint64[]
: Indices of the requested address book entries.
Outputs:
entries - entry[]
: List of address book entries information.index - uint64
: Index of entry.address - string
: Public address of the entrypayment_id - string
: (Optional) 64-character hex string to identify a transaction.description - string
: Description of this address entry.
Delete an entry from the address book.
Endpoints: delete_address_book
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"delete_address_book",
"params": {
"index": 123
}
}' -H 'Content-Type: application/json'
Example Response:
Inputs:
index - uint64
: The index of the address book entry.
Outputs:
Rescan the blockchain for spent outputs.
Endpoints: rescan_spent
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '{ "jsonrpc":"2.0", "id":"0", "method":"rescan_spent"}' -H 'Content-Type: application/json'
Example Response:
Inputs:
Outputs:
Refresh a wallet after openning.
Endpoints: refresh
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"refresh",
"params": {
"start_height": 123
}
}' -H 'Content-Type: application/json'
Example Response:
{
"blocks_fetched": 123,
"received_money": true
}
Inputs:
start_height - uint64
: (Optional) The block height from which to start refreshing.
Outputs:
blocks_fetched - uint64
: Number of new blocks scanned.received_money - bool
: States if transactions to the wallet have been found in the blocks.
Start mining in the beldex daemon.
Endpoints: start_mining
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"start_mining",
"params": {
"threads_count": 123,
"do_background_mining": true,
"ignore_battery": true
}
}' -H 'Content-Type: application/json'
Example Response:
Inputs:
threads_count - uint64
: Number of threads created for mining.do_background_mining - bool
: Allow to start the miner in smart mining mode.ignore_battery - bool
: Ignore battery status (for smart mining only).
Outputs:
Stop mining in the beldex daemon.
Endpoints: stop_mining
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '{ "jsonrpc":"2.0", "id":"0", "method":"stop_mining"}' -H 'Content-Type: application/json'
Example Response:
Inputs:
Outputs:
Get a list of available languages for your wallet's seed.
Endpoints: get_languages
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '{ "jsonrpc":"2.0", "id":"0", "method":"get_languages"}' -H 'Content-Type: application/json'
Example Response:
{
"languages": ["TODO(beldex): Write example string", ...]
}
Inputs:
Outputs:
languages - string[]
: List of available languages.
Create a new wallet. You need to have set the argument "'–wallet-dir" when launching beldex-wallet-rpc to make this work.
Endpoints: create_wallet
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"create_wallet",
"params": {
"filename": "TODO(beldex): Write example string",
"password": "TODO(beldex): Write example string",
"language": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
Inputs:
filename - string
: Set the wallet file name.password - string
: (Optional) Set the password to protect the wallet.language - string
: Language for your wallets' seed.
Outputs:
Open a wallet. You need to have set the argument "–-wallet-dir" when launching beldex-wallet-rpc to make this work.
The wallet rpc executable may only open wallet files within the same directory as wallet-dir, otherwise use the
"--wallet-file" flag to open specific wallets.
Endpoints: open_wallet
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"open_wallet",
"params": {
"filename": "TODO(beldex): Write example string",
"password": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
Inputs:
filename - string
: Wallet name stored in "–-wallet-dir".password - string
: (Optional) only needed if the wallet has a password defined.
Outputs:
Close the currently opened wallet, after trying to save it.
Endpoints: close_wallet
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '{ "jsonrpc":"2.0", "id":"0", "method":"close_wallet"}' -H 'Content-Type: application/json'
Example Response:
Inputs:
Outputs:
Change a wallet password.
Endpoints: change_wallet_password
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"change_wallet_password",
"params": {
"old_password": "TODO(beldex): Write example string",
"new_password": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
Inputs:
old_password - string
: (Optional) Current wallet password, if defined.new_password - string
: (Optional) New wallet password, if not blank.
Outputs:
Endpoints: restore_deterministic_wallet
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"restore_deterministic_wallet",
"params": {
"restore_height": 123,
"filename": "TODO(beldex): Write example string",
"seed": "TODO(beldex): Write example string",
"seed_offset": "TODO(beldex): Write example string",
"password": "TODO(beldex): Write example string",
"language": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"seed": "TODO(beldex): Write example string",
"info": "TODO(beldex): Write example string",
"was_deprecated": true
}
Inputs:
restore_height - uint64
: Height in which to start scanning the blockchain for transactions into and out of this Wallet.filename - string
: Set the name of the Wallet.seed - string
: Mnemonic seed of wallet (25 words).seed_offset - string
password - string
: Set password for Wallet.language - string
: Set language for the wallet.
Outputs:
address - string
: Public address of wallet.seed - string
: Seed of wallet.info - string
: Wallet information.was_deprecated - bool
Check if a wallet is a multisig one.
Endpoints: is_multisig
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '{ "jsonrpc":"2.0", "id":"0", "method":"is_multisig"}' -H 'Content-Type: application/json'
Example Response:
{
"multisig": true,
"ready": true,
"threshold": 2130706433,
"total": 2130706433
}
Inputs:
Outputs:
multisig - bool
: States if the wallet is multisig.ready - bool
threshold - uint32
: Amount of signature needed to sign a transfer.total - uint32
: Total amount of signature in the multisig wallet.
Prepare a wallet for multisig by generating a multisig string to share with peers.
Endpoints: prepare_multisig
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '{ "jsonrpc":"2.0", "id":"0", "method":"prepare_multisig"}' -H 'Content-Type: application/json'
Example Response:
{
"multisig_info": "TODO(beldex): Write example string"
}
Inputs:
Outputs:
multisig_info - string
: Multisig string to share with peers to create the multisig wallet.
Make a wallet multisig by importing peers multisig string.
Endpoints: make_multisig
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"make_multisig",
"params": {
"multisig_info": ["TODO(beldex): Write example string", ...],
"threshold": 2130706433,
"password": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"multisig_info": "TODO(beldex): Write example string"
}
Inputs:
multisig_info - string[]
: List of multisig string from peers.threshold - uint32
: Amount of signatures needed to sign a transfer. Must be less or equal than the amount of signature inmultisig_info
.password - string
: Wallet password.
Outputs:
address - string
: Multisig wallet address.multisig_info - string
: Multisig string to share with peers to create the multisig wallet (extra step for N-1/N wallets).
Export multisig info for other participants.
Endpoints: export_multisig_info
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '{ "jsonrpc":"2.0", "id":"0", "method":"export_multisig_info"}' -H 'Content-Type: application/json'
Example Response:
{
"info": "TODO(beldex): Write example string"
}
Inputs:
Outputs:
info - string
: Multisig info in hex format for other participants.
Import multisig info from other participants.
Endpoints: import_multisig_info
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"import_multisig_info",
"params": {
"info": ["TODO(beldex): Write example string", ...]
}
}' -H 'Content-Type: application/json'
Example Response:
{
"n_outputs": 123
}
Inputs:
info - string[]
: List of multisig info in hex format from other participants.
Outputs:
n_outputs - uint64
: Number of outputs signed with those multisig info.
Turn this wallet into a multisig wallet, extra step for N-1/N wallets.
Endpoints: finalize_multisig
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"finalize_multisig",
"params": {
"password": "TODO(beldex): Write example string",
"multisig_info": ["TODO(beldex): Write example string", ...]
}
}' -H 'Content-Type: application/json'
Example Response:
{
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk"
}
Inputs:
password - string
: Wallet password.multisig_info - string[]
: List of multisig string from peers.
Outputs:
address - string
: Multisig wallet address.
Endpoints: exchange_multisig_keys
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"exchange_multisig_keys",
"params": {
"password": "TODO(beldex): Write example string",
"multisig_info": ["TODO(beldex): Write example string", ...]
}
}' -H 'Content-Type: application/json'
Example Response:
{
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"multisig_info": "TODO(beldex): Write example string"
}
Inputs:
password - string
: Wallet password.multisig_info - string[]
: List of multisig string from peers.
Outputs:
address - string
: Multisig wallet address.multisig_info - string
: Multisig string to share with peers to create the multisig wallet.
Sign a transaction in multisig.
Endpoints: sign_multisig
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"sign_multisig",
"params": {
"tx_data_hex": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"tx_data_hex": "TODO(beldex): Write example string",
"tx_hash_list": ["TODO(beldex): Write example string", ...]
}
Inputs:
tx_data_hex - string
: Multisig transaction in hex format, as returned by transfer undermultisig_txset
.
Outputs:
tx_data_hex - string
: Multisig transaction in hex format.tx_hash_list - string[]
: List of transaction Hash.
Submit a signed multisig transaction.
Endpoints: submit_multisig
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"submit_multisig",
"params": {
"tx_data_hex": "TODO(beldex): Write example string"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"tx_hash_list": ["TODO(beldex): Write example string", ...]
}
Inputs:
tx_data_hex - string
: Multisig transaction in hex format, as returned by sign_multisig under tx_data_hex.
Outputs:
tx_hash_list - string[]
: List of transaction hash.
Get RPC version Major & Minor integer-format, where Major is the first 16 bits and Minor the last 16 bits.
Endpoints: get_version
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '{ "jsonrpc":"2.0", "id":"0", "method":"get_version"}' -H 'Content-Type: application/json'
Example Response:
{
"version": 2130706433
}
Inputs:
Outputs:
version - uint32
: RPC version, formatted with Major * 2^16 + Minor(Major encoded over the first 16 bits, and Minor over the last 16 bits).
Stake for Master Node.
Endpoints: stake
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"stake",
"params": {
"destination": "TODO(beldex): Write example string",
"amount": 123,
"subaddr_indices": [2130706433, ...],
"master_node_key": "4a8c30cea9e729b06c91132295cce32d2a8e6e5bcf7b74a998e2ee1b3ed590b3",
"priority": 2130706433,
"get_tx_key": true,
"do_not_relay": true,
"get_tx_hex": true,
"get_tx_metadata": true
}
}' -H 'Content-Type: application/json'
Example Response:
{
"tx_hash": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"tx_key": "TODO(beldex): Write example string",
"amount": 123,
"fee": 123,
"tx_blob": "TODO(beldex): Write example string",
"tx_metadata": "TODO(beldex): Write example string",
"multisig_txset": "TODO(beldex): Write example string",
"unsigned_txset": "TODO(beldex): Write example string"
}
Inputs:
destination - string
: Primary Public address that the rewards will go to.amount - uint64
: Amount of Beldex to stake in atomic units.subaddr_indices - uint32[]
: (Optional) Transfer from this set of subaddresses. (Defaults to 0)master_node_key - string
: Master Node Public Address.priority - uint32
: Set a priority for the transaction. Accepted Values are: 0-3 for: default, unimportant, normal, elevated, priority.get_tx_key - bool
: (Optional) Return the transaction key after sending.do_not_relay - bool
: (Optional) If true, the newly created transaction will not be relayed to the beldex network. (Defaults to false)get_tx_hex - bool
: Return the transaction as hex string after sending (Defaults to false)get_tx_metadata - bool
: Return the metadata needed to relay the transaction. (Defaults to false)
Outputs:
tx_hash - string
: Publically searchable transaction hash.tx_key - string
: Transaction key ifget_tx_key
istrue
, otherwise, blank string.amount - uint64
: Amount transferred for the transaction in atomic units.fee - uint64
: Value in atomic units of the fee charged for the tx.tx_blob - string
: Raw transaction represented as hex string, if get_tx_hex is true.tx_metadata - string
: Set of transaction metadata needed to relay this transfer later, ifget_tx_metadata
istrue
.multisig_txset - string
: Set of multisig transactions in the process of being signed (empty for non-multisig).unsigned_txset - string
: Set of unsigned tx for cold-signing purposes.
Register Master Node.
Endpoints: register_master_node
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"register_master_node",
"params": {
"register_master_node_str": "TODO(beldex): Write example string",
"get_tx_key": true,
"do_not_relay": true,
"get_tx_hex": true,
"get_tx_metadata": true
}
}' -H 'Content-Type: application/json'
Example Response:
{
"tx_hash": "b605cab7e3b9fe1f6d322e3167cd26e1e61c764afa9d733233ef716787786123",
"tx_key": "TODO(beldex): Write example string",
"amount": 123,
"fee": 123,
"tx_blob": "TODO(beldex): Write example string",
"tx_metadata": "TODO(beldex): Write example string",
"multisig_txset": "TODO(beldex): Write example string",
"unsigned_txset": "TODO(beldex): Write example string"
}
Inputs:
register_master_node_str - string
: String supplied by the prepare_registration command.get_tx_key - bool
: (Optional) Return the transaction key after sending.do_not_relay - bool
: (Optional) If true, the newly created transaction will not be relayed to the beldex network. (Defaults to false)get_tx_hex - bool
: Return the transaction as hex string after sending (Defaults to false)get_tx_metadata - bool
: Return the metadata needed to relay the transaction. (Defaults to false)
Outputs:
tx_hash - string
: Publically searchable transaction hash.tx_key - string
: Transaction key if get_tx_key is true, otherwise, blank string.amount - uint64
: Amount transferred for the transaction in atomic units.fee - uint64
: Value in atomic units of the fee charged for the tx.tx_blob - string
: Raw transaction represented as hex string, if get_tx_hex is true.tx_metadata - string
: Set of transaction metadata needed to relay this transfer later, ifget_tx_metadata
istrue
.multisig_txset - string
: Set of multisig transactions in the process of being signed (empty for non-multisig).unsigned_txset - string
: Set of unsigned tx for cold-signing purposes.
Request to unlock stake by deregistering Master Node.
Endpoints: request_stake_unlock
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"request_stake_unlock",
"params": {
"master_node_key": "4a8c30cea9e729b06c91132295cce32d2a8e6e5bcf7b74a998e2ee1b3ed590b3"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"unlocked": true,
"msg": "TODO(beldex): Write example string"
}
Inputs:
master_node_key - string
: Master Node Public Key.
Outputs:
unlocked - bool
: States if stake has been unlocked.msg - string
: Information on the unlocking process.
Check if Master Node can unlock it's stake.
Endpoints: can_request_stake_unlock
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"can_request_stake_unlock",
"params": {
"master_node_key": "4a8c30cea9e729b06c91132295cce32d2a8e6e5bcf7b74a998e2ee1b3ed590b3"
}
}' -H 'Content-Type: application/json'
Example Response:
{
"can_unlock": true,
"msg": "TODO(beldex): Write example string"
}
Inputs:
master_node_key - string
: Master node public address.
Outputs:
can_unlock - bool
: States if the stake can be locked.msg - string
: Information on the unlocking process.
Parse an address to validate if it's a valid Beldex address.
Endpoints: validate_address
Example Request:
curl -X POST http://127.0.0.1:22023/json_rpc -d '
{
"jsonrpc":"2.0", "id":"0", "method":"validate_address",
"params": {
"address": "8KJf3nRQ53NTX1YLjtHryjegFRa3ZCEGLKmRxUfvkBWK19UteEacVpYqpYscSJ2q8WRuHPFdk7Q5W8pQB7Py5kvUs8vKSk",
"any_net_type": true,
"allow_openalias": true
}
}' -H 'Content-Type: application/json'
Example Response:
{
"valid": true,
"integrated": true,
"subaddress": true,
"nettype": "MAINNET",
"openalias_address": "TODO(beldex): Write example string"
}
Inputs:
address - string
: Address to check.any_net_type - bool
allow_openalias - bool
Outputs:
valid - bool
: States if it is a valid Beldex address.integrated - bool
: States if it is an integrated address.subaddress - bool
: States if it is a subaddress.nettype - string
: States if the nettype is mainet, testnet, stagenet.openalias_address - string