Equilibria
Search…
Wallet RPC
​

Introduction

This is a list of the equilibria-wallet-rpc calls, their inputs and outputs, and examples of each.
All equilibria-wallet-rpc methods use the same JSON RPC interface. For example:
1
IP=127.0.0.1
2
PORT=18082
3
METHOD="make_integrated_address"
4
PARAMS="{\"payment_id\":\"1234567890123456789012345678900012345678901234567890123456789000\"}"
5
curl \
6
http://$IP:$PORT/json_rpc \
7
-d '{"jsonrpc":"2.0","id":"0","method":"'$METHOD'","params":'"$PARAMS"'}' \
8
-H 'Content-Type: application/json'
Copied!
If the equilibria-wallet-rpc was executed with the --rpc-login argument as username:password, then follow this example:
1
IP=127.0.0.1
2
PORT=18082
3
METHOD="make_integrated_address"
4
PARAMS="{\"payment_id\":\"1234567890123456789012345678900012345678901234567890123456789000\"}"
5
curl \
6
-u username:password --digest \
7
http://$IP:$PORT/json_rpc \
8
-d '{"jsonrpc":"2.0","id":"0","method":"'$METHOD'","params":'"$PARAMS"'}' \
9
-H 'Content-Type: application/json'
Copied!
Note: "@atomic-units" refer to the smallest fraction of 1 XEQ according to the equilibriad implementation. 1 XEQ = 1e12 @atomic-units.

Index of JSON RPC Methods:

Index of JSON RPC Methods:
  • set_daemon
  • get_balance
  • get_address
  • get_address_index
  • create_address
  • label_address
  • validate_address
  • get_accounts
  • create_account
  • label_account
  • get_account_tags
  • tag_accounts
  • untag_accounts
  • set_account_tag_description
  • get_height
  • transfer
  • transfer_split
  • sign_transfer
  • submit_transfer
  • sweep_dust
  • sweep_all
  • sweep_single
  • relay_tx
  • store
  • get_payments
  • get_bulk_payments
  • incoming_transfers
  • query_key
  • make_integrated_address
  • split_integrated_address
  • stop_wallet
  • rescan_blockchain
  • set_tx_notes
  • get_tx_notes
  • set_attribute
  • get_attribute
  • get_tx_key
  • check_tx_key
  • get_tx_proof
  • check_tx_proof
  • get_spend_proof
  • check_spend_proof
  • get_reserve_proof
  • check_reserve_proof
  • get_transfers
  • get_transfer_by_txid
  • describe_transfer
  • sign
  • verify
  • export_outputs
  • import_outputs
  • export_key_images
  • import_key_images
  • make_uri
  • parse_uri
  • get_address_book
  • add_address_book
  • edit_address_book
  • delete_address_book
  • refresh
  • auto_refresh
  • rescan_spent
  • start_mining
  • stop_mining
  • get_languages
  • create_wallet
  • open_wallet
  • restore_deterministic_wallet
  • close_wallet
  • change_wallet_password
  • is_multisig
  • prepare_multisig
  • make_multisig
  • export_multisig_info
  • import_multisig_info
  • finalize_multisig
  • sign_multisig
  • submit_multisig
  • get_version

JSON RPC Methods:

set_daemon

Connect the RPC server to a equilibria daemon.
Inputs:
  • address - string; (Optional; Default: "") The URL of the daemon to connect to.
  • trusted - boolean; (Optional; Default: false) If false, some RPC wallet methods will be disabled.
  • ssl_support - string; (Optional; Default: autodetect; Accepts: disabled, enabled, autodetect) Specifies whether the Daemon uses SSL encryption.
  • ssl_private_key_path - string; (Optional) The file path location of the SSL key.
  • ssl_certificate_path - string; (Optional) The file path location of the SSL certificate.
  • ssl_ca_file - string; (Optional) The file path location of the certificate authority file.
  • ssl_allowed_fingerprints - array of string; (Optional) The SHA1 fingerprints accepted by the SSL certificate.
  • ssl_allow_any_cert - boolean; (Optional; Default: false) If false, the certificate must be signed by a trusted certificate authority.
    Outputs:
  • None
    Example:
    1
    $ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"set_daemon","params": {"address":"http://localhost:18081","trusted":true,"ssl_support":"enabled","ssl_private_key_path":"path/to/ssl/key","ssl_certificate_path":"path/to/ssl/certificate","ssl_ca_file":"path/to/ssl/ca/file","ssl_allowed_fingerprints":["85:A7:68:29:BE:73:49:80:84:91:7A:BB:1F:F1:AD:7E:43:FE:CC:B8"],"ssl_allow_any_cert":true}},' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    }
    7
    }
    Copied!
    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 equilibria-wallet-rpc in session.
  • unlocked_balance - unsigned int; Unlocked funds are those funds that are sufficiently deep enough in the equilibria 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.
      Example:
      1
      $ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_balance","params":{"account_index":0,"address_indices":[0,1]}}' -H 'Content-Type: application/json'
      2
      {
      3
      "id": "0",
      4
      "jsonrpc": "2.0",
      5
      "result": {
      6
      "balance": 157443303037455077,
      7
      "multisig_import_needed": false,
      8
      "per_subaddress": [{
      9
      "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt",
      10
      "address_index": 0,
      11
      "balance": 157360317826255077,
      12
      "label": "Primary account",
      13
      "num_unspent_outputs": 5281,
      14
      "unlocked_balance": 157360317826255077
      15
      },{
      16
      "address": "7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o",
      17
      "address_index": 1,
      18
      "balance": 59985211200000,
      19
      "label": "",
      20
      "num_unspent_outputs": 1,
      21
      "unlocked_balance": 59985211200000
      22
      }],
      23
      "unlocked_balance": 157443303037455077
      24
      }
      25
      }
      Copied!
      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 equilibria-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
      Example:
      1
      $ curl http://127.0.0.1:18082/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'
      2
      {
      3
      "id": "0",
      4
      "jsonrpc": "2.0",
      5
      "result": {
      6
      "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt",
      7
      "addresses": [{
      8
      "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt",
      9
      "address_index": 0,
      10
      "label": "Primary account",
      11
      "used": true
      12
      },{
      13
      "address": "7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o",
      14
      "address_index": 1,
      15
      "label": "",
      16
      "used": true
      17
      },{
      18
      "address": "77xa6Dha7kzCQuvmd8iB5VYoMkdenwCNRU9khGhExXQ8KLL3z1N1ZATBD1sFPenyHWT9cm4fVFnCAUApY53peuoZFtwZiw5",
      19
      "address_index": 4,
      20
      "label": "test2",
      21
      "used": true
      22
      }]
      23
      }
      24
      }
      Copied!
      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 information
  • ​
    • major unsigned int; Account index.
  • ​
    • minor unsigned int; Address index.
      Example:
      1
      $ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_address_index","params":{"address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o"}}' -H 'Content-Type: application/json'
      2
      {
      3
      "id": "0",
      4
      "jsonrpc": "2.0",
      5
      "result": {
      6
      "index": {
      7
      "major": 0,
      8
      "minor": 1
      9
      }
      10
      }
      11
      }
      Copied!
      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.
    Example:
    1
    $ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"create_address","params":{"account_index":0,"label":"new-sub"}}' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    "address": "7BG5jr9QS5sGMdpbBrZEwVLZjSKJGJBsXdZLt8wiXyhhLjy7x2LZxsrAnHTgD8oG46ZtLjUGic2pWc96GFkGNPQQDA3Dt7Q",
    7
    "address_index": 5
    8
    }
    9
    }
    Copied!
    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.
Example:
1
$ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"label_address","params":{"index":{"major":0,"minor":5},"label":"myLabel"}}' -H 'Content-Type: application/json'
2
{
3
"id": "0",
4
"jsonrpc": "2.0",
5
"result": {
6
}
7
}
Copied!

validate_address

Analyzes a string to determine whether it is a valid equilibria wallet address and returns the result and the address specifications.
Inputs:
  • address - string; The address to validate.
  • any_net_type - boolean (Optional); If true, consider addresses belonging to any of the three equilibria networks (mainnet, stagenet, and testnet) valid. Otherwise, only consider an address valid if it belongs to the network on which the rpc-wallet's current daemon is running (Defaults to false).
  • allow_openalias - boolean (Optional); If true, consider OpenAlias-formatted addresses valid (Defaults to false). Outputs:
  • valid - boolean; True if the input address is a valid equilibria address.
  • integrated - boolean; True if the given address is an integrated address.
  • subaddress - boolean; True if the given address is a subaddress
  • nettype - string; Specifies which of the three equilibria networks (mainnet, stagenet, and testnet) the address belongs to.
  • openalias_address - boolean; True if the address is OpenAlias-formatted.
    Example:
    1
    $ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"validate_address", params={"address":"42go2d3XqA9Mx4HjZoqr93BHspcMxwAUBivs3yJKV1FyTycEcbgjNyEaGNEcgnUE9DDDAXNanzB16YgMt88Sa8cFSm2QcHK","any_net_type":"true","allow_openalias":"true"},' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    "valid": true,
    7
    "integrated": false,
    8
    "subaddress": false,
    9
    "nettype": "mainnet",
    10
    "openalias_address": false
    11
    }
    12
    }
    Copied!
    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.
    Example:
    1
    $ curl http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_accounts","params":{"tag":"myTag"}}' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    "subaddress_accounts": [{
    7
    "account_index": 0,
    8
    "balance": 157663195572433688,
    9
    "base_address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt",
    10
    "label": "Primary account",
    11
    "tag": "myTag",
    12
    "unlocked_balance": 157443303037455077
    13
    },{
    14
    "account_index": 1,
    15
    "balance": 0,
    16
    "base_address": "77Vx9cs1VPicFndSVgYUvTdLCJEZw9h81hXLMYsjBCXSJfUehLa9TDW3Ffh45SQa7xb6dUs18mpNxfUhQGqfwXPSMrvKhVp",
    17
    "label": "Secondary account",
    18
    "tag": "myTag",
    19
    "unlocked_balance": 0
    20
    }],
    21
    "total_balance": 157663195572433688,
    22
    "total_unlocked_balance": 157443303037455077
    23
    }
    24
    }
    Copied!
    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.
    Example:
    1
    $ curl http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"create_account","params":{"label":"Secondary account"}}' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    "account_index": 1,
    7
    "address": "77Vx9cs1VPicFndSVgYUvTdLCJEZw9h81hXLMYsjBCXSJfUehLa9TDW3Ffh45SQa7xb6dUs18mpNxfUhQGqfwXPSMrvKhVp"
    8
    }
    9
    }
    Copied!
    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.
Example:
1
$ curl http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"label_account","params":{"account_index":0,"label":"Primary account"}}' -H 'Content-Type: application/json'
2
{
3
"id": "0",
4
"jsonrpc": "2.0",
5
"result": {
6
"account_tags": [{
7
"accounts": [0,1],
8
"label": "",
9
"tag": "myTag"
10
}]
11
}
12
}
Copied!

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.
    Example:
    1
    $ curl http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_account_tags","params":""}' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    "account_tags": [{
    7
    "accounts": [0],
    8
    "label": "Test tag",
    9
    "tag": "myTag"
    10
    }]
    11
    }
    12
    }
    Copied!
    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.
Example:
1
$ curl http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"tag_accounts","params":{"tag":"myTag","accounts":[0,1]}}' -H 'Content-Type: application/json'
2
{
3
"id": "0",
4
"jsonrpc": "2.0",
5
"result": {
6
}
7
}
Copied!

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.
Example:
1
$ curl http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"untag_accounts","params":{"accounts":[1]}}' -H 'Content-Type: application/json'
2
{
3
"id": "0",
4
"jsonrpc": "2.0",
5
"result": {
6
}
7
}
Copied!

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.
Example:
1
$ curl http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"set_account_tag_description","params":{"tag":"myTag","description":"Test tag"}}' -H 'Content-Type: application/json'
2
{
3
"id": "0",
4
"jsonrpc": "2.0",
5
"result": {
6
}
7
}
Copied!

get_height

Returns the wallet's current block height.
Alias: getheight.
Inputs: None.
Outputs:
  • height - unsigned int; The current equilibria-wallet-rpc's blockchain height. If the wallet has been offline for a long time, it may need to catch up with the daemon.
    Example:
    1
    $ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_height"}' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    "height": 145545
    7
    }
    8
    }
    Copied!
    transfer
    Send equilibria to a number of recipients.
Alias: None.
Inputs:
  • destinations - array of destinations to receive XEQ:
  • 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 empty - all indices)
  • 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 equilibria can be spent (0 to not add a lock).
  • 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 equilibria 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.
    Example:
    1
    $ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"transfer","params":{"destinations":[{"amount":100000000000,"address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o"},{"amount":200000000000,"address":"75sNpRwUtekcJGejMuLSGA71QFuK1qcCVLZnYRTfQLgFU5nJ7xiAHtR5ihioS53KMe8pBhH61moraZHyLoG4G7fMER8xkNv"}],"account_index":0,"subaddr_indices":[0],"priority":0,"ring_size":7,"get_tx_key": true}}' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    "amount": 300000000000,
    7
    "fee": 86897600000,
    8
    "multisig_txset": "",
    9
    "tx_blob": "",
    10
    "tx_hash": "7663438de4f72b25a0e395b770ea9ecf7108cd2f0c4b75be0b14a103d3362be9",
    11
    "tx_key": "25c9d8ec20045c80c93d665c9d3684aab7335f8b2cd02e1ba2638485afd1c70e236c4bdd7a2f1cb511dbf466f13421bdf8df988b7b969c448ca6239d7251490e4bf1bbf9f6ffacffdcdc93b9d1648ec499eada4d6b4e02ce92d4a1c0452e5d009fbbbf15b549df8856205a4c7bda6338d82c823f911acd00cb75850b198c5803",
    12
    "tx_metadata": "",
    13
    "unsigned_txset": ""
    14
    }
    15
    }
    Copied!
    transfer_split
    Same as transfer, but can split into more than one tx if necessary.
Alias: None.
Inputs:
  • destinations - array of destinations to receive XEQ:
  • 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 empty - all indices)
  • 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 equilibria can be spent (0 to not add a lock).
  • 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 equilibria 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.
    Example:
    1
    $ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"transfer_split","params":{"destinations":[{"amount":1000000000000,"address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o"},{"amount":2000000000000,"address":"75sNpRwUtekcJGejMuLSGA71QFuK1qcCVLZnYRTfQLgFU5nJ7xiAHtR5ihioS53KMe8pBhH61moraZHyLoG4G7fMER8xkNv"}],"account_index":0,"subaddr_indices":[0],"priority":0,"ring_size":7,"get_tx_keys": true}}' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    "amount_list": [3000000000000],
    7
    "fee_list": [473710000],
    8
    "multisig_txset": "",
    9
    "tx_hash_list": ["4adcdc1af3f665770cdf8fb7a380887cd07ac53c2b771bd18df5ca375d5e7540"],
    10
    "tx_key_list": ["5b455c0f97168be652a2c03c5c68a064bb84cdae4ddef01b5c48d73a0bbb27075fb714f2ca19ea6c8ff592417e606addea6deb1d6530e2969f75681ffcbfc4075677b94a8c9197963ae38fa6f543ee68f0a4c4bbda4c453f39538f00b28e980ea08509730b51c004960101ba2f3adbc34cbbdff0d5af9dba061b523090debd06"],
    11
    "unsigned_txset": ""
    12
    }
    13
    }
    Copied!
    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:
1
curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"transfer","params":{"destinations":[{"amount":1000000000000,"address":"7BnERTpvL5MbCLtj5n9No7J5oE5hHiB3tVCK5cjSvCsYWD2WRJLFuWeKTLiXo5QJqt2ZwUaLy2Vh1Ad51K7FNgqcHgjW85o"}],"account_index":0,"subaddr_indices":[0],"priority":0,"ring_size":7,"do_not_relay":true,"get_tx_hex":true}}' -H 'Content-Type: application/json'
2
{
3
"id": "0",
4
"jsonrpc": "2.0",
5
"result": {
6
"amount": 1000000000000,
7
"fee": 15202740000,
8
"multisig_txset": "",
9
"tx_blob": "...long_hex...",
10
"tx_hash": "c648ba0a049e5ce4ec21361dbf6e4b21eac0f828eea9090215de86c76b31d0a4",
11
"tx_key": "",
12
"tx_metadata": "",
13
"unsigned_txset": "...long_hex..."
14
}
15
}
Copied!
Sign tx using the previously generated unsigned_txset
1
$ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sign_transfer","params":{"unsigned_txset":...long_hex..."}}' -H 'Content-Type: application/json'
2
{
3
"id": "0",
4
"jsonrpc": "2.0",
5
"result": {
6
"signed_txset": "...long_hex...",
7
"tx_hash_list": ["ff2e2d49fbfb1c9a55754f786576e171c8bf21b463a74438df604b7fa6cebc6d"]
8
}
9
}
Copied!

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. In the example below, we submit the transfer using the signed_txset generated above:
    1
    curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"submit_transfer","params":{"tx_data_hex":...long_hex..."}}' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    "tx_hash_list": ["40fad7c828bb383ac02648732f7afce9adc520ba5629e1f5d9c03f584ac53d74"]
    7
    }
    8
    }
    Copied!
    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 equilibria 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. Example (In this example, sweep_dust returns nothing because there are no funds to sweep):
1
$ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sweep_dust","params":{"get_tx_keys":true}}' -H 'Content-Type: application/json'
2
{
3
"id": "0",
4
"jsonrpc": "2.0",
5
"result": {
6
"multisig_txset": "",
7
"unsigned_txset": ""
8
}
9
}
Copied!

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 equilibria can be spent (0 to not add a lock).
  • 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.
    Example:
    1
    $ curl http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sweep_all","params":{"address":"55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt","subaddr_indices":[4],"ring_size":7,"unlock_time":0,"get_tx_keys":true}}' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    "amount_list": [9985885770000],
    7
    "fee_list": [14114230000],
    8
    "multisig_txset": "",
    9
    "tx_hash_list": ["ab4b6b65cc8cd8c9dd317d0b90d97582d68d0aa1637b0065b05b61f9a66ea5c5"],
    10
    "tx_key_list": ["b9b4b39d3bb3062ddb85ec0266d4df39058f4c86077d99309f218ce4d76af607"],
    11
    "unsigned_txset": ""
    12
    }
    13
    }
    Copied!
    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 equilibria can be spent (0 to not add a lock).
  • 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.
    Example:
    1
    $ curl http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"sweep_single","params":{"address":"74Jsocx8xbpTBEjm3ncKE5LBQbiJouyCDaGhgSiebpvNDXZnTAbW2CmUR5SsBeae2pNk9WMVuz6jegkC4krUyqRjA6VjoLD","ring_size":7,"unlock_time":0,"key_image":"a7834459ef795d2efb6f665d2fd758c8d9288989d8d4c712a68f8023f7804a5e","get_tx_keys":true}}' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    "amount": 27126892247503,
    7
    "fee": 14111630000,
    8
    "multisig_txset": "",
    9
    "tx_blob": "",
    10
    "tx_hash": "106d4391a031e5b735ded555862fec63233e34e5fa4fc7edcfdbe461c275ae5b",
    11
    "tx_key": "",
    12
    "tx_metadata": "",
    13
    "unsigned_txset": ""
    14
    }
    15
    }
    Copied!
    relay_tx
    Relay a transaction previously created with "do_not_relay":true.
Alias: None.
Inputs:
  • hex - string; transaction metadata returned from a transfer method with get_tx_metadata set to true. Outputs:
  • tx_hash - String for the publically searchable transaction hash. Example:
    1
    $ curl http://localhost:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"relay_tx","params":{"hex":"...tx_metadata..."}}' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    "tx_hash": "1c42dcc5672bb09bccf33fb1e9ab4a498af59a6dbd33b3d0cfb289b9e0e25fa5"
    7
    }
    8
    }
    Copied!
    store
    Save the wallet file.
Alias: None.
Inputs: None.
Outputs: None.
Example:
1
$ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"store"}' -H 'Content-Type: application/json'
2
{
3
"id": "0",
4
"jsonrpc": "2.0",
5
"result": {
6
}
7
}
Copied!

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.
    Example:
    1
    $ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_payments","params":{"payment_id":"60900e5603bf96e3"}}' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    "payments": [{
    7
    "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt",
    8
    "amount": 1000000000000,
    9
    "block_height": 127606,
    10
    "payment_id": "60900e5603bf96e3",
    11
    "subaddr_index": {
    12
    "major": 0,
    13
    "minor": 0
    14
    },
    15
    "tx_hash": "3292e83ad28fc1cc7bc26dbd38862308f4588680fbf93eae3e803cddd1bd614f",
    16
    "unlock_time": 0
    17
    }]
    18
    }
    19
    }
    Copied!
    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.
    Example:
    1
    $ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"get_bulk_payments","params":{"payment_ids":["60900e5603bf96e3"],"min_block_height":"120000"}}' -H 'Content-Type: application/json'
    2
    {
    3
    "id": "0",
    4
    "jsonrpc": "2.0",
    5
    "result": {
    6
    "payments": [{
    7
    "address": "55LTR8KniP4LQGJSPtbYDacR7dz8RBFnsfAKMaMuwUNYX6aQbBcovzDPyrQF9KXF9tVU6Xk3K8no1BywnJX6GvZX8yJsXvt",
    8
    "amount": 1000000000000,
    9
    "block_height": 127606,
    10
    "payment_id": "60900e5603bf96e3",
    11
    "subaddr_index": {
    12
    "major": 0,
    13
    "minor": 0
    14
    },
    15
    "tx_hash": "3292e83ad28fc1cc7bc26dbd38862308f4588680fbf93eae3e803cddd1bd614f",
    16
    "unlock_time": 0
    17
    }]
    18
    }
    19
    }
    Copied!
    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:
    1
    $ curl http://127.0.0.1:18082/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"incoming