WALLET-RPC CALLS
This is a list of the ryo-wallet-rpc calls, their inputs and outputs, and examples of each. If you need daemon-rpc-calls refer to:
transfers
- check_reserve_proof
- check_spend_proof
- check_tx_key
- check_tx_proof
- export_outputs
- get_spend_proof
- get_reserve_proof
- get_tx_proof
- get_tx_notes
- get_transfers
- get_transfer_by_txid
- incoming_transfers
- import_outputs
- relay_tx
- set_tx_notes
- sign
- sign_transfer
- submit_transfer
- sweep_dust
- sweep_all
- sweep_single
- transfer
- transfer_split
- verify
other wallet operations
- change_wallet_password
- close_wallet
- create_account
- create_address
- create_wallet
- export_key_images
- get_account_tags
- get_accounts
- get_address
- get_attribute
- get_address_index
- get_balance
- get_bulk_payments
- get_height
- get_languages
- get_payments
- get_tx_key
- get_version
- import_key_images
- label_address
- label_account
- make_uri
- make_integrated_address
- open_wallet
- parse_uri
- query_key
- refresh
- rescan_spent
- rescan_blockchain
- restore_wallet
- restore_view_wallet
- set_account_tag_description
- set_attribute
- store
- split_integrated_address
- stop_wallet
- tag_accounts
- untag_accounts
add_address_book
Add an entry to the address book.
Alias: None.
Inputs:
- address - string;
- payment_id - (optional) string, defaults to "0000000000000000000000000000000000000000000000000000000000000000";
- description - (optional) string, defaults to "";
Outputs:
- index - unsigned int; The index of the address book entry.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"add_address_book","params":{"address":"RYoSrF9zAg4aR2Y3ts1h24VKxE7WSZJ1GEq6NHBMqyUFCWA1g7Nw3mGe2KTrSKewV9SUrwyv9g3FeU3jqft6LFy5A1pUR2inaj1","description":"1st account"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "index":0 } }
start_mining
Start mining in the Ryo daemon.
Alias: None.
Inputs:
- threads_count - unsigned int; Number of threads created for mining.
- do_background_mining - boolean; Allow to start the miner in smart mining mode.
- ignore_battery - boolean; Ignore battery status (for smart mining only)
Outputs: None.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"start_mining","params":{"threads_count":1,"do_background_mining":true,"ignore_battery":false}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
stop_mining
Stop mining in the Ryo daemon.
Alias: None.
Inputs: None.
Outputs: None.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"stop_mining"}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
is_multisig
Check if a wallet is a multisig one.
Alias: None.
Inputs: None.
Outputs:
- multisig - boolean; States if the wallet is multisig
- ready - boolean;
- threshold - unsigned int; Amount of signature needed to sign a transfer.
- total - unsigned int; Total amount of signature in the multisig wallet.
Request:
Example for a non-multisig wallet: curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"is_multisig"}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "multisig":false, "ready":false, "threshold":0, "total":0 } } Example for a multisig wallet: curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"is_multisig"}' -H 'Content-Type: application/json' { "id":"0", "jsonrpc":"2.0", "result":{ "multisig":true, "ready":true, "threshold":2, "total":3 } }
prepare_multisig
Prepare a wallet for multisig by generating a multisig string to share with peers.
Alias: None.
Inputs: None.
Outputs:
- multisig_info - string; Multisig string to share with peers to create the multisig wallet.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"prepare_multisig"}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "multisig_info":"MultisigV1DJ4bWgXEgWbZtW22JwvkNY5oZG6vUSxMGQgnnJfhus4z49DM7vFdwfFf2ZM1eJTSMBfuhSa4VDL8H6ox8QqoWBMmiYQGFTKY4jLLqnJAhLbwuyYQ31oyBVpvg1Z2DNZzBbypi2oDQEbnm2dbbyCXWr4druVjZukpQXGxxdJmxb8mC11m" } }
make_multisig
Make a wallet multisig by importing peers multisig string.
Alias: None.
Inputs:
- multisig_info - array of string; List of multisig string from peers.
- threshold - unsigned int; Amount of signatures needed to sign a transfer. Must be
less
or equal
than the amount of signature in
multisig_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).
Request:
Example for 2/2 Multisig Wallet: curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"make_multisig","params":{"multisig_info":["MultisigV1D2fZhGnCmW2c5ugnHgVRAfSp23hb8Kd9S6pkyKKKESxnYqFfXkiJVpXJxf3AHtHpN1PegfaiiyDBPXMNtbnVKsxVC8FT4ibkCQi62FXR3pAwZPe9x4wgzpJEv4c5X9zUAxRZC4WnKgpNRwofjoVkCg4vefbVaahewErycKRKsQkd7nNY"],"threshold":2}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "address":"RYoLsiPqe4uck9pa9kGCSFitGtkbKnwotFXtWpv3eTEW1uqkhmKPQFEL7KgY3cTswLievnEB8hu4MLZHUeb7MQ2q7egRrP3f2Ld", "multisig_info":"" } } Example for 2/3 Multisig Wallet: curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"make_multisig","params":{"multisig_info":["MultisigV1D2fZhGnCmW2c5ugnHgVRAfSp23hb8Kd9S6pkyKKKESxnYqFfXkiJVpXJxf3AHtHpN1PegfaiiyDBPXMNtbnVKsxVC8FT4ibkCQi62FXR3pAwZPe9x4wgzpJEv4c5X9zUAxRZC4WnKgpNRwofjoVkCg4vefbVaahewErycKRKsQkd7nNY","MultisigV1LBb6VWNFbf4NhZeazhCJ3tiJtJqV5jGsz9jL5CSpUyGzMLtuNktNnagD8bAgkVgYvnVjzdn9CPcTwHfGK32934ZC25vzMDc7Z8c9FLLNkirQm1FLCbohxKtNGj9h145LrQfL5srM5BCaoCScR3sqKM5wRwXFi1KULD7k4hxsMgdnjhbK"],"threshold":2}}' -H 'Content-Type: application/json' { "id":"0", "jsonrpc":"2.0", "result":{ "address":"RYoLscmzLu5111111111111111111111111111111111111111btJQnGvjHXRCw95VAp28NZc5zUaUzyELAcitBoWEYdyLLGzMr", "multisig_info":"MultisigxV1JcaDJCCoTUuiVQRviVuG8DKXmt27asDQMGk3YEUTCMjgNSJzzUmPfx5eTVRPoMB3aVF5Ux5TFwcU2iNG3gss6bm7A1ysQ8fABKcFVDgH3CYz9UQg1YrMqRn9wMS4AeG5QRTy8CNwza45j7b9hnW4wHCA7y5v1YG8Sjz9r13vWQWHhvXh2m3hytdVTTkPEiY3PTuYGBb3jeK5k38qu28KuEKpUq8J" } }
export_multisig_info
Export multisig info for other participants.
Alias: None.
Inputs: None.
Outputs:
- info - string; Multisig info in hex format for other participants.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"export_multisig_info"}' -H 'Content-Type: application/json'
Response:
{ "id": "0", "jsonrpc": "2.0", "result": { "info": "52796f206d756c7469736967206578706f7274031e49ae51dc9ebe97cba7ab5df10eeb81a589814c6c48b1697b573fb2656782ad73446c27d02f38c96d3a883ca128855ede6be1a3c4eb3e3b220cca709a639cd748bd430303d4c494f8f42a16543f6e3b5aeeb17e1dd565a0aa4b4826fc9d46ee7e7b861bf78304dc12fc8072759638e85e8955a0abc42e27b07c9b8a18a77dafc2eb3e5a8b688374d057732295011fa8d1fd320fa01af128abe688c1a8062a145b1a8c9dc4aa7aa00756391904e6e79cffc2df45c030f79cc174a9ce0a16555fe344a29ad3323bd0366a0310c2fe82bcc5c4283d0c0af28139983753065c25a6a17f7d209a312454ebea930947ba1933962aa0ba4e080cc4523cb4c2d79d5d7204272b6e8e3e1bb20595d99f4ce3a54ea71846519fda3fdc8c6ca4829e85c13e60b2a945a641aed91a58f1e9c872c787b2f8c5b79c8648ab2dde1e95b94dcc1c5ac621400119073ff91737c28677bc5743885b154c4575d98c46cc7e0946a8b33b09eca508" } }
/restore_wallet
Restores wallet
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"restore_wallet","params":{"filename":"restored_from_seed","password":"x","seed":"arsenic sapling pedantic younger ruthless goodbye knuckle soil batch system orange greater threaten waffle laboratory birth optical exhale soothe orbit hoax fences jailed laptop younger","refresh_start_height":"167500"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
/restore_view_wallet
Restores view-only wallet
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"restore_wallet","params":{"filename":"restore_view_wallet","password":"x","address":"RYoLsfmhLANNkFT5dUDDsvMM3Z1Fzd57zFvJnMHcghD5j1zFEyyKovcSHMKAQ9NZZ5HeWWmzDHCL3bmdXK9b43Z7hLkWF5vzzFF","viewkey":"a643693c5cfc9d9ef5dea3a56a221c4ba22350050b264a9b0fe06cac9b9bc803","refresh_start_height":"190500","seed":"arsenic sapling pedantic younger ruthless goodbye knuckle soil batch system orange greater threaten waffle laboratory birth optical exhale soothe orbit hoax fences jailed laptop younger"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
/import_multisig_info
Import multisig info from other participants.
Alias: None.
Inputs:
- info - array of string; List of multisig info in hex format from other participants.
Outputs:
- n_outputs - unsigned int; Number of outputs signed with those multisig info.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"import_multisig_info","params":{"info":["52796f206d756c7469736967206578706f7274031e49ae51dc9ebe97cba7ab5df10eeb81a589814c6c48b1697b573fb2656782ad73446c27d02f38c96d3a883ca128855ede6be1a3c4eb3e3b220cca709a639cd748bd430303d4c494f8f42a16543f6e3b5aeeb17e1dd565a0aa4b4826fc9d46ee7e7b861bf78304dc12fc8072759638e85e8955a0abc42e27b07c9b8a18a77dafc2eb3e5a8b688374d057732295011fa8d1fd320fa01af128abe688c1a8062a145b1a8c9dc4aa7aa00756391904e6e79cffc2df45c030f79cc174a9ce0a16555fe344a29ad3323bd0366a0310c2fe82bcc5c4283d0c0af28139983753065c25a6a17f7d209a312454ebea930947ba1933962aa0ba4e080cc4523cb4c2d79d5d7204272b6e8e3e1bb20595d99f4ce3a54ea71846519fda3fdc8c6ca4829e85c13e60b2a945a641aed91a58f1e9c872c787b2f8c5b79c8648ab2dde1e95b94dcc1c5ac621400119073ff91737c28677bc5743885b154c4575d98c46cc7e0946a8b33b09eca508"]}}' -H 'Content-Type: application/json'
Response:
{ "id": "0", "jsonrpc": "2.0", "result": { "n_outputs": 10 } }
/finalize_multisig
Turn this wallet into a multisig wallet, extra step for N-1/N wallets.
Alias: None.
Inputs:
- multisig_info - array of string; List of multisig string from peers.
- password - string; Wallet password
Outputs:
- address - string; multisig wallet address.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"finalize_multisig","params":{"multisig_info":["Multisig...1","Multisig...2"]}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "address":"RYoLsihaMVUeBfU48edMqP4RvxGwQ3cg5Xv7o74GrghUCdw94JoMK653uazgtbGY22MXKSVyaAogg6fRQSSdgjoMJmb9z1f6A35" } }
/sign_multisig
Sign a transaction in multisig.
Alias: None.
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 - array of string; List of transaction Hash.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sign_multisig","params":{"tx_data_hex":"...multisig_txset..."}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "tx_data_hex":"...tx_data_hex...", "tx_hash_list":[ "c531813d66085713ee6b0b69df5fcb6051d9e46cfb2b17d55cb2ffbf13206e07" ] } }
/submit_multisig
Submit a signed multisig transaction.
Alias: None.
Inputs:
- tx_data_hex - string; Multisig transaction in hex format, as returned by
sign_multisig
undertx_data_hex
.
Outputs:
- tx_hash_list - array of string; List of transaction Hash.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"submit_multisig","params":{"tx_data_hex":"...tx_data_hex..."}}' -H 'Content-Type: application/json'
Response:
{ "id": "0", "jsonrpc": "2.0", "result": { "tx_hash_list": ["c531813d66085713ee6b0b69df5fcb6051d9e46cfb2b17d55cb2ffbf13206e07"] } }
get_address_index
Get account and address indexes from a specific (sub)address
Alias: None.
Inputs:
- address - String; (sub)address to look for.
Outputs:
- index - subaddress informations
- major unsigned int; Account index.
- minor unsigned int; Address index.
label_address
Label an address.
Alias: None.
Inputs:
- index - subaddress index; JSON Object containing the major & minor address
index:
- major - unsigned int; Account index for the subaddress.
- minor - unsigned int; Index of the subaddress in the account.
- label - string; Label for the address.
Outputs: None.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"label_address","params":{"address_index":[1],"label":"myLabel"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
create_account
Create a new account with an optional label.
Alias: None.
Inputs:
- label - string; (Optional) Label for the account.
Outputs:
- account_index - unsigned int; Index of the new account.
- address - string; Address for this account. Base58 representation of the public keys.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"create_account","params":{"label":"Secondary account"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "account_index":1, "address":"RYoSrJv53kzGWQkU2ausiTEGDaRPTcQn4h6DVSnpvyWE8ta5rJF4cPCfx2TkpkD7JMWiGLjEz7QthR7NgqtLVYXkasLthmrbjRm" } }
sweep_all
Send all unlocked balance to an address.
Alias: None.
Inputs:
- address - string; Destination public address.
- account_index - unsigned int; Sweep transactions from this account.
- subaddr_indices - array of unsigned int; (Optional) Sweep from this set of subaddresses in the account.
- priority - unsigned int; (Optional) Priority for sending the sweep transfer, partially determines fee.
- mixin - unsigned int; Number of outputs from the blockchain to mix with (0 means no mixing).
- ring_size - unsigned int; Sets ringsize to n (mixin + 1).
- unlock_time - unsigned int; Number of blocks before the ryo 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 - boolean; (Optional) Return the transaction keys after sending.
- below_amount - unsigned int; (Optional) Include outputs below this amount.
- do_not_relay - boolean; (Optional) If true, do not relay this sweep transfer. (Defaults to false)
- get_tx_hex - boolean; (Optional) return the transactions as hex encoded string. (Defaults to false)
- get_tx_metadata - boolean; (Optional) return the transaction metadata as a string. (Defaults to false)
Outputs:
- tx_hash_list - array of: string. The tx hashes of every transaction.
- tx_key_list - array of: string. The transaction keys for every transaction.
- amount_list - array of: integer. The amount transferred for every transaction.
- fee_list - array of: integer. The amount of fees paid for every transaction.
- tx_blob_list - array of: string. The tx as hex string for every transaction.
- tx_metadata_list - array of: 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.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sweep_all","params":{"address":"RYoLsfGWE6FfLjaV87ervPdbZRP4GZoUqWr7XbM5Ws61LibMVcrvYUJ5JAZW2xHXdjSQtnPDkc9CWZM3EJocHVSHCFwQZVSyxnY","subaddr_indices":[0],"ring_size":13,"unlock_time":0,"get_tx_keys":true}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "amount_list":[ 13889001650 ], "fee_list":[ 15000000 ], "multisig_txset":"", "tx_hash_list":[ "5b02234388657fdbae0ba1747684eb6e446589b032e6352d46ac8c35624a71b9" ], "tx_key_list":[ "004206736be2ef3761803ed5c51587c0f6bf0e6039ac60116ddcbbe02e848708" ] } }
sweep_single
Send all of a specific unlocked output to an address.
Alias: None.
Inputs:
- address - string; Destination public address.
- account_index - unsigned int; Sweep transactions from this account.
- subaddr_indices - array of unsigned int; (Optional) Sweep from this set of subaddresses in the account.
- priority - unsigned int; (Optional) Priority for sending the sweep transfer, partially determines fee.
- mixin - unsigned int; Number of outputs from the blockchain to mix with (0 means no mixing).
- ring_size - unsigned int; Sets ringsize to n (mixin + 1).
- unlock_time - unsigned int; Number of blocks before the ryo 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 - boolean; (Optional) Return the transaction keys after sending.
- key_image - string; Key image of specific output to sweep.
- below_amount - unsigned int; (Optional) Include outputs below this amount.
- do_not_relay - boolean; (Optional) If true, do not relay this sweep transfer. (Defaults to false)
- get_tx_hex - boolean; (Optional) return the transactions as hex encoded string. (Defaults to false)
- get_tx_metadata - boolean; (Optional) return the transaction metadata as a string. (Defaults to false)
Outputs:
- tx_hash_list - array of: string. The tx hashes of every transaction.
- tx_key_list - array of: string. The transaction keys for every transaction.
- amount_list - array of: integer. The amount transferred for every transaction.
- fee_list - array of: integer. The amount of fees paid for every transaction.
- tx_blob_list - array of: string. The tx as hex string for every transaction.
- tx_metadata_list - array of: 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.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sweep_single","params":{"address":"RYoLsfGWE6FfLjaV87ervPdbZRP4GZoUqWr7XbM5Ws61LibMVcrvYUJ5JAZW2xHXdjSQtnPDkc9CWZM3EJocHVSHCFwQZVSyxnY","ring_size":13,"unlock_time":0,"key_image":"516d06d2063db0d1fc68ea5819a78c3d8313898aeaf15e6192ff98f4e301ee20","get_tx_keys":true}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "amount":486500000, "fee":13500000, "multisig_txset":"", "tx_blob":"", "tx_hash":"32b084b064b08a58f9479eaeb0e2034a554803cb185828a1949ca4bae252b7e3", "tx_key":"", "tx_metadata":"" } }
relay_tx
Relay a transaction previously created with "do_not_relay":true
.
Alias: None.
Inputs:
- hex - string; transaction metadata returned from a
transfer
method withget_tx_metadata
set totrue
.
Outputs:
- tx_hash - String for the publically searchable transaction hash.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"relay_tx","params":{"hex":"...tx_metadata..."}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "fee":0, "tx_blob":"", "tx_hash":"bba647f72d8d2c89803a56acef42e95184f4ce11fff14128994ad674323ba2cd", "tx_key":"" } }
query_key
Return the spend or view private key.
Alias: None.
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.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"query_key","params":{"key_type":"view_key"}}' -H 'Content-Type: application/json'
Response:
Example (Query mnemonic key): { "id":"0", "jsonrpc":"2.0", "result":{ "key":"roles makeup lunar trying topic wives jabbed oncoming sidekick legion hurried gifts bugs dwarf" } }{ "id":"0", "jsonrpc":"2.0", "result":{ "key":"c156d645ce8a1a74da58f855f0e96b3ee3c3b1e544143909512038f1997b6f09" } }
make_integrated_address
Make an integrated address from the wallet address and a payment id.
Alias: None.
Inputs:
- standard_address - string; (Optional, defaults to primary address) Destination public address.
- payment_id - string; 16 characters hex encoded; can't be empty.
Outputs:
- integrated_address - string
- payment_id - string; hex encoded;
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"make_integrated_address","params":{"payment_id":"ef2ee78bd2316931"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "integrated_address":"RYoNsB8o5ckdMFijLPXNffMWEFxq17ZbtENpB8hqH7d3FLQqkadt3tgi2Z9Afw135BeQGC87bKYxKc6feRTgDY883kqvAFjL8x2cA8rrSop5Kq", "payment_id":"ef2ee78bd2316931" } }
split_integrated_address
Retrieve the standard address and payment id corresponding to an integrated address.
Alias: None.
Inputs:
- integrated_address - string
Outputs:
- is_subaddress - boolean; States if the address is a subaddress
- payment - string; hex encoded
- standard_address - string
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"split_integrated_address","params":{"integrated_address": "RYoNsB8o5ckdMFijLPXNffMWEFxq17ZbtENpB8hqH7d3FLQqkadt3tgi2Z9Afw135BeQGC87bKYxKc6feRTgDY883kqvAFjL8x2cA8rrSop5Kq"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "is_subaddress":false, "payment_id":"ef2ee78bd2316931", "standard_address":"RYoLseSV7WGdMFijLPXNffMWEFxq17ZbtENpB8hqH7d3FLQqkadt3tgi2Z9Afw135BeQGC87bKYxKc6feRTgDY883kqvAAVLEUb" } }
rescan_blockchain
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.
Alias: None.
Inputs: None.
Outputs: None.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"rescan_blockchain"}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
get_tx_notes
Get string notes for transactions.
Alias: None.
Inputs:
- txids - array of string; transaction ids
Outputs:
- notes - array of string; notes for the transactions
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_tx_notes","params":{"txids":["c595e58c057a9a831fb94efdc3fbfe34d482ebdbf57ee084e4e81002739c52fd"],"notes":["Nostradamus knows the future"]}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
set_attribute
Set arbitrary attribute.
Alias: None.
Inputs:
- key - string; attribute name
- value - string; attribute value
Outputs: None.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"set_attribute","params":{"key":"my_attribute","value":"my_value"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
get_attribute
Get attribute value by name.
Alias: None.
Inputs:
- key - string; attribute name
Outputs:
- value - string; attribute value
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_attribute","params":{"key":"my_attribute"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "value":"my_value" } }
get_tx_key
Get transaction secret key from transaction id.
Alias: None.
Inputs:
- txid - string; transaction id.
Outputs:
- tx_key - string; transaction secret key.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_tx_key","params":{"txid":"7a1477549dceebc91832e3698cc2e8b80aa023426f1fb1f8e54393b4a86d8ead"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "tx_key":"0f4bb1619537f28126d9e174a0c8f628a5933efbb0c52044f74024178a432001" } }
check_tx_key
Check a transaction in the blockchain with its secret key.
Alias: None.
Inputs:
- txid - string; transaction id.
- tx_key - string; transaction secret key.
- address - string; destination public address of the transaction.
Outputs:
- confirmations - unsigned int; Number of block mined after the one with the transaction.
- in_pool - boolean; States if the transaction is still in pool or has been added to a block.
- received - unsigned int; Amount of the transaction.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_tx_key","params":{"txid":"7a1477549dceebc91832e3698cc2e8b80aa023426f1fb1f8e54393b4a86d8ead","tx_key":"0f4bb1619537f28126d9e174a0c8f628a5933efbb0c52044f74024178a432001","address":"RYoLsfGWE6FfLjaV87ervPdbZRP4GZoUqWr7XbM5Ws61LibMVcrvYUJ5JAZW2xHXdjSQtnPDkc9CWZM3EJocHVSHCFwQZVSyxnY"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "confirmations":15, "in_pool":false, "received":2982999178 } }
check_tx_proof
Prove a transaction by checking its signature.
Alias: None.
Inputs:
- txid - string; transaction id.
- address - string; destination public address of the transaction.
- message - string; (Optional) Should be the same message used in
get_tx_proof
. - signature - string; transaction signature to confirm.
Outputs:
- confirmations - unsigned int; Number of block mined after the one with the transaction.
- good - boolean; States if the inputs proves the transaction.
- in_pool - boolean; States if the transaction is still in pool or has been added to a block.
- received - unsigned int; Amount of the transaction.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_tx_proof","params":{"txid":"7a1477549dceebc91832e3698cc2e8b80aa023426f1fb1f8e54393b4a86d8ead","address":"RYoLsfGWE6FfLjaV87ervPdbZRP4GZoUqWr7XbM5Ws61LibMVcrvYUJ5JAZW2xHXdjSQtnPDkc9CWZM3EJocHVSHCFwQZVSyxnY","message":"John Snow knows NOTHING!","signature":"InProofV1GNUGf8Ty32UPR52dVqAVJvjYtNnQWvtinG1YAbFviYKvKaZMakCHCMjPSrc517doh5HDQaNw1CmqxZNuvsPGFCotjE6Z6tQb6b72CovxpWcrD44mUHagXQXHg7g7S7TRuGTh"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "confirmations":16, "good":true, "in_pool":false, "received":2982999178 } } In the example below, the wrong message is used, avoiding the transaction to be proved: curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_tx_proof","params":{"txid":"7a1477549dceebc91832e3698cc2e8b80aa023426f1fb1f8e54393b4a86d8ead","address":"RYoLsfGWE6FfLjaV87ervPdbZRP4GZoUqWr7XbM5Ws61LibMVcrvYUJ5JAZW2xHXdjSQtnPDkc9CWZM3EJocHVSHCFwQZVSyxnY","message":"John Snow knows everything!","signature":"InProofV1GNUGf8Ty32UPR52dVqAVJvjYtNnQWvtinG1YAbFviYKvKaZMakCHCMjPSrc517doh5HDQaNw1CmqxZNuvsPGFCotjE6Z6tQb6b72CovxpWcrD44mUHagXQXHg7g7S7TRuGTh"}}' -H 'Content-Type: application/json' { "id":"0", "jsonrpc":"2.0", "result":{ "confirmations":0, "good":false, "in_pool":false, "received":0 } }
check_spend_proof
Prove a spend using a signature. Unlike proving a transaction, it does not requires the destination public address.
Alias: None.
Inputs:
- txid - string; transaction id.
- message - string; (Optional) Should be the same message used in
get_spend_proof
. - signature - string; transaction signature to confirm.
Outputs:
- good - boolean; States if the inputs proves the transaction.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_spend_proof","params":{"txid":"7a1477549dceebc91832e3698cc2e8b80aa023426f1fb1f8e54393b4a86d8ead","message":"The monkey Jules has no friends","signature":"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"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "good":true } } In the example below, the wrong message is used, avoiding the spend to be proved: curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_spend_proof","params":{"txid":"7a1477549dceebc91832e3698cc2e8b80aa023426f1fb1f8e54393b4a86d8ead","message":"The monkey Jules has many friends","signature":"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"}}' -H 'Content-Type: application/json' { "id":"0", "jsonrpc":"2.0", "result":{ "good":false } }
get_reserve_proof
Generate a signature to prove of an available amount in a wallet.
Alias: None.
Inputs:
- all - boolean; Proves all wallet balance to be disposable.
- account_index - unsigned int; Specify the account from witch to prove reserve.
(ignored if
all
is set to true) - amount - unsigned int; 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; transaction signature.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_reserve_proof","params":{"all":false,"account_index":0,"amount":13918002061}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "signature":"ReserveProofV11BZ23sBt9sZJeGccf84mzyAmNCP3KzYbE1111112Wfh1111118PKz8tVddiuAC4fhpN116U5efs9vS82eLMPdZY2FoP2296BDS7113UaRiFDreV5SEGHJo7Cn4eaAq2ue6KkBspBjb9Bx39Xd3RHG71yvfbwjfwJBW39ZD7ujYBEfSquFZGAbGbybFDgzpagTYMMxj113kcrAyoDgNiKGKuSdwMCRVMCn8S9Eiy2zkyrvJfE1hS8h2th6wno63GP1KH3ciUzhz82ZaMwDjnSVTPtaDhikiJFnUcuktPZJ8HURrvhib2MRZyEdx8kojaaL1edMjRcvnKfrC3q24Cu9ePJ28sqDAqfcXiabx2csemVkczUBcvmeAEenMqNuGj9B4RYjbdhuVsu9WgULTBi41PTnY88PRwMmnCJaiXqoA1jv1Ak9cHApHYkjWRPSoNn6ryXYyNZqg8BjdJnYp52Lj5gjKfnzRxe4WS5TayoCfBvHUUgDXt2KRvm4egXHekw8zAddVvnwJwgot6M5MFb6ci4xseZuUKF99DNd43vUaatpAnNuj6k49iCUhxjC9xmABYJycyTqfPEb5LVhegDW7cFT54Xb3KPnjkiGaaUBoVkgqxfXRwcFaT2cKrFfQZy5meRT8PSmgB4QnErDZsc2g2gJNRsPioT5tQRkXVPN7hmbRaNBbP4RiRMAqEeiybf1Ak9kFwCEibK4qt2yG2FEc9PwATJ7affi7hswQRdEyeVAvevrspAjHeey74cLxqTHqGVJL5SKvHec5yfqneHhup1DjFiGfpTqQC6VU8X8eRVVQ52WxVRD7iDLHpsjqknQoP4WSMqzyQ5XYQG4AHyWjwVHeR9yJeSAnZKvBEPU1x6ssxMPJAZZhqvXTL9oo67arU6oWFdaK6g5pKhLQigivokVNWjTqfJ8Tf21cWECNpd4TfABWan5DBATfYATUc6XMs44mEfUPTsnjXE7PPbVhw3zs9UkiaKyjQM2LAhNABEwdCDQ2bBWFHkZaTBfLAWAougJTWUBnS5Bkqj3ws8rXzj4RZKXYvfNu6rGPgZLu1fpJF91Wh7h91Bx1GqbMxomJdYipqKVJURZx6Bi7vfu3GNFTT8EgsqVU3kAMkwyV7QbZL2vHR3DLcHWziS2MzpRS7heQqKTW7fg79Hh7fLZTK7a8e182TrDndSQSRS5mpw6o78dqLw4HG42eYU4nffPNta8fURTMV1GQoz3p5evHm4zbcXCtohTVnZm4XtQGsUYtNaBK8jeytivZMW7mXK9JAFHEo5uYg7xABFGcFeCfix5Arq45e68fDkG9ogd7VHtnVdinrXMXns88aoFUfVSYVA8vsKT1Bx4JNxLQyUhC8s1UtTadzY8fJ2GUSXCG9m7ieQ1gmw7AbGa6qhoMMfQKyrASRVXpYXgiQgCM9FSCJszp74p8nVoWPoH642wWwqRz86j55i4oA64kwiVFC1bBdb2T6CA5aWaZZaW9rcjcj61D8wFsjXSwEK2ePxWEkwoCe2y264x6BJ2GnhdAL3PLhCJEnKjDAK56UAA9wAi6AwxtdkiAARWMurJ21Sr8KNFaJsFtiThvPtbR2Sz7k8QKvAEe4Ka5c5Vf6hABvR4gTsotuL25YBjYwoJJJ1xXoynGqx1D8bsvSY5GiUrJf7YqsuRYXs8RrmkQGepCG1BvrRvaKsCsVM28Besiffoc2YrddN6tvk9LT4Zj63LppNkMSqSrPf4TeWX9VddGgiQaf8RKnAJKECNjHMtRYRFu9edUsnRdgPq7fX37MmPhBeJPCnB7mXxLN5eYReJZX1g5d1GM4Vr" } }
get_transfer_by_txid
Show information about a transfer to/from this address.
Alias: None.
Inputs:
- txid - string; Transaction ID used to find the transfer.
- account_index - unsigned int; (Optional) Index of the account to query for the transfer.
Outputs:
- transfer - JSON object containing payment information:
- address - string; Address that transferred the funds. Base58 representation of the public keys.
- amount - unsigned int; Amount of this transfer.
- confirmations - unsigned int; 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).
- destinations - array of JSON objects containing transfer destinations:
- amount - unsigned int; Amount transferred to this destination.
- address - string; Address for this destination. Base58 representation of the public keys.
- double_spend_seen - boolean; True if the key image(s) for the transfer have been seen before.
- fee - unsigned int; Transaction fee for this transfer.
- height - unsigned int; Height of the first block that confirmed this transfer.
- note - string; Note about this transfer.
- payment_id - string; Payment ID for this transfer.
- subaddr_index - JSON object containing the major & minor subaddress
index:
- major - unsigned int; Account index for the subaddress.
- minor - unsigned int; Index of the subaddress under the account.
- suggested_confirmations_threshold - unsigned int; Estimation of the confirmations needed for the transaction to be included in a block.
- timestamp - unsigned int; POSIX timestamp for the block that confirmed this transfer (or timestamp submission if not mined yet).
- txid - string; Transaction ID of this transfer (same as input TXID).
- type - string; Type of transfer, one of the following: "in", "out", "pending", "failed", "pool"
- unlock_time - unsigned int; Number of blocks until transfer is safely spendable.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_transfer_by_txid","params":{"txid":"c595e58c057a9a831fb94efdc3fbfe34d482ebdbf57ee084e4e81002739c52fd"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "transfer":{ "address":"RYoLseSV7WGdMFijLPXNffMWEFxq17ZbtENpB8hqH7d3FLQqkadt3tgi2Z9Afw135BeQGC87bKYxKc6feRTgDY883kqvAAVLEUb", "amount":1000000000, "double_spend_seen":false, "fee":14000000, "height":196309, "note":"", "payment_id":"0000000000000000", "subaddr_index":{ "major":0, "minor":0 }, "timestamp":1542235829, "txid":"c595e58c057a9a831fb94efdc3fbfe34d482ebdbf57ee084e4e81002739c52fd", "type":"in", "unlock_time":0 } } }
/sign
Sign a string.
Alias: None.
Inputs:
- data - string; Anything you need to sign.
Outputs:
- signature - string; Signature generated against the "data" and the account public address.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sign","params":{"data":"Privacy is for eveRYOne!"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "signature":"SigV1GUKrAs71GuJE5dk1skq11TjMCWfQA3xVRPkLcpTFw8Z4Va6ch8xDnxkCfcfAof48C86LUS6NehRBiABYJKV4rZPn" } }
verify
Verify a signature on a string.
Alias: None.
Inputs:
- data - string; What should have been signed.
- address - string; Public address of the wallet used to
sign
the data. - signature - string; signature generated by
sign
method.
Outputs:
- good - boolean;
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sign","params":{"data":"Privacy is for eveRYOne!"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "signature":"SigV1GUKrAs71GuJE5dk1skq11TjMCWfQA3xVRPkLcpTFw8Z4Va6ch8xDnxkCfcfAof48C86LUS6NehRBiABYJKV4rZPn" } }
export_outputs
Export all outputs in hex format.
Alias: None.
Inputs: None.
Outputs:
- outputs_data_hex - string; wallet outputs in hex format.
import_outputs
Import outputs in hex format.
Alias: None.
Inputs:
- outputs_data_hex - string; wallet outputs in hex format.
Outputs:
- num_imported - unsigned int; number of outputs imported.
make_uri
Create a payment URI using the official URI spec.
Alias: None.
Inputs:
- address - string; Wallet address
- amount - unsigned int; (optional) the integer amount to receive, in atomic units
- payment_id - string; (optional) 16 or 64 character hexadecimal payment id
- recipient_name - string; (optional) name of the payment recipient
- tx_description - string; (optional) Description of the reason for the tx
Outputs:
- uri - string; This contains all the payment input information as a properly formatted payment URI
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"make_uri","params":{"address":"RYoLseSV7WGdMFijLPXNffMWEFxq17ZbtENpB8hqH7d3FLQqkadt3tgi2Z9Afw135BeQGC87bKYxKc6feRTgDY883kqvAAVLEUb","amount":10,"payment_id":"ef2ee78bd2316931","tx_description":"Test of make_uri method.","recipient_name":"TomCryptominer_donations"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "uri":"ryo:RYoLseSV7WGdMFijLPXNffMWEFxq17ZbtENpB8hqH7d3FLQqkadt3tgi2Z9Afw135BeQGC87bKYxKc6feRTgDY883kqvAAVLEUb?tx_payment_id=ef2ee78bd2316931&tx_amount=0.000000010&recipient_name=TomCryptominer_donations&tx_description=Test%20of%20make_uri%20method." } }
parse_uri
Parse a payment URI to get payment information.
Alias: None.
Inputs:
- uri - string; This contains all the payment input information as a properly formatted payment URI
Outputs:
- uri - JSON object containing payment information:
- address - string; Wallet address
- amount - unsigned int; Decimal amount to receive, in coin units (0 if not provided)
- payment_id - string; 16 or 64 character hexadecimal payment id (empty if not provided)
- recipient_name - string; Name of the payment recipient (empty if not provided)
- tx_description - string; Description of the reason for the tx (empty if not provided)
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"parse_uri","params":{"uri":"ryo:RYoLseSV7WGdMFijLPXNffMWEFxq17ZbtENpB8hqH7d3FLQqkadt3tgi2Z9Afw135BeQGC87bKYxKc6feRTgDY883kqvAAVLEUb?tx_payment_id=ef2ee78bd2316931&tx_amount=0.000000010&recipient_name=TomCryptominer_donations&tx_description=Test%20of%20make_uri%20method."}}' -H 'Content-Type: application/json'
Response:
{ "id": "0", "jsonrpc": "2.0", "result": { "uri": { "address": "RYoLseSV7WGdMFijLPXNffMWEFxq17ZbtENpB8hqH7d3FLQqkadt3tgi2Z9Afw135BeQGC87bKYxKc6feRTgDY883kqvAAVLEUb", "amount": 10, "payment_id": "ef2ee78bd2316931", "recipient_name": "TomCryptominer_donations", "tx_description": "Test of make_uri method." } } }
get_address_book
Retrieves entries from the address book.
Alias: None.
Inputs:
- entries - array of unsigned int; indices of the requested address book entries
Outputs:
- entries - array of entries:
- address - string; Public address of the entry
- description - string; Description of this address entry
- index - unsigned int;
- payment_id - string;
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_address_book","params":{"entries":[0,1]}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "entries":[ { "address":"RYoLseSV7WGdMFijLPXNffMWEFxq17ZbtENpB8hqH7d3FLQqkadt3tgi2Z9Afw135BeQGC87bKYxKc6feRTgDY883kqvAAVLEUb", "description":"3rd account", "index":0, "payment_id":"0000000000000000000000000000000000000000000000000000000000000000" }, { "address":"RYoLseSV7WGdMFijLPXNffMWEFxq17ZbtENpB8hqH7d3FLQqkadt3tgi2Z9Afw135BeQGC87bKYxKc6feRTgDY883kqvAAVLEUb", "description":"1st account", "index":1, "payment_id":"0000000000000000000000000000000000000000000000000000000000000000" } ] } }
get_languages
Get a list of available languages for your wallet's seed.
Alias: None.
Inputs: None.
Outputs:
- languages - array of string; List of available languages
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_languages"}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "languages":[ "Deutsch", "English", "Español", "Français", "Italiano", "Nederlands", "Português", "Русский", "日本語", "简体 中文 (中国)", "Esperanto", "Lojban" ] } }
create_wallet
Create a new wallet. You need to have set the argument "–wallet-dir" when launching ryo-wallet-rpc to make this work.
Alias: None.
Inputs:
- filename - string; Wallet file name.
- password - string; (Optional) password to protect the wallet.
- language - string; Language for your wallets' seed.
Outputs: None.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"create_wallet","params":{"filename":"createTestWallet","password":"myTestPassword","language":"English"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
get_version
Get RPC version Major & Minor integer-format, where Major is the first 16 bits and Minor the last 16 bits.
Alias: None.
Inputs: None.
Outputs:
- version - unsigned int; RPC version, formatted with
Major * 2^16 + Minor
(Major encoded over the first 16 bits, and Minor over the last 16 bits).
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"create_wallet","params":{"filename":"createTestWallet","password":"myTestPassword","language":"English"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
get_balance
Return the wallet's balance.
Alias: getbalance.
Inputs:
- account_index - unsigned int; Return balance for this account.
- address_indices - array of unsigned int; (Optional) Return balance detail for those subaddresses.
Outputs:
- balance - unsigned int; The total balance of the current ryo-wallet-rpc in session.
- unlocked_balance - unsigned int; Unlocked funds are those funds that are sufficiently deep enough in the Ryo blockchain to be considered safe to spend.
- multisig_import_needed - boolean; True if importing multisig data is needed for returning a correct balance.
- per_subaddress - array of subaddress information; Balance information for each
subaddress in an
account.
- address_index - unsigned int; Index of the subaddress in the account.
- address - string; Address at this index. Base58 representation of the public keys.
- balance - unsigned int; Balance for the subaddress (locked or unlocked).
- unlocked_balance - unsigned int; Unlocked balance for the subaddress.
- label - string; Label for the subaddress.
- num_unspent_outputs - unsigned int; Number of unspent outputs available for the subaddress.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_balance","params":{"account_index":0,"address_indices":[0,1]}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "balance":4242, "multisig_import_needed":false, "per_subaddress":[ { "address":"RYoLsfGWE6FfLjaV87ervPdbZRP4GZoUqWr7XbM5Ws61LibMVcrvYUJ5JAZW2xHXdjSQtnPDkc9CWZM3EJocHVSHCFwQZVSyxnY", "address_index":0, "balance":4242, "label":"Primary account", "num_unspent_outputs":2, "unlocked_balance":4242 } ], "unlocked_balance":4242 } }
get_address
Return the wallet's addresses for an account. Optionally filter for specific set of subaddresses.
Alias: getaddress.
Inputs:
- account_index - unsigned int; Return subaddresses for this account.
- address_index - array of unsigned int; (Optional) List of subaddresses to return from an account.
Outputs:
- address - string; The 95-character hex address string of the ryo-wallet-rpc in session.
- addresses array of addresses informations
- address string; The 95-character hex (sub)address string.
- label string; Label of the (sub)address
- address_index unsigned int; index of the subaddress
- used boolean; states if the (sub)address has already received funds
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_address","params":{"account_index":0,"address_index":[0,1,4]}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "address":"RYoLsfGWE6FfLjaV87ervPdbZRP4GZoUqWr7XbM5Ws61LibMVcrvYUJ5JAZW2xHXdjSQtnPDkc9CWZM3EJocHVSHCFwQZVSyxnY", "addresses":[ { "address":"RYoLsfGWE6FfLjaV87ervPdbZRP4GZoUqWr7XbM5Ws61LibMVcrvYUJ5JAZW2xHXdjSQtnPDkc9CWZM3EJocHVSHCFwQZVSyxnY", "address_index":0, "label":"Primary account", "used":true }, { "address":"RYoSrJEM9qfAZPQxRjcP22J28fmcCk55taG6k9c1SSmcY1uBsaUFzX26X1bUaN9kQMfuNjX7T3SzC1u9WAXPJH2cWjn9wvim1Qs", "address_index":1, "label":"", "used":false }, { "address":"RYoSrDP4GHe7ti7nFJBrQQDb6NpGZGWA57PjSa7A66P95auvCiwDp6fFL32iVSZvmc8K3dwr82P2SLmHr3iADhAtCCk5GHET2D1", "address_index":4, "label":"", "used":false } ] } }
create_address
Create a new address for an account. Optionally, label the new address.
Alias: None.
Inputs:
- account_index - unsigned int; Create a new address for this account.
- label - string; (Optional) Label for the new address.
Outputs:
- address - string; Newly created address. Base58 representation of the public keys.
- address_index - unsigned int; Index of the new address under the input account.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"create_address","params":{"account_index":0,"label":"new-sub"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "address":"RYoSrJEM9qfAZPQxRjcP22J28fmcCk55taG6k9c1SSmcY1uBsaUFzX26X1bUaN9kQMfuNjX7T3SzC1u9WAXPJH2cWjn9wvim1Qs", "address_index":1 } }
get_accounts
Get all accounts for a wallet. Optionally filter accounts by tag.
Alias: None.
Inputs:
- tag - string; (Optional) Tag for filtering accounts.
Outputs:
- subaddress_accounts - array of subaddress account information:
- account_index - unsigned int; Index of the account.
- balance - unsigned int; Balance of the account (locked or unlocked).
- base_address - string; Base64 representation of the first subaddress in the account.
- label - string; (Optional) Label of the account.
- tag - string; (Optional) Tag for filtering accounts.
- unlocked_balance - unsigned int; Unlocked balance for the account.
- total_balance - unsigned int; Total balance of the selected accounts (locked or unlocked).
- total_unlocked_balance - unsigned int; Total unlocked balance of the selected accounts.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_accounts","params":{"tag":"myTag"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "subaddress_accounts":[ { "account_index":0, "balance":0, "base_address":"RYoLseSV7WGdMFijLPXNffMWEFxq17ZbtENpB8hqH7d3FLQqkadt3tgi2Z9Afw135BeQGC87bKYxKc6feRTgDY883kqvAAVLEUb", "label":"Primary account", "tag":"myTag", "unlocked_balance":0 }, { "account_index":1, "balance":0, "base_address":"RYoSrJv53kzGWQkU2ausiTEGDaRPTcQn4h6DVSnpvyWE8ta5rJF4cPCfx2TkpkD7JMWiGLjEz7QthR7NgqtLVYXkasLthmrbjRm", "label":"Secondary account", "tag":"myTag", "unlocked_balance":0 } ], "total_balance":0, "total_unlocked_balance":0 } } When the filtered on tag isn't assigned to any addresses: { "error": { "code": -1, "message": "Tag myTag is unregistered." }, "id": "0", "jsonrpc": "2.0" }
label_account
Label an account.
Alias: None.
Inputs:
- account_index - unsigned int; Apply label to account at this index.
- label - string; Label for the account.
Outputs: None.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"label_account","params":{"account_index":0,"label":"Primary account"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
get_account_tags
Get a list of user-defined account tags.
Alias: None.
Inputs: None.
Outputs:
- account_tags - array of account tag information:
- tag - string; Filter tag.
- label - string; Label for the tag.
- accounts - array of int; List of tagged account indices.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"1","method":"get_account_tags","params":""}' -H 'Content-Type: application/json'
Response:
{ "id":"1", "jsonrpc":"2.0", "result":{ "account_tags":[ { "accounts":[ 0 ], "label":"", "tag":"myTag0" }, { "accounts":[ 1 ], "label":"", "tag":"myTag1" } ] } }
tag_accounts
Apply a filtering tag to a list of accounts.
Alias: None.
Inputs:
- tag - string; Tag for the accounts.
- accounts - array of unsigned int; Tag this list of accounts.
Outputs: None.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"tag_accounts","params":{"tag":"myTag","accounts":[0,1]}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
untag_accounts
Remove filtering tag from a list of accounts.
Alias: None.
Inputs:
- accounts - array of unsigned int; Remove tag from this list of accounts.
Outputs: None.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"untag_accounts","params":{"accounts":[1]}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
set_account_tag_description
Set description for an account tag.
Alias: None.
Inputs:
- tag - string; Set a description for this tag.
- description - string; Description for the tag.
Outputs: None.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"set_account_tag_description","params":{"tag":"myTag","description":"Test tag"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
get_height
Returns the wallet's current block height.
Alias: getheight.
Inputs: None.
Outputs:
- height - unsigned int; The current ryo-wallet-rpc's blockchain height. If the wallet has been offline for a long time, it may need to catch up with the daemon.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_height"}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "height":192713 } }
transfer
Send Ryo to a number of recipients.
Alias: None.
Inputs:
- destinations - array of destinations to receive Ryo:
- amount - unsigned int; Amount to send to each destination, in atomic units.
- address - string; Destination public address.
- account_index - unsigned int; (Optional) Transfer from this account index. (Defaults to 0)
- subaddr_indices - array of unsigned int; (Optional) Transfer from this set of subaddresses. (Defaults to 0)
- priority - unsigned int; Set a priority for the transaction. Accepted Values are: 0-3 for: default, unimportant, normal, elevated, priority.
- mixin - unsigned int; Number of outputs from the blockchain to mix with (0 means no mixing).
- ring_size - unsigned int; Number of outputs to mix in the transaction (this output + N decoys from the blockchain).
- unlock_time - unsigned int; Number of blocks before the ryo 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_key - boolean; (Optional) Return the transaction key after sending.
- do_not_relay - boolean; (Optional) If true, the newly created transaction will not be relayed to the ryo network. (Defaults to false)
- get_tx_hex - boolean; Return the transaction as hex string after sending (Defaults to false)
- get_tx_metadata - boolean; Return the metadata needed to relay the transaction. (Defaults to false)
Outputs:
- amount - Amount transferred for the transaction.
- fee - Integer value of the fee charged for the txn.
- multisig_txset - Set of multisig transactions in the process of being signed (empty for non-multisig).
- tx_blob - Raw transaction represented as hex string, if get_tx_hex is true.
- tx_hash - String for the publically searchable transaction hash.
- tx_key - String for the transaction key if get_tx_key is true, otherwise, blank string.
- tx_metadata - Set of transaction metadata needed to relay this transfer later, if get_tx_metadata is true.
- unsigned_txset - String. Set of unsigned tx for cold-signing purposes.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"transfer","params:{"destinations":[{"amount":1000000411,"address":"RYoKswMJiouLp2u9jTBMphPiTNR3NzTWSX16GdLiuwX38ksHytnQnBZ"},{"amount":1000000042,"address":"RYoLsedkTcWcTgfaMTnUBq1kBGhw1VsH1TnZbCCnaEAL3iF1XfbZg7jezQecxz5gZsbmwZgKdHhrE8E126Kzje2sMPaNC7asCiN"}],"account_index":0,"subaddr_indices":[0],"priority":0,"ring_size":13,"get_tx_key": true}}' -H 'Content-Type: applicati on/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "amount":2000000453, "fee":17000000, "multisig_txset":"", "tx_blob":"", "tx_hash":"e9dc5dab2d5c2a6bfc0cdf7d8d0bfedd03600d963090f337165f47587b379b56", "tx_key":"637c83bcf6797d633b141da7fe09d91da7a631c10aa3fc0a833db3432fba670b", "tx_metadata":"" } }
sign_transfer
Sign a transaction created on a read-only wallet (in cold-signing process)
Alias: None.
Inputs:
- unsigned_txset - string. Set of unsigned tx returned by "transfer" or "transfer_split" methods.
- export_raw - boolean; (Optional) If true, return the raw transaction data. (Defaults to false)
Outputs:
- signed_txset - string. Set of signed tx to be used for submitting transfer.
- tx_hash_list - array of: string. The tx hashes of every transaction.
- tx_raw_list - array of: string. The tx raw data of every transaction.
In the example below, we first generate an unsigned_txset on a read only wallet before signing it:
Generate unsigned_txset using the above "transfer" method on read-only wallet:
submit_transfer
Submit a previously signed transaction on a read-only wallet (in cold-signing process).
Alias: None.
Inputs:
- tx_data_hex - string; Set of signed tx returned by "sign_transfer"
Outputs:
- tx_hash_list - array of: string. The tx hashes of every transaction.
/sweep_dust
Send all dust outputs back to the wallet's, to make them easier to spend (and mix).
Alias: sweep_unmixable.
Inputs:
- get_tx_keys - boolean; (Optional) Return the transaction keys after sending.
- do_not_relay - boolean; (Optional) If true, the newly created transaction will not be relayed to the ryo network. (Defaults to false)
- get_tx_hex - boolean; (Optional) Return the transactions as hex string after sending. (Defaults to false)
- get_tx_metadata - boolean; (Optional) Return list of transaction metadata needed to relay the transfer later. (Defaults to false)
Outputs:
- tx_hash_list - array of: string. The tx hashes of every transaction.
- tx_key_list - array of: string. The transaction keys for every transaction.
- amount_list - array of: integer. The amount transferred for every transaction.
- fee_list - array of: integer. The amount of fees paid for every transaction.
- tx_blob_list - array of: string. The tx as hex string for every transaction.
- tx_metadata_list - array of: 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.
/store
Save the wallet file.
Alias: None.
Inputs: None.
Outputs: None.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"store"}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
get_payments
Get a list of incoming payments using a given payment id.
Alias: None.
Inputs:
- payment_id - string; Payment ID used to find the payments (16 characters hex).
Outputs:
- payments - list of:
- payment_id - string; Payment ID matching the input parameter.
- tx_hash - string; Transaction hash used as the transaction ID.
- amount - unsigned int; Amount for this payment.
- block_height - unsigned int; Height of the block that first confirmed this payment.
- unlock_time - unsigned int; Time (in block height) until this payment is safe to spend.
- subaddr_index - subaddress index:
- major - unsigned int; Account index for the subaddress.
- minor - unsigned int; Index of the subaddress in the account.
- address - string; Address receiving the payment; Base58 representation of the public keys.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_payments","params":{"payment_id":"d88d7c9ddacae9c1"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "payments":[ { "address":"RYoLsfGWE6FfLjaV87ervPdbZRP4GZoUqWr7XbM5Ws61LibMVcrvYUJ5JAZW2xHXdjSQtnPDkc9CWZM3EJocHVSHCFwQZVSyxnY", "amount":500000000, "block_height":196431, "payment_id":"d88d7c9ddacae9c1", "subaddr_index":{ "major":0, "minor":0 }, "tx_hash":"3bdce90152604154ac8936cb59d58e4afb262bb01a58c1aec2fc74f9183b2592", "unlock_time":0 } ] } }
get_bulk_payments
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_payments
because
it has the same
functionality but is more extendable. Either is fine for looking up transactions by a single
payment ID.
Alias: None.
Inputs:
- payment_ids - array of: string; Payment IDs used to find the payments (16 characters hex).
- min_block_height - unsigned int; The block height at which to start looking for payments.
Outputs:
- payments - list of:
- payment_id - string; Payment ID matching one of the input IDs.
- tx_hash - string; Transaction hash used as the transaction ID.
- amount - unsigned int; Amount for this payment.
- block_height - unsigned int; Height of the block that first confirmed this payment.
- unlock_time - unsigned int; Time (in block height) until this payment is safe to spend.
- subaddr_index - subaddress index:
- major - unsigned int; Account index for the subaddress.
- minor - unsigned int; Index of the subaddress in the account.
- address - string; Address receiving the payment; Base58 representation of the public keys.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_bulk_payments","params":{"payment_ids":["d88d7c9ddacae9c1"],"min_block_height":"196000"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "payments":[ { "address":"RYoLsfGWE6FfLjaV87ervPdbZRP4GZoUqWr7XbM5Ws61LibMVcrvYUJ5JAZW2xHXdjSQtnPDkc9CWZM3EJocHVSHCFwQZVSyxnY", "amount":500000000, "block_height":196431, "payment_id":"d88d7c9ddacae9c1", "subaddr_index":{ "major":0, "minor":0 }, "tx_hash":"3bdce90152604154ac8936cb59d58e4afb262bb01a58c1aec2fc74f9183b2592", "unlock_time":0 } ] } }
incoming_transfers
Return a list of incoming transfers to the wallet.
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 - unsigned int; (Optional) Return transfers for this account. (defaults to 0)
- subaddr_indices - array of unsigned int; (Optional) Return transfers sent to these subaddresses.
- verbose - boolean; (Optional) Enable verbose output, return key image if true.
Outputs:
- transfers - list of:
- amount - unsigned int; Amount of this transfer.
- global_index - unsigned int; Mostly internal use, can be ignored by most users.
- key_image - string; Key image for the incoming transfer's unspent output (empty unless verbose is true).
- spent - boolean; Indicates if this transfer has been spent.
- subaddr_index - unsigned int; Subaddress index for incoming transfer.
- tx_hash - string; Several incoming transfers may share the same hash if they were in the same transaction.
- tx_size - unsigned int; Size of transaction in bytes.
Example, get all transfers: curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"incoming_transfers","params":{"transfer_type":"all","account_index":0,"verbose":true}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "transfers":[ { "amount":1000000411, "global_index":1938236, "key_image":"832f6cc913d1558275df87b44db5ca175f5a97a89267398b979f4ab08feeb816", "spent":false, "subaddr_index":0, "tx_hash":"eec97b86454ff04acf0f1cf6d625ba2062833d67f07d346055ee2fa4efaa3957", "tx_size":277 }, { "amount":411, "global_index":1938259, "key_image":"f3c027605fe867b2156a846a246d93207fbf783a6abdeeec7e0d72a4a8c80943", "spent":false, "subaddr_index":0, "tx_hash":"7a1477549dceebc91832e3698cc2e8b80aa023426f1fb1f8e54393b4a86d8ead", "tx_size":278 } ] } } Example, get available transfers: curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"incoming_transfers","params":{"transfer_type":"available","account_index":0,"verbose":true}}' -H 'Content-Type: application/json' { "id":"0", "jsonrpc":"2.0", "result":{ "transfers":[ { "amount":1000000411, "global_index":1938236, "key_image":"832f6cc913d1558275df87b44db5ca175f5a97a89267398b979f4ab08feeb816", "spent":false, "subaddr_index":0, "tx_hash":"eec97b86454ff04acf0f1cf6d625ba2062833d67f07d346055ee2fa4efaa3957", "tx_size":277 }, { "amount":411, "global_index":1938259, "key_image":"f3c027605fe867b2156a846a246d93207fbf783a6abdeeec7e0d72a4a8c80943", "spent":false, "subaddr_index":0, "tx_hash":"7a1477549dceebc91832e3698cc2e8b80aa023426f1fb1f8e54393b4a86d8ead", "tx_size":278 } ] } } Example, get unavailable (already spent outputs) transfers: curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"incoming_transfers","params":{"transfer_type":"unavailable","account_index":0,"verbose":true}}' -H 'Content-Type: application/json' { "id":"0", "jsonrpc":"2.0", "result":{ "transfers":[ { "amount":42, "global_index":1916795, "key_image":"c74e20e795e42ecd371121328890aaefb04d5fd1fe83a9d004525a5724c13fac", "spent":true, "subaddr_index":0, "tx_hash":"8db01164118ff929cbdded9cfd82512fc46f2ed9d954dfd53d30978917d7d8b7", "tx_size":244 }, { "amount":1000000000, "global_index":1934981, "key_image":"914a98f5a41b15c3cb6570062391933fbcb2842337a35a117908dd84658f86fd", "spent":true, "subaddr_index":0, "tx_hash":"0e6343b70001df5b5c834612866d6414f713a7c2c8a09b260b2c649a7acee6f4", "tx_size":244 }, { "amount":2000000000, "global_index":1935160, "key_image":"ca37e175365c8cde067fc2bbaa9e332f3246f8d60b2826380f20c74ef769d1f0", "spent":true, "subaddr_index":0, "tx_hash":"1f5da095d97d37be308f23142aed77dab51c9b357b5eea389127df497e233d9e", "tx_size":172 } ] } }
stop_wallet
Stops the wallet, storing the current state.
Alias: None.
Inputs: None.
Outputs: None.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"stop_wallet"}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
set_tx_notes
Set arbitrary string notes for transactions.
Alias: None.
Inputs:
- txids - array of string; transaction ids
- notes - array of string; notes for the transactions
Outputs: None.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"set_tx_notes","params":{"txids":["c595e58c057a9a831fb94efdc3fbfe34d482ebdbf57ee084e4e81002739c52fd"],"notes":["Nostradamus knows the future"]}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
get_tx_proof
Get transaction signature to prove it.
Alias: None.
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.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_tx_proof","params":{"txid":"7a1477549dceebc91832e3698cc2e8b80aa023426f1fb1f8e54393b4a86d8ead","address":"RYoLsfGWE6FfLjaV87ervPdbZRP4GZoUqWr7XbM5Ws61LibMVcrvYUJ5JAZW2xHXdjSQtnPDkc9CWZM3EJocHVSHCFwQZVSyxnY","message":"John Snow knows NOTHING!"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "signature":"InProofV1GNUGf8Ty32UPR52dVqAVJvjYtNnQWvtinG1YAbFviYKvKaZMakCHCMjPSrc517doh5HDQaNw1CmqxZNuvsPGFCotjE6Z6tQb6b72CovxpWcrD44mUHagXQXHg7g7S7TRuGTh" } }
get_spend_proof
Generate a signature to prove a spend. Unlike proving a transaction, it does not requires the destination public address.
Alias: None.
Inputs:
- txid - string; transaction id.
- message - string; (Optional) add a message to the signature to further authenticate the prooving process.
Outputs:
- signature - string; transaction signature.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_spend_proof","params":{"txid":"7a1477549dceebc91832e3698cc2e8b80aa023426f1fb1f8e54393b4a86d8ead","message":"The monkey Jules has no friends"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "signature":"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" } }
/check_reserve_proof
Proves a wallet as a disposable reserve using a signature.
Alias: None.
Inputs:
- address - string; Public address of the wallet.
- message - string; (Optional) Should be the same message used in
get_reserve_proof
. - signature - string; transaction signature to confirm.
Outputs:
- good - boolean; States if the inputs proves the transaction.
Returns a list of transfers.
Alias: None.
Inputs:
- in - boolean; (Optional) Include incoming transfers.
- out - boolean; (Optional) Include outgoing transfers.
- pending - boolean; (Optional) Include pending transfers.
- failed - boolean; (Optional) Include failed transfers.
- pool - boolean; (Optional) Include transfers from the daemon's transaction pool.
- filter_by_height - boolean; (Optional) Filter transfers by block height.
- min_height - unsigned int; (Optional) Minimum block height to scan for transfers, if filtering by height is enabled.
- max_height - unsigned int; (Opional) Maximum block height to scan for transfers, if filtering by height is enabled (defaults to max block height).
- account_index - unsigned int; (Optional) Index of the account to query for transfers. (defaults to 0)
- subaddr_indices - array of unsigned int; (Optional) List of subaddress indices to query for transfers. (defaults to 0)
Outputs:
- in array of transfers:
- address - string; Public address of the transfer.
- amount - unsigned int; Amount transferred.
- confirmations - unsigned int; 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).
- double_spend_seen - boolean; True if the key image(s) for the transfer have been seen before.
- fee - unsigned int; Transaction fee for this transfer.
- height - unsigned int; Height of the first block that confirmed this transfer (0 if not mined yet).
- note - string; Note about this transfer.
- payment_id - string; Payment ID for this transfer.
- subaddr_index - JSON object containing the major & minor subaddress
index:
- major - unsigned int; Account index for the subaddress.
- minor - unsigned int; Index of the subaddress under the account.
- suggested_confirmations_threshold - unsigned int; Estimation of the confirmations needed for the transaction to be included in a block.
- timestamp - unsigned int; POSIX timestamp for when this transfer was first confirmed in a block (or timestamp submission if not mined yet).
- txid - string; Transaction ID for this transfer.
- type - string; Transfer type: "in"
- unlock_time - unsigned int; Number of blocks until transfer is safely spendable.
- out array of transfers (see above).
- pending array of transfers (see above).
- failed array of transfers (see above).
- pool array of transfers (see above).
Request:
In the example below, the reserve has been proven: curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_reserve_proof","params":{"address":"RYoLsfGWE6FfLjaV87ervPdbZRP4GZoUqWr7XbM5Ws61LibMVcrvYUJ5JAZW2xHXdjSQtnPDkc9CWZM3EJocHVSHCFwQZVSyxnY","signature":"ReserveProofV11BZ23sBt9sZJeGccf84mzyAmNCP3KzYbE1111112Wfh1111118PKz8tVddiuAC4fhpN116U5efs9vS82eLMPdZY2FoP2296BDS7113UaRiFDreV5SEGHJo7Cn4eaAq2ue6KkBspBjb9Bx39Xd3RHG71yvfbwjfwJBW39ZD7ujYBEfSquFZGAbGbybFDgzpagTYMMxj113kcrAyoDgNiKGKuSdwMCRVMCn8S9Eiy2zkyrvJfE1hS8h2th6wno63GP1KH3ciUzhz82ZaMwDjnSVTPtaDhikiJFnUcuktPZJ8HURrvhib2MRZyEdx8kojaaL1edMjRcvnKfrC3q24Cu9ePJ28sqDAqfcXiabx2csemVkczUBcvmeAEenMqNuGj9B4RYjbdhuVsu9WgULTBi41PTnY88PRwMmnCJaiXqoA1jv1Ak9cHApHYkjWRPSoNn6ryXYyNZqg8BjdJnYp52Lj5gjKfnzRxe4WS5TayoCfBvHUUgDXt2KRvm4egXHekw8zAddVvnwJwgot6M5MFb6ci4xseZuUKF99DNd43vUaatpAnNuj6k49iCUhxjC9xmABYJycyTqfPEb5LVhegDW7cFT54Xb3KPnjkiGaaUBoVkgqxfXRwcFaT2cKrFfQZy5meRT8PSmgB4QnErDZsc2g2gJNRsPioT5tQRkXVPN7hmbRaNBbP4RiRMAqEeiybf1Ak9kFwCEibK4qt2yG2FEc9PwATJ7affi7hswQRdEyeVAvevrspAjHeey74cLxqTHqGVJL5SKvHec5yfqneHhup1DjFiGfpTqQC6VU8X8eRVVQ52WxVRD7iDLHpsjqknQoP4WSMqzyQ5XYQG4AHyWjwVHeR9yJeSAnZKvBEPU1x6ssxMPJAZZhqvXTL9oo67arU6oWFdaK6g5pKhLQigivokVNWjTqfJ8Tf21cWECNpd4TfABWan5DBATfYATUc6XMs44mEfUPTsnjXE7PPbVhw3zs9UkiaKyjQM2LAhNABEwdCDQ2bBWFHkZaTBfLAWAougJTWUBnS5Bkqj3ws8rXzj4RZKXYvfNu6rGPgZLu1fpJF91Wh7h91Bx1GqbMxomJdYipqKVJURZx6Bi7vfu3GNFTT8EgsqVU3kAMkwyV7QbZL2vHR3DLcHWziS2MzpRS7heQqKTW7fg79Hh7fLZTK7a8e182TrDndSQSRS5mpw6o78dqLw4HG42eYU4nffPNta8fURTMV1GQoz3p5evHm4zbcXCtohTVnZm4XtQGsUYtNaBK8jeytivZMW7mXK9JAFHEo5uYg7xABFGcFeCfix5Arq45e68fDkG9ogd7VHtnVdinrXMXns88aoFUfVSYVA8vsKT1Bx4JNxLQyUhC8s1UtTadzY8fJ2GUSXCG9m7ieQ1gmw7AbGa6qhoMMfQKyrASRVXpYXgiQgCM9FSCJszp74p8nVoWPoH642wWwqRz86j55i4oA64kwiVFC1bBdb2T6CA5aWaZZaW9rcjcj61D8wFsjXSwEK2ePxWEkwoCe2y264x6BJ2GnhdAL3PLhCJEnKjDAK56UAA9wAi6AwxtdkiAARWMurJ21Sr8KNFaJsFtiThvPtbR2Sz7k8QKvAEe4Ka5c5Vf6hABvR4gTsotuL25YBjYwoJJJ1xXoynGqx1D8bsvSY5GiUrJf7YqsuRYXs8RrmkQGepCG1BvrRvaKsCsVM28Besiffoc2YrddN6tvk9LT4Zj63LppNkMSqSrPf4TeWX9VddGgiQaf8RKnAJKECNjHMtRYRFu9edUsnRdgPq7fX37MmPhBeJPCnB7mXxLN5eYReJZX1g5d1GM4Vr"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "good":true, "spent":0, "total":13918002061 } } In the example below, all wallet reserve has been proven: curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_reserve_proof","params":{"address":"RYoLsfGWE6FfLjaV87ervPdbZRP4GZoUqWr7XbM5Ws61LibMVcrvYUJ5JAZW2xHXdjSQtnPDkc9CWZM3EJocHVSHCFwQZVSyxnY","message":"Full proof of ALL","signature":"ReserveProofV11BZ23sBt9sZJeGccf84mzyAmNCP3KzYbE1111112Wfh1111118Nv46ginpB3bqyC6Hd7TP2Yigtp1Dkv8BAHY8yVYBJp9jspZQK113URmZVHh77K6shdb684NVtAphm2ioJ8dQjfLaDY8bCVw5Uh5Y2k42cqNJkRo2vQZ5scN41XMFFtXsACBhGbp61HdZ6VdGL29d113keChLFA7RqY4FgNAnFDQ9nPDdfKB9Kff6N99fp1EL4SUxrbhvbUXhV7ZKvKvJbNNQ4oeQ165UEMrvkHbV8XuLZTxNCyz2hcBA2eX6HSNCxYAkCnm6z3uwkTLB5AkvU7ZiD7LsWRSaVE95fdsYkCSQ333L24UDBVCpsXv1xMZiusdM9BHCGui4hGUdrprzXJ9aCB39tHqyVZemQH4qSNdi7pWhGwKiW2S9i1E1LSpc3MESPgV5SEGHJo7Cn4eaAq2ue6KkBspBjb9Bx39Xd3RHPV9VKf9bhxVwFMtv7T8ZjSAAjApVVP8e9KfqeB9AQ3NLNMqYYbenwFa132zxuBiGq5XUAGwXR3uHj7YJpVMSDHcTXKR34YFPCN6tbCF9sSsxp4P4L1RoWrzjTBMBgQUPUHDBKNHeQ8BrsTtJQUdRBPwcqJ1BM7bZKU5U4nTNvJJSNcrzTAkDet1a5RATuWV3MaiSyWT8oNqa4AyACenLsrQSgAWL8JRK7D2LerzW8U5F2ENWHgJcQk3o7Jzz26j43WXMweChZHMVV8VUPP5iGBao8guBdKPAaFcDBKjFQLfB7HPDx3jrih6RSeZZhjoxwTMgC6T6qpX6Tb442XTcHVPrXou4pia3NdTWikV4VDR3zLDnfFDevrGcq5hDgB33QsGHG1cGfcjaXYY5KQATXX3Z5TtF8Pzanf9x8a6daxKQsa3cKhMLUJdABAaq3geQoTpUUZZUshW789TSoo7Zcna2aeE9eMghCZLj8hCZcmS9XzGA4rNPgCv7Bn5TkuvFcqemAPPUy72ErFxAtFPFCb7pzNY4ehTc48ukox2qgQHf4RYjbdhuVsu9WgULTBi41PTnY88PRwMmnCJaiXqoA1jv1Ak9cHApHYkjWRPSoNn6ryXYyNZqg8BjdJnYp52Lj5gjKfnzRxe4WS5TayoCfBvHUUgDXt2KRvm4egXHekw8zAddVvnwJwgotAEEvvWY5WT3S2QZ1umxvpGvLNvT4SB3JeTBLCF4z1m9vCKQg5wD8bXQrXUaQvRwMgBZx9LBWYbnmJpmU2vYoYr2bjWBsEWS87Vd2M1cByEDGPu4fKNB7u6KLXFwX8ui4kMcTYH2Q5rfFcdoD6U2rHgaTon99L9tE2mD5SowVEkMWwKnD4K21FWtEtD5gpMWQfzg8kirWj9eZrY2TZMnNDsEZxTfaZYT9YLZX4xVHWRHYLCvWmcYHKvH8YN5uUkKLhqSu4N3d7mhpXuhfnJWSjACsfNdfXCCZbt3zpRmeyyoNUXCqyDX7QG6J9vM5vYhQT1D97YGF2XX5BWZkeWsQMjz1wLenE16UxqL8skiPiBh5EMaTHNAwBLDKKjhJKUmFeYjCk3r3QRK4hPcGCHjyZba4dHQ4iK8Z1fuugmgB3cphVs95pi7CtTbuuniFR3iAK61HdhZuo24JbknwZAU4Y9MZqYE84dpAHDk6aKf7HD62wvCgmWryNuinvmon1BvrRvaKsCsVM28Besiffoc2YrddN6tvk9LT4Zj63LppNkMSqSj8Az1arHgS2VQuGm5Ldzp8foR99TZnpEkL2Kb36K8oZwVoZ72Koa52xii9kTGUwxkxwbfp8FXsBB3vH1xr5aiinV"}}' -H 'Content-Type: application/json' { "id":"0", "jsonrpc":"2.0", "result":{ "good":true, "spent":0, "total":13918002061 } } In the example below, the wrong message is used, avoiding the transaction to be proved: curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"check_reserve_proof","params":{"address":"RYoLsfGWE6FfLjaV87ervPdbZRP4GZoUqWr7XbM5Ws61LibMVcrvYUJ5JAZW2xHXdjSQtnPDkc9CWZM3EJocHVSHCFwQZVSyxnY","message":"Failed proof, wrong msg","signature":"ReserveProofV11BZ23sBt9sZJeGccf84mzyAmNCP3KzYbE1111112Wfh1111118Nv46ginpB3bqyC6Hd7TP2Yigtp1Dkv8BAHY8yVYBJp9jspZQK113URmZVHh77K6shdb684NVtAphm2ioJ8dQjfLaDY8bCVw5Uh5Y2k42cqNJkRo2vQZ5scN41XMFFtXsACBhGbp61HdZ6VdGL29d113keChLFA7RqY4FgNAnFDQ9nPDdfKB9Kff6N99fp1EL4SUxrbhvbUXhV7ZKvKvJbNNQ4oeQ165UEMrvkHbV8XuLZTxNCyz2hcBA2eX6HSNCxYAkCnm6z3uwkTLB5AkvU7ZiD7LsWRSaVE95fdsYkCSQ333L24UDBVCpsXv1xMZiusdM9BHCGui4hGUdrprzXJ9aCB39tHqyVZemQH4qSNdi7pWhGwKiW2S9i1E1LSpc3MESPgV5SEGHJo7Cn4eaAq2ue6KkBspBjb9Bx39Xd3RHPV9VKf9bhxVwFMtv7T8ZjSAAjApVVP8e9KfqeB9AQ3NLNMqYYbenwFa132zxuBiGq5XUAGwXR3uHj7YJpVMSDHcTXKR34YFPCN6tbCF9sSsxp4P4L1RoWrzjTBMBgQUPUHDBKNHeQ8BrsTtJQUdRBPwcqJ1BM7bZKU5U4nTNvJJSNcrzTAkDet1a5RATuWV3MaiSyWT8oNqa4AyACenLsrQSgAWL8JRK7D2LerzW8U5F2ENWHgJcQk3o7Jzz26j43WXMweChZHMVV8VUPP5iGBao8guBdKPAaFcDBKjFQLfB7HPDx3jrih6RSeZZhjoxwTMgC6T6qpX6Tb442XTcHVPrXou4pia3NdTWikV4VDR3zLDnfFDevrGcq5hDgB33QsGHG1cGfcjaXYY5KQATXX3Z5TtF8Pzanf9x8a6daxKQsa3cKhMLUJdABAaq3geQoTpUUZZUshW789TSoo7Zcna2aeE9eMghCZLj8hCZcmS9XzGA4rNPgCv7Bn5TkuvFcqemAPPUy72ErFxAtFPFCb7pzNY4ehTc48ukox2qgQHf4RYjbdhuVsu9WgULTBi41PTnY88PRwMmnCJaiXqoA1jv1Ak9cHApHYkjWRPSoNn6ryXYyNZqg8BjdJnYp52Lj5gjKfnzRxe4WS5TayoCfBvHUUgDXt2KRvm4egXHekw8zAddVvnwJwgotAEEvvWY5WT3S2QZ1umxvpGvLNvT4SB3JeTBLCF4z1m9vCKQg5wD8bXQrXUaQvRwMgBZx9LBWYbnmJpmU2vYoYr2bjWBsEWS87Vd2M1cByEDGPu4fKNB7u6KLXFwX8ui4kMcTYH2Q5rfFcdoD6U2rHgaTon99L9tE2mD5SowVEkMWwKnD4K21FWtEtD5gpMWQfzg8kirWj9eZrY2TZMnNDsEZxTfaZYT9YLZX4xVHWRHYLCvWmcYHKvH8YN5uUkKLhqSu4N3d7mhpXuhfnJWSjACsfNdfXCCZbt3zpRmeyyoNUXCqyDX7QG6J9vM5vYhQT1D97YGF2XX5BWZkeWsQMjz1wLenE16UxqL8skiPiBh5EMaTHNAwBLDKKjhJKUmFeYjCk3r3QRK4hPcGCHjyZba4dHQ4iK8Z1fuugmgB3cphVs95pi7CtTbuuniFR3iAK61HdhZuo24JbknwZAU4Y9MZqYE84dpAHDk6aKf7HD62wvCgmWryNuinvmon1BvrRvaKsCsVM28Besiffoc2YrddN6tvk9LT4Zj63LppNkMSqSj8Az1arHgS2VQuGm5Ldzp8foR99TZnpEkL2Kb36K8oZwVoZ72Koa52xii9kTGUwxkxwbfp8FXsBB3vH1xr5aiinV"}}' -H 'Content-Type: application/json' { "id":"0", "jsonrpc":"2.0", "result":{ "good":false, "spent":0, "total":0 } }
/export_outputs
Export all outputs in hex format.
Alias: None.
Inputs: None.
Outputs:
- outputs_data_hex - string; wallet outputs in hex format.
/import_outputs
Import outputs in hex format.
Alias: None.
Inputs:
- outputs_data_hex - string; wallet outputs in hex format.
Outputs:
- num_imported - unsigned int; number of outputs imported.
/export_key_images
Export a signed set of key images.
Alias: None.
Inputs: filename (string).
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"export_key_images","params":{"filename":"1"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
/import_key_images
Import signed key images list and verify their spent status.
Alias: None.
Inputs: filename (string)
Outputs:
- height - unsigned int;
- spent - unsigned int; Amount (in atomic units) spent from those key images.
- unspent - unsigned int; Amount (in atomic units) still available from those key images.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"import_key_images","params":{"filename":"1"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "height":192334, "spent":4242, "unspent":0 } }
/delete_address_book
Delete an entry from the address book.
Alias: None.
Inputs:
- index - unsigned int; The index of the address book entry.
Outputs: None.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"delete_address_book","params":{"index":0}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "index":0 } }
/refresh
Refresh a wallet after openning.
Alias: None.
Inputs:
- start_height - unsigned int; (Optional) The block height from which to start refreshing.
Outputs:
- blocks_fetched - unsigned int; Number of new blocks scanned.
- received_money - boolean; States if transactions to the wallet have been found in the blocks.
Request:
Response:
/rescan_spent
Rescan the blockchain for spent outputs.
Alias: None.
Inputs: None.
Outputs: None.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"rescan_spent"}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
/open_wallet
Open a wallet. You need to have set the argument "–wallet-dir" when launching ryo-wallet-rpc to make this work.
Alias: None.
Inputs:
- filename - string; wallet name stored in –wallet-dir.
- password - string; (Optional) only needed if the wallet has a password defined.
Outputs: None.
Request:
With a password: curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"open_wallet","params":{"filename":"myTestWallet","password":"myTestPassword"}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } } Two options for without password: curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"open_wallet","params":{"filename":"noPassword"}}' -H 'Content-Type: application/json' { "id":"0", "jsonrpc":"2.0", "result":{ } } curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"open_wallet","params":{"filename":"noPassword","password":""}}' -H 'Content-Type: application/json' { "id":"0", "jsonrpc":"2.0", "result":{ } }
/close_wallet
Close the currently opened wallet, after trying to save it.
Alias: None.
Inputs: None.
Outputs: None.
Request:
curl -X POST http://localhost:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"close_wallet"}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ } }
/change_wallet_password
Change a wallet password.
Alias: None.
Inputs:
- old_password - string; (Optional) Current wallet password, if defined.
- new_password - string; (Optional) New wallet password, if not blank.
Outputs: None.
/transfer_split
Same as transfer, but can split into more than one tx if necessary.
Alias: None.
Inputs:
- destinations - array of destinations to receive Ryo:
- amount - unsigned int; Amount to send to each destination, in atomic units.
- address - string; Destination public address.
- account_index - unsigned int; (Optional) Transfer from this account index. (Defaults to 0)
- subaddr_indices - array of unsigned int; (Optional) Transfer from this set of subaddresses. (Defaults to 0)
- mixin - unsigned int; Number of outputs from the blockchain to mix with (0 means no mixing).
- ring_size - unsigned int; Sets ringsize to n (mixin + 1).
- unlock_time - unsigned int; Number of blocks before the ryo 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 - boolean; (Optional) Return the transaction keys after sending.
- priority - unsigned int; Set a priority for the transactions. Accepted Values are: 0-3 for: default, unimportant, normal, elevated, priority.
- do_not_relay - boolean; (Optional) If true, the newly created transaction will not be relayed to the ryo network. (Defaults to false)
- get_tx_hex - boolean; Return the transactions as hex string after sending
- new_algorithm - boolean; True to use the new transaction construction algorithm, defaults to false.
- get_tx_metadata - boolean; Return list of transaction metadata needed to relay the transfer later.
Outputs:
- tx_hash_list - array of: string. The tx hashes of every transaction.
- tx_key_list - array of: string. The transaction keys for every transaction.
- amount_list - array of: integer. The amount transferred for every transaction.
- fee_list - array of: integer. The amount of fees paid for every transaction.
- tx_blob_list - array of: string. The tx as hex string for every transaction.
- tx_metadata_list - array of: 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.
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"transfer_split","params":{"destinations":[{"amount":411,"address":"RYoLsfmhLANNkFT5dUDDsvMM3Z1Fzd57zFvJnMHcghD5j1zFEyyKovcSHMKAQ9NZZ5HeWWmzDHCL3bmdXK9b43Z7hLkWF5vzzFF"},{"amount":411,"address":"RYoLsedkTcWcTgfaMTnUBq1kBGhw1VsH1TnZbCCnaEAL3iF1XfbZg7jezQecxz5gZsbmwZgKdHhrE8E126Kzje2sMPaNC7asCiN"}],"account_index":0,"subaddr_indices":[0],"priority":0,"ring_size":13,"get_tx_key": true}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "amount_list":[ 822 ], "fee_list":[ 17000000 ], "multisig_txset":"", "tx_hash_list":[ "7a1477549dceebc91832e3698cc2e8b80aa023426f1fb1f8e54393b4a86d8ead" ] } }
/get_transfers
Returns a list of transfers.
Alias: None.
Inputs:
- in - boolean; (Optional) Include incoming transfers.
- out - boolean; (Optional) Include outgoing transfers.
- pending - boolean; (Optional) Include pending transfers.
- failed - boolean; (Optional) Include failed transfers.
- pool - boolean; (Optional) Include transfers from the daemon's transaction pool.
- filter_by_height - boolean; (Optional) Filter transfers by block height.
- min_height - unsigned int; (Optional) Minimum block height to scan for transfers, if filtering by height is enabled.
- max_height - unsigned int; (Opional) Maximum block height to scan for transfers, if filtering by height is enabled (defaults to max block height).
- account_index - unsigned int; (Optional) Index of the account to query for transfers. (defaults to 0)
- subaddr_indices - array of unsigned int; (Optional) List of subaddress indices to query for transfers. (defaults to 0)
Outputs:
- in array of transfers:
- address - string; Public address of the transfer.
- amount - unsigned int; Amount transferred.
- confirmations - unsigned int; 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).
- double_spend_seen - boolean; True if the key image(s) for the transfer have been seen before.
- fee - unsigned int; Transaction fee for this transfer.
- height - unsigned int; Height of the first block that confirmed this transfer (0 if not mined yet).
- note - string; Note about this transfer.
- payment_id - string; Payment ID for this transfer.
- subaddr_index - JSON object containing the major & minor subaddress index:
- major - unsigned int; Account index for the subaddress.
- minor - unsigned int; Index of the subaddress under the account.
- suggested_confirmations_threshold - unsigned int; Estimation of the confirmations needed for the transaction to be included in a block.
- timestamp - unsigned int; POSIX timestamp for when this transfer was first confirmed in a block (or timestamp submission if not mined yet).
- txid - string; Transaction ID for this transfer.
- type - string; Transfer type: "in"
- unlock_time - unsigned int; Number of blocks until transfer is safely spendable.
- out array of transfers (see above).
- pending array of transfers (see above).
- failed array of transfers (see above).
- pool array of transfers (see above).
Request:
curl -X POST http://127.0.0.1:12215/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_transfers","params":{"in":true,"account_index":1}}' -H 'Content-Type: application/json'
Response:
{ "id":"0", "jsonrpc":"2.0", "result":{ "in":[ { "address":"RYoLseSV7WGdMFijLPXNffMWEFxq17ZbtENpB8hqH7d3FLQqkadt3tgi2Z9Afw135BeQGC87bKYxKc6feRTgDY883kqvAAVLEUb", "amount":1000000000, "double_spend_seen":false, "fee":14000000, "height":196309, "note":"", "payment_id":"0000000000000000", "subaddr_index":{ "major":0, "minor":0 }, "timestamp":1542235829, "txid":"c595e58c057a9a831fb94efdc3fbfe34d482ebdbf57ee084e4e81002739c52fd", "type":"in", "unlock_time":0 } ] } }