# Wallet

The following RPC calls interact with the komodod software, and are made available through the komodo-cli software.

# addmultisigaddress

addmultisigaddress nrequired [ "key", ... ] ( "account" )

The addmultisigaddress method adds a multi-signature address to the wallet, where nrequired indicates the number of keys (out of the total provided) required to execute a transaction.

The keys function as signatures, allowing multiple parties or entities to manage an account. Each key in the array can be an address or a hex-encoded public key.

TIP

DEPRECATED: If account is specified, the method assigns the multi-signature address to that account.

# Arguments

Name Type Description
nrequired (numeric, required) the number of required keys (out of the n submitted)
"keysobject" (string, required) a json array of addresses or hex-encoded public keys
"address" (string) the address or hex-encoded public key
"account" (string, optional) DEPRECATED: if provided, "account" MUST be set to the empty string "" to represent the default account; passing any other string will result in an error

# Response

Name Type Description
"address" (string) an address associated with the keys

# πŸ“Œ Examples

Add a multisig address from 2 addresses:

Command:

./komodo-cli addmultisigaddress 2 '["RSWwtqsNr9mW21UXRm6Lz4AzQnj4pVzzkp","RW8d8EChHTooVbwF3reqHYgkzWCnJFLXgh"]'

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "addmultisigaddress", "params": [2, ["RL4CuA2MSAbBiqJKQEr2TKnKT2fSwK99mG","RBYVFCxpJdLgvUixhguxzuH1TJpoNLYCJ6"]] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# backupwallet

backupwallet "destination"

The backupwallet method safely copies the wallet.dat file to the indicated destination. The destination input accepts only alphanumeric characters.

TIP

This method requires that the coin daemon have the exportdir runtime parameter enabled.

# Arguments

Name Type Description
"destination" (string, required) the destination filename, saved in the directory set by the exportdir runtime parameter

# Response

Name Type Description
"path" (string) the full path of the destination file

# πŸ“Œ Examples

./komodo-cli backupwallet "mybackupdata"
/home/myusername/myexportdir/mybackupdata

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "backupwallet", "params": ["backupdata"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# dumpprivkey

dumpprivkey "address"

The dumpprivkey method reveals the private key corresponding to the indicated address.

TIP

See also importprivkey.

# Arguments

Name Type Description
"address" (string, required) the address for the private key

# Response

Name Type Description
"data" (string) the private key

# πŸ“Œ Examples

Command:

./komodo-cli dumpprivkey "RTcwYaQPDVN7V9SdfFHARWnoB7vcpSfdvs"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "dumpprivkey", "params": ["RTcwYaQPDVN7V9SdfFHARWnoB7vcpSfdvs"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# dumpwallet

dumpwallet "filename"

The dumpwallet method dumps all transparent-address wallet keys into a file, using a human-readable format.

Overwriting an existing file is not permitted. The destination parameter accepts only alphanumeric characters.

TIP

This method requires that the coin daemon have the exportdir runtime parameter enabled.

# Arguments

Name Type Description
"filename" (string, required) the filename, saved in the folder set by the exportdir runtime parameter

# Response

Name Type Description
"path" (string) the full path of the destination file

# πŸ“Œ Examples

Command:

./komodo-cli dumpwallet "test"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "dumpwallet", "params": ["test"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# encryptwallet

encryptwallet "passphrase"

WARNING

Using the encryptwallet method will shutdown the Komodo daemon (komodod).

TIP

This feature is available only on chains where -ac_public is enabled. Chains that feature private transactions cannot use this feature.

The encryptwallet method encrypts the wallet with the indicated passphrase.

For more information, please see these instructions: Encrypt Komodo's wallet.dat File (opens new window)

This method is for first-time encryption only. After the first encryption, any calls that interact with private keys will require the passphrase via walletpassphrase prior to calling the corresponding method. This includes methods that create a transaction, dump a private key for an address, sign a transaction, etc.

# Arguments

Name Type Description
passphrase (string) the passphrase for wallet encryption; the passphrase must be at least 1 character, but should be many

# Response

Text Response
wallet encrypted; Komodo server stopping, restart to run with encrypted wallet. The keypool has been flushed, you need to make a new backup.

# πŸ“Œ Examples

# Encrypt your wallet

Command:

./komodo-cli encryptwallet "mypassphrase"
# Unlock the wallet for 60 seconds

Command:

./komodo-cli walletpassphrase "mypassphrase" 60
# Lock the wallet again by removing the passphrase

Command:

./komodo-cli walletlock

As a json rpc call:

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "encryptwallet", "params": ["mypassphrase"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# getaccount

getaccount "address"

The getaccount method returns the account associated with the given address.

# Arguments

Name Type Description
"address" (string, required) the address

# Response

Name Type Description
"accountname" (string) the account address

# πŸ“Œ Examples

Command:

./komodo-cli getaccount "RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getaccount", "params": ["RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# getaccountaddress

getaccountaddress "account"

TIP

DEPRECATED

The getaccountaddress method returns the current address for receiving payments to this account.

# Arguments

Name Type Description
"account" (string, required) MUST be set to the empty string "" to represent the default account; passing any other string will result in an error

# Response

Name Type Description
"address" (string) the account address

# πŸ“Œ Examples

Command:

./komodo-cli getaccountaddress

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getaccountaddress", "params": ["myaccount"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# getaddressesbyaccount

getaddressesbyaccount "account"

TIP

DEPRECATED

The getaddressesbyaccount method returns the list of addresses for the given account.

# Arguments

Name Type Description
"account" (string, required) MUST be set to the empty string "" to represent the default account; passing any other string will result in an error

# Response

Name Type Description
"address" (string) an address associated with the given account

# πŸ“Œ Examples

Command:

./komodo-cli getaddressesbyaccount "tabby"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getaddressesbyaccount", "params": ["tabby"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# getbalance

getbalance ( "account" minconf includeWatchonly )

The getbalance method returns the server's total available balance.

TIP

The account input is deprecated.

# Arguments

Name Type Description
"account" (string, optional) DEPRECATED if provided, it MUST be set to the empty string "" or to the string "*"
minconf (numeric, optional, default=1) only include transactions confirmed at least this many times
includeWatchonly (bool, optional, default=false) also include balance in watchonly addresses (see importaddress)

# Response

Name Type Description
amount (numeric) the total amount

# πŸ“Œ Examples

The total amount in the wallet:

Command:

./komodo-cli getbalance

The total amount in the wallet where at least five blocks are confirmed:

Command:

./komodo-cli getbalance "*" 5

As a json rpc call:

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getbalance", "params": ["", 6] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# getbalance64

getbalance64

TIP

This method is part of the new ac_staked functionality.

The getbalance64 method is used only on Smart Chains that are utilizing the ac_staked functionality. On KMD-based Proof-of-Stake (PoS) Smart Chains, all staked coins are placed into one of 64 segments (segid's'). The getbalance64 method returns the balance of coins in each segid. For further information, please reach out to our support team.

# getnewaddress

getnewaddress ( "account" )

The getnewaddress method returns a new address for receiving payments.

# Arguments

Name Type Description
"account" (string, optional) DEPRECATED: If provided, the account MUST be set to the empty string "" to represent the default account; passing any other string will result in an error

# Response

Name Type Description
"address" (string) the new address

# πŸ“Œ Examples

Command:

./komodo-cli getnewaddress

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# getrawchangeaddress

getrawchangeaddress

The getrawchangeaddress returns a new address that can be used to receive change.

TIP

This is for use with raw transactions, NOT normal use.

# Arguments

Name Type Description
(none)

# Response

Name Type Description
"address" (string) the address

# πŸ“Œ Examples

Command:

./komodo-cli getrawchangeaddress

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getrawchangeaddress", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# getreceivedbyaccount

getreceivedbyaccount "account" ( minconf )

TIP

DEPRECATED

The getreceivedbyaccount method returns the total amount received by account in transactions with at least minconf confirmations.

# Arguments

Name Type Description
"account" (string, required) MUST be set to the empty string "" to represent the default account; passing any other string will result in an error
minconf (numeric, optional, default=1) only include transactions confirmed at least this many times

# Response

Name Type Description
amount (numeric) the total amount received for this account

# πŸ“Œ Examples

Command:

./komodo-cli getreceivedbyaccount ""

# getreceivedbyaddress

getreceivedbyaddress "address" ( minconf )

The getreceivedbyaddress method returns the total amount received by the given address in transactions with at least minconf confirmations.

# Arguments

Name Type Description
"address" (string, required) the address for transactions
minconf (numeric, optional, default=1) only include transactions confirmed at least this many times

# Response

Name Type Description
amount (numeric) the total amount of the relevant coin received at this address

# πŸ“Œ Examples

Command:

./komodo-cli getreceivedbyaddress "RJSDZjp7kjBNhHsbECDE1jwYNK7af41pZN"

Command:

./komodo-cli getreceivedbyaddress "RJSDZjp7kjBNhHsbECDE1jwYNK7af41pZN" 0

Command:

./komodo-cli getreceivedbyaddress "RJSDZjp7kjBNhHsbECDE1jwYNK7af41pZN" 6

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getreceivedbyaddress", "params": ["RJSDZjp7kjBNhHsbECDE1jwYNK7af41pZN", 6] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# gettransaction

gettransaction "txid" ( includeWatchonly )

The gettransaction method queries detailed information about transaction txid. This command applies only to txid's that are in the user's local wallet.

# Arguments

Name Type Description
"txid" (string, required) the transaction id
"includeWatchonly" (bool, optional, default=false) whether to include watchonly addresses in the returned balance calculation and in the details[] returned values

# Response

Name Type Description
"amount" (numeric) the transaction amount
"confirmations" (numeric) a confirmation number that is aware of the dPoW security service
"rawconfirmations" (numeric) the raw confirmations (number of blocks on top of this transaction's block)
"blockhash" (string) the block hash
"blockindex" (numeric) the block index
"blocktime" (numeric) the time in seconds since epoch (1 Jan 1970 GMT)
"txid" (string) the transaction id
"time" (numeric) the transaction time in seconds since epoch (1 Jan 1970 GMT)
"timereceived" (numeric) the time received in seconds since epoch (1 Jan 1970 GMT)
"details" : [ ... ] (array)
"account" (string) DEPRECATED the account name involved in the transaction; can be "" for the default account
"address" (string) the address involved in the transaction
"category" (string) the category - either send or receive
"amount" (numeric) the amount
"vout" (numeric) the vout value
"vjoinsplit" : [ ... ] (array of json objects)
"anchor" (string) merkle root of note commitment tree
"nullifiers" : [ ... ] (array of strings)
"hex" (string)
"commitments" : [ ... ] (array of strings)
"hex" (string)
"macs" : [ ... ] (array of strings)
"hex" (string)
"vpub_old" (numeric) the amount removed from the transparent value pool
"vpub_new" (numeric) the amount added to the transparent value pool
"hex" (string) transaction data translated into hex

# πŸ“Œ Examples

Command:

./komodo-cli gettransaction "34efdb82ec718dede04feccecdc44f119cb7263f11c56ec3d7bf6234c9d0e27a"

Command:

./komodo-cli gettransaction "34efdb82ec718dede04feccecdc44f119cb7263f11c56ec3d7bf6234c9d0e27a" true

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "gettransaction", "params": ["34efdb82ec718dede04feccecdc44f119cb7263f11c56ec3d7bf6234c9d0e27a"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# getunconfirmedbalance

getunconfirmedbalance

The getunconfirmedbalance method returns the server's total unconfirmed balance.

# Arguments

Name Type Description
(none)

# Response

Name Type Description
(none)

# πŸ“Œ Examples

Command:

./komodo-cli getunconfirmedbalance

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getunconfirmedbalance", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# getwalletinfo

getwalletinfo

The getwalletinfo method returns an object containing various information about the wallet state.

# Arguments

Name Type Description
(none)

# Response

Name Type Description
"walletversion" (numeric) the wallet version
"balance" (numeric) the total confirmed balance of the wallet
"unconfirmed_balance" (numeric) the total unconfirmed balance of the wallet
"immature_balance" (numeric) the total immature balance of the wallet
"txcount" (numeric) the total number of transactions in the wallet
"keypoololdest" (numeric) the timestamp (seconds since GMT epoch) of the oldest pre-generated key in the key pool
"keypoolsize" (numeric) how many new keys are pre-generated
"unlocked_until" (numeric) the timestamp in seconds since epoch (midnight Jan 1 1970 GMT) that the wallet is unlocked for transfers, or 0 if the wallet is locked
"paytxfee" (numeric) the transaction fee configuration, given as the relevant COIN per KB

# πŸ“Œ Examples

Command:

./komodo-cli getwalletinfo

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getwalletinfo", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# importaddress

importaddress "address" ( "label" rescan )

The importaddress method adds an address or script (in hex) that can be watched as if it were in your wallet, although it cannot be used to spend.

TIP

This call can take an increased amount of time to complete if rescan is true.

# Arguments

Name Type Description
"address" (string, required) the address to watch
"label" (string, optional, default="") an optional label
rescan (boolean, optional, default=true) rescan the wallet for transactions

# Response

Name Type Description
(none)

# πŸ“Œ Examples

Import an address with rescan:

Command:

./komodo-cli importaddress "RJSDZjp7kjBNhHsbECDE1jwYNK7af41pZN"

Command:

./komodo-cli importaddress "RJSDZjp7kjBNhHsbECDE1jwYNK7af41pZN" "testing" false

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "importaddress", "params": ["R9z796AehK5b6NCPeVkGUHSpJnawerf8oP", "testing", false] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# importprivkey

importkey "komodoprivkey" ( "label" rescan )

The importprivkey method adds a private key to your wallet.

TIP

This call can take minutes to complete if rescan is true.

TIP

See also dumpprivkey.

# Arguments

Name Type Description
"privkey" (string, required) the private key (see dumpprivkey)
"label" (string, optional, default="") an optional label
rescan (boolean, optional, default=true) rescan the wallet for transactions
block (integer, optional) block height to rescan from

# Response

Name Type Description
addresses (string) the public address

# πŸ“Œ Examples

Command:

./komodo-cli importprivkey "DONOTUSExxxxxxxxxxxxxxxxxxxxj4Xu9jjinhLpffhdtoKg5gar2"

Command:

./komodo-cli importprivkey "DONOTUSExxxxxxxxxxxxxxxxxxxxj4Xu9jjinhLpffhdtoKg5gar2" "testing" false

Command:

./komodo-cli importprivkey "DONOTUSExxxxxxxxxxxxxxxxxxxxj4Xu9jjinhLpffhdtoKg5gar2" "testing" true 1762762

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "importprivkey", "params": ["UwibHKsYfiM19BXQmcUwAfw331GzGQK8aoPqqYEbyoPrzc2965nE", "testing", false] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# importwallet

importwallet "filename"

The importwallet method imports transparent-address keys from a wallet-dump file (see dumpwallet).

# Arguments

Name Type Description
"filename" (string, required) the wallet file

# Response

Name Type Description
(none)

# πŸ“Œ Examples

Command:

./komodo-cli importwallet "path/to/exportdir/nameofbackup"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "importwallet", "params": ["path/to/exportdir/nameofbackup"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# keypoolrefill

keypoolrefill ( newsize )

The keypoolrefill method refills the keypool.

# Arguments

Name Type Description
newsize (numeric, optional, default=100) the new keypool size

# Response

Name Type Description
(none)

# πŸ“Œ Examples

Command:

./komodo-cli keypoolrefill

Command:

./komodo-cli keypoolrefill 100

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "keypoolrefill", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# listaccounts

listaccounts ( minconf includeWatchonly )

TIP

DEPRECATED

The listaccounts method returns an object that has account names as keys and account balances as values.

# Arguments

Name Type Description
minconf (numeric, optional, default=1) only include transactions with at least this many confirmations
includeWatchonly (bool, optional, default=false) include balances in watchonly addresses (see 'importaddress')

# Response

Name Type Description
"account_number" (numeric) the property name is the account name, and the value is the total balance for the account

# πŸ“Œ Examples

Command:

./komodo-cli listaccounts 6

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "listaccounts", "params": [6] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# listaddressgroupings

listaddressgroupings

The listaddressgroupings method lists groups of addresses which have had their common ownership made public by common use as inputs or as the resulting change in past transactions.

# Arguments

Name Type Description
(none)

# Response

Name Type Description
"address", (string) the address
amount, (numeric) the amount
"account" (string, optional) (DEPRECATED) the account

# πŸ“Œ Examples

Command:

./komodo-cli listaddressgroupings

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "listaddressgroupings", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# listlockunspent

listlockunspent

The listlockunspent method returns a list of temporarily non-spendable outputs.

TIP

See the lockunspent call to lock and unlock transactions for spending.

# Arguments

Name Type Description
(none)

# Response

Name Type Description
"txid" (string) the transaction id locked
"vout" (numeric) the vout value

# πŸ“Œ Examples

Command:

./komodo-cli listlockunspent

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "listlockunspent", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# listreceivedbyaccount

listreceivedbyaccount ( minconf includeempty includeWatchonly )

WARNING

DEPRECATED

The listreceivedbyaccount method lists balances by account.

# Arguments

Name Type Description
minconf (numeric, optional, default=1) the minimum number of confirmations before payments are included
includeempty (boolean, optional, default=false) whether to include accounts that haven't received any payments
includeWatchonly (bool, optional, default=false) whether to include watchonly addresses (see 'importaddress')

# Response

Name Type Description
"involvesWatchonly" (bool) only returned if the imported addresses were involved in the transaction
"account" (string) the account name of the receiving account
"amount" (numeric) the total amount received by addresses with this account
"confirmations" (numeric) a confirmation number that is aware of the dPoW security service
"rawconfirmations" (numeric) the raw confirmations of the most recent transaction included (number of blocks on top of this transaction's block)

# πŸ“Œ Examples

Command:

./komodo-cli listreceivedbyaccount

Command:

./komodo-cli listreceivedbyaccount 6 true

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "listreceivedbyaccount", "params": [6, true, true] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# listreceivedbyaddress

listreceivedbyaddress ( minconf includeempty includeWatchonly)

The listreceivedbyaddress method lists balances by receiving address.

# Arguments

Name Type Description
minconf (numeric, optional, default=1) the minimum number of confirmations before payments are included
includeempty (numeric, optional, default=false) whether to include addresses that haven't received any payments
includeWatchonly (bool, optional, default=false) whether to include watchonly addresses (see 'importaddress')

# Response

Name Type Description
"involvesWatchonly" (bool) only returned if imported addresses were involved in transaction
"address" (string) the receiving address
"account" (string) DEPRECATED the account of the receiving address; the default account is ""
"amount" (numeric) the total amount received by the address
"confirmations" (numeric) a confirmation number that is aware of the dPoW security service
"rawconfirmations" (numeric) the raw confirmations of the most recent transaction included (number of blocks on top of this transaction's block)

# πŸ“Œ Examples

Command:

./komodo-cli listreceivedbyaddress

Command:

./komodo-cli listreceivedbyaddress 6 true

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "listreceivedbyaddress", "params": [6, true, true] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# listsinceblock

listsinceblock ( "blockhash" target-confirmations includeWatchonly )

The listsinceblock method queries all transactions in blocks since block blockhash, or all transactions if blockhash is omitted.

# Arguments

Name Type Description
"blockhash" (string, optional) the block hash from which to list transactions
target-confirmations (numeric, optional) the confirmations required (must be 1 or more)
includeWatchonly (bool, optional, default=false) include transactions to watchonly addresses (see also 'importaddress')

# Response

Name Type Description
"transactions":
"account" (string) DEPRECATED the account name associated with the transaction; will be "" for the default account
"address" (string) the address of the transaction (not present for move transactions -- category = move)
"category" (string) the transaction category; send has negative amounts, receive has positive amounts
"amount" (numeric) the amount of the relevant currency -- negative for the send category, and for the move category for moves outbound. It is positive for the receive category, and for the move category for inbound funds.
"vout" (numeric) the vout value
"fee" (numeric) the amount of the fee; this value is negative and only available for the send category of transactions
"confirmations" (numeric) a confirmation number that is aware of the dPoW security service
"rawconfirmations" (numeric) the raw confirmations of the transaction; available for send and receive category of transactions (number of blocks on top of this transaction's block)
"blockhash" (string) the block hash containing the transaction; available for the send and receive categories of transactions
"blockindex" (numeric) the block index containing the transaction; available for the send and receive categories of transactions
"blocktime" (numeric) the block time in seconds since epoch (1 Jan 1970 GMT)
"txid" (string) the transaction id; available for send and receive categories of transactions
"time" (numeric) the transaction time in seconds since epoch (Jan 1 1970 GMT)
"timereceived" (numeric) the time received in seconds since epoch (Jan 1 1970 GMT); available for send and receive category of transactions
"comment" (string) whether a comment is associated with the transaction
"to" (string) whether a 'to' comment is associated with the transaction
"lastblock" (string) the hash of the last block

# πŸ“Œ Examples

Command:

./komodo-cli listsinceblock

Command:

./komodo-cli listsinceblock "029f11d80ef9765602235e1bc9727e3eb6ba20839319f761fee920d63401e327" 6

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "listsinceblock", "params": ["029f11d80ef9765602235e1bc9727e3eb6ba20839319f761fee920d63401e327", 6] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# listtransactions

listtransactions ( "account" count from includeWatchonly )

The listtransactions method returns up to count most recent transactions skipping the first from transactions for account.

# Arguments

Name Type Description
"account" (string, optional) DEPRECATED the account name; should be "*"
count (numeric, optional, default=10) the number of transactions to return
from (numeric, optional, default=0) the number of transactions to skip
includeWatchonly (bool, optional, default=false) include transactions to watchonly addresses (see importaddress)

# Response

Name Type Description
"account" (string) DEPRECATED the account name associated with the transaction; it will be "" for the default account
"address" (string) the address of the transaction; not present for move transactions (category = move)
"category" (string) The transaction category. This property can be send
"amount" (numeric) The amount. This value is negative for the send category, and for the move category for moves outbound. It is positive for the receive category and for the move category for inbound funds.
"vout" (numeric) the vout value
"fee" (numeric) the amount of the fee; this is negative and only available for the send category of transactions
"confirmations" (numeric) a confirmation number that is aware of the dPoW security service
"rawconfirmations" (numeric) the raw confirmations of the transaction; available for send and receive category of transactions (number of blocks on top of this transaction's block)
"blockhash" (string) the block hash containing the transaction; available for the send and receive categories of transactions
"blockindex" (numeric) the block index containing the transaction; available for the send and receive categories of transactions
"txid" (string) the transaction id; available for the send and receive categories of transactions
"time" (numeric) the transaction time in seconds since epoch (midnight Jan 1 1970 GMT)
"timereceived" (numeric) the time received in seconds since epoch (midnight Jan 1 1970 GMT); available for the send and receive categories of transactions
"comment" (string) whether a comment is associated with the transaction
"otheraccount" (string) for the move category of transactions; indicates the account which sent the funds (for receiving funds, positive amounts), or went to (for sending funds, negative amounts)
"size" (numeric) transaction size in bytes

# πŸ“Œ Examples

Command:

./komodo-cli listtransactions

Command:

./komodo-cli listtransactions "*" 20 100

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "listtransactions", "params": ["*", 20, 100] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# listunspent

listunspent ( minconf maxconf ["address", ... ] )

The listunspent method returns an array of unspent transaction outputs, with a range between minconf and maxconf (inclusive) confirmations. The method can, optionally, filter to only include txouts paid to specified addresses.

# Arguments

Name Type Description
minconf (numeric, optional, default=1) the minimum confirmations to filter
maxconf (numeric, optional, default=9999999) the maximum confirmations to filter
"address" (string) a series of addresses

# Response

Name Type Description
"txid" (string) the transaction id
"vout" (numeric) the vout value
"generated" (boolean) true if txout is a coinbase transaction output
"address" (string) the address
"account" (string) DEPRECATED the associated account, or "" for the default account
"scriptPubKey" (string) the script key
"amount" (numeric) the transaction amount
"confirmations" (numeric) a confirmation number that is aware of the dPoW security service
"rawconfirmations" (numeric) the raw confirmations (number of blocks on top of this transaction's block)

# πŸ“Œ Examples

Command:

./komodo-cli listunspent

Command:

./komodo-cli listunspent 6 9999999 '["RPS3xTZCzr6aQfoMw5Bu1rpQBF6iVCWsyu","RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ"]'

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "listunspent", "params": [6, 9999999, ["RPS3xTZCzr6aQfoMw5Bu1rpQBF6iVCWsyu","RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ"]] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# lockunspent

lockunspent unlock [{ "txid": "txid", "vout": n }, ... ]

The lockunspent method locks (unlock = false) or unlocks (unlock = true) specified transaction outputs. A locked transaction output will not be chosen by automatic coin selection, when spending the relevant coin. The locks are stored in memory only; at runtime a node always starts with zero locked outputs, and the locked output list is always cleared when a node stops or fails.

TIP

See the listunspent and listlockunspent calls to determine local transaction state and info.

# Arguments

Name Type Description
unlock (boolean, required) whether to unlock (true) or lock (false) the specified transactions
"txid" (string) the transaction id
"vout" (numeric) the output number

# Response

Name Type Description
true/false (boolean) whether the command was successful

# πŸ“Œ Examples

Command:

./komodo-cli lockunspent false '[{"txid":"d7ba45296c66e16eb61f27a4eef8848c7f5579fe801f277c1b0e074a4f47d6fd","vout":0}]'

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "lockunspent", "params": [false, [{"txid":"d7ba45296c66e16eb61f27a4eef8848c7f5579fe801f277c1b0e074a4f47d6fd","vout":0}]] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# move

move "fromaccount" "toaccount" amount ( minconf "comment" )

TIP

DEPRECATED

The move method moves a specified amount from one account in your wallet to another.

# Arguments

Name Type Description
"fromaccount" (string, required) MUST be set to the empty string "" to represent the default account; passing any other string will result in an error
"toaccount" (string, required) MUST be set to the empty string "" to represent the default account; passing any other string will result in an error
amount (numeric) the quantity to move between accounts
minconf (numeric, optional, default=1) only use funds with at least this many confirmations
"comment" (string, optional) an optional comment, stored in the wallet only

# Response

Name Type Description
true/false (boolean) true if successful

# πŸ“Œ Examples

Command:

./komodo-cli move "" "tabby" 0.01

Command:

./komodo-cli move "timotei" "akiko" 0.01 6 "happy birthday!"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "move", "params": ["timotei", "akiko", 0.01, 6, "happy birthday!"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# resendwallettransactions

resendwallettransactions

The resendwallettransactions method immediately re-broadcasts unconfirmed wallet transactions to all peers. This method is intended only for testing; the wallet code periodically re-broadcasts automatically.

# Arguments

Name Type Description
(none)

# Response

Name Type Description
"transaction_id" (string) an array of the rebroadcasted transaction id's

# πŸ“Œ Examples

Command:

./komodo-cli resendwallettransactions

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "resendwallettransactions", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# sendfrom

sendfrom "account" "address" amount ( minconf "comment" "comment-to" )

TIP

DEPRECATED: Use sendtoaddress instead.

The sendfrom method sends an amount from account to address.

# Arguments

Name Type Description
"account" (string, required) MUST be set to the empty string "" to represent the default account; passing any other string will result in an error
"address" (string, required) the address to receive funds
amount (numeric, required) the amount (transaction fee not included)
minconf (numeric, optional, default=1) only use funds with at least this many confirmations
"comment" (string, optional) a comment used to store what the transaction is for; this is not part of the transaction, just kept in your wallet
"comment-to" (string, optional) an optional comment to store the name of the person or organization to which you're sending the transaction; this is not part of the transaction, it is only kept in your wallet

# Response

Name Type Description
"transaction_id" (string) the transaction id

# πŸ“Œ Examples

Command:

./komodo-cli sendfrom "" "RPS3xTZCzr6aQfoMw5Bu1rpQBF6iVCWsyu" 0.01

Command:

./komodo-cli sendfrom "tabby" "RPS3xTZCzr6aQfoMw5Bu1rpQBF6iVCWsyu" 0.01 6 "donation" "seans outpost"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "sendfrom", "params": ["tabby", "RPS3xTZCzr6aQfoMw5Bu1rpQBF6iVCWsyu", 0.01, 6, "donation", "seans outpost"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# sendmany

sendmany "account" { "address": amount, ... } ( minconf "comment" [ "address", ... ] )

The sendmany method can send multiple transactions at once. Amounts are double-precision floating point numbers.

# Arguments

Name Type Description
"account" (string, required) MUST be set to the empty string "" to represent the default account; passing any other string will result in an error
"amounts" { "address":amount, ... } ("string":numeric) the address (string) and the value (double-precision floating numeric)
minconf (numeric, optional, default=1) only use the balance confirmed at least this many times
"comment" (string, optional) a comment
subtractfeefromamount (string, optional) a json array with addresses. The fee will be equally deducted from the amount of each selected address; the recipients will receive less than you enter in their corresponding amount field. If no addresses are specified here, the sender pays the fee.
"address" (string) subtract fee from this address

# Response

Name Type Description
"transaction_id" (string) the transaction id for the send; only 1 transaction is created regardless of the number of addresses

# πŸ“Œ Examples

Command:

./komodo-cli sendmany "" '{"RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ":0.01,"RPS3xTZCzr6aQfoMw5Bu1rpQBF6iVCWsyu":0.02}'

Command:

./komodo-cli sendmany "" '{"RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ":0.01,"RPS3xTZCzr6aQfoMw5Bu1rpQBF6iVCWsyu":0.02}' 6 "testing"

Command:

./komodo-cli sendmany "" '{"RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ":0.01,"RPS3xTZCzr6aQfoMw5Bu1rpQBF6iVCWsyu":0.02}' 1 "" '["RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ","RPS3xTZCzr6aQfoMw5Bu1rpQBF6iVCWsyu"]'

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "sendmany", "params": ["", {"RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ":0.01,"RPS3xTZCzr6aQfoMw5Bu1rpQBF6iVCWsyu":0.02}, 6, "testing"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# sendtoaddress

sendtoaddress "address" amount ( "comment" "comment-to" subtractfeefromamount "OP_RETURN")

The sendtoaddress method sends an amount to a given address. The amount is real and is rounded to the nearest 0.00000001.

# Arguments

Name Type Description
"komodoaddress" (string, required) the receiving address
"amount" (numeric, required) the amount to send (json requires all decimals values less than 1 begin with the characters '0.')
"comment" (string, optional) a comment used to store what the transaction is for; this is not part of the transaction, just kept in your wallet
"comment-to" (string, optional) a comment to store the name of the person or organization to which you're sending the transaction; this is stored in your local wallet file only
subtractfeefromamount (boolean, optional, default=false) when true, the fee will be deducted from the amount being sent
OP_RETURN (string, optional) the hexdata to be stored as part of the OP_RETURN of the transaction; the number of characters must be even, the user may add a padding 0 at the beginning if necessary; available in master branch after the Notary Network Upgrade of 2020

# Response

Name Type Description
"transaction_id" (string) the transaction id

# πŸ“Œ Examples

Command:

./komodo-cli sendtoaddress "RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ" 0.1

Command:

./komodo-cli sendtoaddress "RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ" 0.1 "donation" "seans outpost"

Command:

./komodo-cli sendtoaddress "RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ" 0.1 "" "" true

Command:

./komodo-cli sendtoaddress "RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ" 0.1 "" "" false "c5727cafd7d6dfc888d4a0596dc58bfafb24859e29f827e1bf1443037d8461fc"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "sendtoaddress", "params": ["RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ", 0.1, "donation", "seans outpost"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# setaccount

setaccount "address" "account"

Notice

DEPRECATED

The setaccount method sets the account associated with the given address.

# Arguments

Name Type Description
"address" (string, required) the address to be associated with an account
"account" (string, required) MUST be set to the empty string "" to represent the default account; passing any other string will result in an error

# πŸ“Œ Examples

Command:

./komodo-cli setaccount "RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ" "tabby"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "setaccount", "params": ["RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ", "tabby"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# setpubkey

setpubkey pubkey

The setpubkey method sets the indicated pubkey. This method can be used in place of the pubkey launch parameter, when necessary.

Visit the section pubkey to understand when it is essential to set a pubkey and the consequences of setting it.

WARNING

This method works only once per daemon start. It can't be used to change the pubkey that has already been set.

# Arguments

Name Type Description
pubkey (string) the desired pubkey

# Response

Name Type Description
pubkey (string) the pubkey
ismine (boolean) indicates whether the address belongs to the user
R-address (string) the public address associated with the pubkey

# πŸ“Œ Examples

Command:

./komodo-cli setpubkey 0260801166cebdc9be1e3460ba9e4959fb29feee7725f565ffc296fa4636aa706f

You can find the rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user myrpuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "setpubkey", "params": ["02f7597468703c1c5c8465dd6d43acaae697df9df30bed21494d193412a1ea193e"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# settxfee

settxfee amount

The settxfee method sets the transaction fee per kB.

# Arguments

Name Type Description
amount (numeric, required) the transaction fee in COIN/kB rounded to the nearest 0.00000001

# Response

Name Type Description
true/false (boolean) returns true if successful

# πŸ“Œ Examples

Command:

./komodo-cli settxfee 0.00001

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "settxfee", "params": [0.00001] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# signmessage

signmessage "address" "message"

The signmessage method signs a message via the private key of an address.

# Arguments

Name Type Description
"address" (string, required) the address to use for the private key
"message" (string, required) the message

# Response

Name Type Description
"signature" (string) the signature of the message encoded in base 64

# πŸ“Œ Examples

Create the signature:

Command:

./komodo-cli signmessage "RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ" "my message"

Verify the signature:

Command:

./komodo-cli verifymessage "RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ" "H1y0mn/wRv56r1bcfkbQtzjG6XeWSelAsyayBuCwEL9XGXs7ieU55dryt/cFWM9gnRFI7gS01AByuSqRs+o/AZs=" "my message"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "signmessage", "params": ["RBtNBJjWKVKPFG4To5Yce9TWWmc2AenzfZ", "my message"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# walletlock

walletlock

TIP

The walletlock method is neither active nor visible in the help method until the encryptwallet passphrase is set.

TIP

This feature is available only on chains where -ac_public is enabled. Chains that feature private transactions cannot use this feature.

The walletlock method re-locks a wallet that has a passphrase enabled via encryptwallet.

# Arguments

Name Type Description
(none)

# Response

Name Type Description
(none)

# πŸ“Œ Examples

Command:

./komodo-cli walletlock

# walletpassphrase

walletpassphrase "passphrase" (timeout)

TIP

The walletpassphrase method is neither active nor visible in the help method until the encryptwallet passphrase is set.

TIP

This feature is available only on chains where -ac_public is enabled. Chains that feature private transactions cannot use this feature.

The walletpassphrase method unlocks the wallet using the passphrase that was set by the encryptwallet method.

The timeout argument can be included to limit the length of time (in seconds) the wallet will remain unlocked.

# Arguments

Name Type Description
"passphrase" (string) the passphrase that was set by the encryptwallet method
timeout (number in seconds, optional) the amount of time for which the wallet should remember the passphrase

# Response

Name Type Description
(none)

# πŸ“Œ Examples

Command:

./komodo-cli walletpassphrase

# walletpassphrasechange

walletpassphrasechange "oldpassphrase" "newpassphrase"

TIP

The walletpassphrasechange method is neither active nor visible in the help method until the encryptwallet passphrase is set.

TIP

This feature is available only on chains where -ac_public is enabled. Chains that feature private transactions cannot use this feature.

The walletpassphrasechange method changes "oldpassphrase" to "newpassphrase".

# Arguments

Name Type Description
"oldpassphrase" (string) the old passphrase
"newpassphrase" (string) the new passphrase

# Response

Name Type Description
(none)

# πŸ“Œ Examples

Command:

./komodo-cli walletpassphrasechange "oldpassphrase" "newpassphrase"

# z_exportkey

z_exportkey "z_address"

The z_exportkey method reveals the private z_key corresponding to z_address.

TIP

See also z_importkey.

# Arguments

Name Type Description
"z_address" (string, required) the z_address for the private key

# Response

Name Type Description
"key" (string) the private key

# πŸ“Œ Examples

Command:

./komodo-cli z_exportkey "ztffWAUUY9PnLiBVXY2pnX67kfm71SevtPC5d9LLM3xZqehy4XxV1FeyxPWcHGTiCd7GtQ17gk5jDTQxhHB13K1A7HT6hZH"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_exportkey", "params": ["ztffWAUUY9PnLiBVXY2pnX67kfm71SevtPC5d9LLM3xZqehy4XxV1FeyxPWcHGTiCd7GtQ17gk5jDTQxhHB13K1A7HT6hZH"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_exportviewingkey

z_exportviewingkey "z_address"

The z_exportviewingkey method reveals the viewing key corresponding to z_address.

TIP

See also z_importviewingkey.

# Arguments

Name Type Description
"z_address" (string, required) the z_address for the viewing key

# Response

Name Type Description
"vkey" (string) the viewing key

# πŸ“Œ Examples

Command:

./komodo-cli z_exportviewingkey "ztffWAUUY9PnLiBVXY2pnX67kfm71SevtPC5d9LLM3xZqehy4XxV1FeyxPWcHGTiCd7GtQ17gk5jDTQxhHB13K1A7HT6hZH"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_exportviewingkey", "params": ["ztffWAUUY9PnLiBVXY2pnX67kfm71SevtPC5d9LLM3xZqehy4XxV1FeyxPWcHGTiCd7GtQ17gk5jDTQxhHB13K1A7HT6hZH"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_exportwallet

z_exportwallet "filename"

The z_exportwallet method exports all wallet keys, including both t address and z address types, in a human-readable format. Overwriting an existing file is not permitted.

# Arguments

Name Type Description
"filename" (string, required) the filename, saved to the directory indicated by the exportdir parameter at daemon runtime (required)

# Response

Name Type Description
"path" (string) the full path of the destination file

# πŸ“Œ Examples

Command:

./komodo-cli z_exportwallet "test"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_exportwallet", "params": ["test"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_getbalance

z_getbalance "address" ( minconf )

The z_getbalance method returns the balance of a t address or z address belonging to the node’s wallet.

WARNING

CAUTION: If address is a watch-only z address, the returned balance may be larger than the actual balance, as spends cannot be detected with incoming viewing keys.

# Arguments

Name Type Description
"address" (string) the selected z or t address
minconf (numeric, optional, default=1) only include transactions confirmed at least this many times

# Response

Name Type Description
amount (numeric) the total amount received at this address (in the relevant COIN value)

# πŸ“Œ Examples

The total amount received by address "myaddress" at least 5 blocks confirmed

Command:

./komodo-cli z_getbalance "ztfF6SFBfq2qha73dAgsXnL86F8air32CXKxJg8aYtEPJFdLcw4y3zWzBasocnx1V9GLnnFeKnkPvkScjNkQBfWn2kBDmkn"

Command:

./komodo-cli z_getbalance "ztfF6SFBfq2qha73dAgsXnL86F8air32CXKxJg8aYtEPJFdLcw4y3zWzBasocnx1V9GLnnFeKnkPvkScjNkQBfWn2kBDmkn" 5

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_getbalance", "params": ["ztfF6SFBfq2qha73dAgsXnL86F8air32CXKxJg8aYtEPJFdLcw4y3zWzBasocnx1V9GLnnFeKnkPvkScjNkQBfWn2kBDmkn", 5] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_getnewaddress

z_getnewaddress

The z_getnewaddress method returns a new z_address for receiving payments.

# Arguments

Name Type Description
(none)

# Response

Name Type Description
"z_address" (string) the new z_address

# πŸ“Œ Examples

Command:

./komodo-cli z_getnewaddress

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_getnewaddress", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_getoperationresult

z_getoperationresult ([ "operationid", ... ])

The z_getoperationresult method retrieves the result and status of an operation which has finished, and then removes the operation from memory.

TIP

See also z_getoperationstatus.

# Arguments

Name Type Description
"operationid" (string, optional) a list of operation ids to query; if not provided, the method examines all operations known to the node

# Response

Name Type Description
"id" (string) the operation id
"status" (string) the result of the operation; can be success
"creation_time" (numeric) the creation time, in seconds since epoch (Jan 1 1970 GMT)
"result": { ... } (array of json objects)
"txid": (string) the transaction id
"execution_secs" (numeric) the length of time to calculate the transaction
"method" (string) the name of the method used in the operation
"params": { ... } (json)
"fromaddress" (string) the address from which funds are drawn
"amounts": [ ... ] (array of json objects)
"address" (string) the receiving address
"amount" (numeric) the amount to receive
"minconf" (numeric) the minimum number of confirmations required
"fee" (numeric) the transaction fee

# πŸ“Œ Examples

Command:

./komodo-cli z_getoperationresult '["opid-6e581ee5-4e90-4e70-8961-f95d8d28748c"]'

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_getoperationresult", "params": [["opid-6a9da0dd-a950-4d95-848c-d3c18e44be03"]] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_getoperationstatus

z_getoperationstatus ([ "operationid", ... ])

The z_getoperationstatus message queries the operation status and any associated result or error data of any operationid stored in local memory. The operation will remain in memory (unlike z_getoperationresult, which removes the data from the local memory).

# Arguments

Name Type Description
"operationid" (array, optional) a list of operation ids we are interested in; if an array is not provided, the method examines all operations known to the node

# Response

Name Type Description
"id" (string) the operation id
"status" (string) the status of the operation; can be success
"creation_time" (numeric) the creation time, in seconds since epoch (Jan 1 1970 GMT)
"error" : { ... } (array of json objects)
"code" (numeric) the associated error code
"message" (string) a message to indicate the nature of the error, if such a message is available
"method" (string) the name of the method used in the operation
"params" : { ... } (array of json objects)
"fromaddress" (string) the address from which funds are drawn
"amounts": [ ... ] (array of json objects)
"address" (string) the receiving address
"amount" (numeric) the amount to receive
"minconf" (numeric) indicates the required number of mining confirmations
"fee" (numeric) the fee

# πŸ“Œ Examples

Command:

./komodo-cli z_getoperationstatus

Command:

./komodo-cli z_getoperationstatus '["opid-47e12224-8477-4cd4-852d-d8c3ddbc6375"]'

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_getoperationstatus", "params": [["opid-47e12224-8477-4cd4-852d-d8c3ddbc6375"]] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_gettotalbalance

z_gettotalbalance ( minconf includeWatchonly )

The z_gettotalbalance method returns the total value of funds, including both transparent and private, stored in the node’s wallet.

WARNING

CAUTION: If the wallet contains watch-only z addresses the returned private balance may be larger than the actual balance, as spends cannot be detected with incoming viewing keys.

TIP

While the interest property is returned for all KMD-based coin daemons, only the main KMD chain utilizes the interest feature. KMD-based Smart Chains will always return a 0.00 interest value.

# Arguments

Name Type Description
minconf (numeric, optional, default=1) only include private and transparent transactions confirmed at least this many times
includeWatchonly (bool, optional, default=false) also include balance in watchonly addresses (see 'importaddress' and 'z_importviewingkey')

# Response

Name Type Description
"transparent" (numeric) the total balance of transparent funds
"interest" (numeric) the total balance of unclaimed interest earned
"private" (numeric) the total balance of private funds
"total" (numeric) the total balance of both transparent and private funds

# πŸ“Œ Examples

Command:

./komodo-cli z_gettotalbalance

Command:

./komodo-cli z_gettotalbalance 5

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_gettotalbalance", "params": [5] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_importkey

z_importkey "z_privatekey" ( rescan startHeight )

The z_importkey method imports z_privatekey to your wallet.

TIP

This call can take minutes to complete if rescan is true.

TIP

The optional parameters are currently not functional with KMD-based blockchains.

TIP

See also z_exportkey.

# Arguments

Name Type Description
"z_privatekey" (string, required) the z_privatekey (see z_exportkey)
rescan (string, optional, default="whenkeyisnew") rescan the wallet for transactions; can be yes
startHeight (numeric, optional, default=0) the block height at which to begin the rescan

# Response

Name Type Description
(none)

# πŸ“Œ Examples

Command:

./komodo-cli z_importkey DONOTUSExxxxxxxxxxxxxxxxBP6ipkmBxmEQbugcCQ16vUaWGFK

Command:

./komodo-cli z_importkey DONOTUSExxxxxxxxxxxxxxxxBP6ipkmBxmEQbugcCQ16vUaWGFK whenkeyisnew 30000

Command:

./komodo-cli z_importkey DONOTUSExxxxxxxxxxxxxxxxBP6ipkmBxmEQbugcCQ16vUaWGFK yes 20000

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_importkey", "params": ["DONOTUSExxxxxxxxxxxxxxxxBP6ipkmBxmEQbugcCQ16vUaWGFK", "no"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_importviewingkey

z_importviewingkey "viewing_key" ( rescan startHeight )

The z_importviewingkey adds a viewing key to your wallet. This method allows you to view the balance in a z address that otherwise does not belong to your wallet.

TIP

See also z_exportviewingkey.

TIP

This call can take minutes to complete if rescan is true.

TIP

The optional parameters are currently not functional for KMD-based blockchains.

# Arguments

Name Type Description
"viewing_key" (string, required) the viewing key
rescan (string, optional, default="whenkeyisnew") whether to rescan the wallet for transactions; can be "yes"
startHeight (numeric, optional, default=0) block height to start rescan

# Response

Name Type Description
(none)

# πŸ“Œ Examples

Command:

./komodo-cli z_importviewingkey "ZiVtfYkeyRY3y8Wykm5zjLcnssEkVrkej6j3kQ5B1AE2qp2F3VsKzpoXTzD82hrvMjWB9WxCHbXXrXax2ceyHLWrnQDaMrMja"

Command:

./komodo-cli z_importviewingkey "ZiVtfYkeyRY3y8Wykm5zjLcnssEkVrkej6j3kQ5B1AE2qp2F3VsKzpoXTzD82hrvMjWB9WxCHbXXrXax2ceyHLWrnQDaMrMja" no

Command:

./komodo-cli z_importviewingkey "ZiVtfYkeyRY3y8Wykm5zjLcnssEkVrkej6j3kQ5B1AE2qp2F3VsKzpoXTzD82hrvMjWB9WxCHbXXrXax2ceyHLWrnQDaMrMja" whenkeyisnew 30000

Command:

./komodo-cli z_importviewingkey "ZiVtfYkeyRY3y8Wykm5zjLcnssEkVrkej6j3kQ5B1AE2qp2F3VsKzpoXTzD82hrvMjWB9WxCHbXXrXax2ceyHLWrnQDaMrMja" yes 20000

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_importviewingkey", "params": ["ZiVtfYkeyRY3y8Wykm5zjLcnssEkVrkej6j3kQ5B1AE2qp2F3VsKzpoXTzD82hrvMjWB9WxCHbXXrXax2ceyHLWrnQDaMrMja", "no"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_importwallet

z_importwallet "filename"

The z_importwallet method imports t address and z address keys from a wallet export file.

TIP

See also z_exportwallet.

# Arguments

Name Type Description
"filename" (string, required) the wallet file

# Response

Name Type Description
(none)

# πŸ“Œ Examples

Command:

./komodo-cli z_importwallet "/mydirectory/nameofbackup"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_importwallet", "params": ["/mydirectory/nameofbackup"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_listaddresses

z_listaddresses ( includeWatchonly )

The z_listaddresses method returns the list of z addresses belonging to the wallet.

TIP

See also z_importviewingkey.

# Arguments

Name Type Description
includeWatchonly (bool, optional, default=false) also include watchonly addresses

# Response

Name Type Description
"z_address" (string) a z address belonging to the wallet

# πŸ“Œ Examples

Command:

./komodo-cli z_listaddresses

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_listaddresses", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_listoperationids

z_listoperationids

The z_listoperationids method returns the list of operation ids currently known to the wallet.

# Arguments

Name Type Description
"status" (string, optional) filter result by the operation's state e.g. "success"

# Response

Name Type Description
"operationid" (string) an operation id belonging to the wallet

# πŸ“Œ Examples

Command:

./komodo-cli z_listoperationids

Command:

./komodo-cli z_listoperationids "success"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_listoperationids", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_listreceivedbyaddress

z_listreceivedbyaddress "address" ( minconf )

The z_listreceivedbyaddress method returns a list of amounts received by a z address belonging to the node’s wallet.

# Arguments

Name Type Description
address (string) the private address.
minconf (numeric, optional, default=1) only include transactions confirmed at least this many times

# Result

An array of json objects, each having the properties below.

Name Type Description
txid (string) the transaction id
amount (numeric) the amount of value in the note
memo (string) hexadecimal string representation of memo field
"confirmations" (numeric) a confirmation number that is aware of the dPoW security service
"rawconfirmations" (numeric) the raw confirmations (number of blocks on top of this transaction's block)
jsindex (sprout) (numeric, received only by sprout addresses) the joinsplit index
jsoutindex (numeric, received only by sprout addresses) the output index of the joinsplit
outindex (numeric, sapling) the output index
change (boolean) true if the address that received the note is also one of the sending addresses

# πŸ“Œ Examples

Command:

./komodo-cli z_listreceivedbyaddress "zs1wqykmk74mv2ezjscpxsgzrn4fasqwh50tgk0ym64m45c5yw5fjtpkps64gle963veqzuj04872z"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user rpcuser:rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_listreceivedbyaddress", "params": ["zs1umhaattx6lna933m9zwfqlmkm2qj49hpa9lnymtj5h5c7cwtd3evfpu29hppprax9cs45fzeyqg"] }' -H 'content-type: text/plain;' http://127.0.0.1:rpcport/

# z_listunspent

z_listunspent ( minconf maxconf includeWatchonly ["zaddr", ...] )

The z_listunspent method returns an array of unspent shielded notes.

The method can also filter to only include results that have between minconf and maxconf (inclusive) confirmations, and also for specified z_addresses (["zaddr", ...]).

When minconf is 0 unspent notes with zero confirmations are returned, even though they are not immediately spendable.

Results are an array of Objects, each of which has: {txid, jsindex, jsoutindex, confirmations, address, amount, memo} (Sprout) {txid, outindex, confirmations, address, amount, memo} (Sapling)

# Arguments

Name Type Description
minconf (numeric, optional, default=1) the minimum confirmations to filter
maxconf (numeric, optional, default=9999999) the maximum confirmations to filter
includeWatchonly (bool, optional, default=false) whether to also include watchonly addresses (see z_importviewingkey)
addresses (array) a json array of z addresses (both Sprout and Sapling) to act as a filter; duplicate addresses are not allowed
address (string) a z address

# Results

An array of json objects, each having the properties below.

Name Type Description
txid (string) the transaction id
jsindex (numeric) the joinsplit index
jsoutindex (numeric, only returned on sprout addresses) the output index of the joinsplit
outindex (numeric, only returned on sapling addresses) the output index
"confirmations" (numeric) a confirmation number that is aware of the dPoW security service
"rawconfirmations" (numeric) the raw confirmations (number of blocks on top of this transaction's block)
spendable (boolean) true if note can be spent by wallet, false if note has zero confirmations, false if address is watchonly
address (string) the shielded address
amount (numeric) the amount of value in the note
memo (string) hexadecimal string representation of memo field
change (boolean) true if the address that received the note is also one of the sending addresses

# πŸ“Œ Examples

Command:

./komodo-cli z_listunspent

Command:

./komodo-cli -ac_name=BEER z_listunspent 1 100 false "[\"zs1wqykmk74mv2ezjscpxsgzrn4fasqwh50tgk0ym64m45c5yw5fjtpkps64gle963veqzuj04872z\"]"

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user rpcuser:rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_listunspent", "params": [1, 9999999, false, ["zs1umhaattx6lna933m9zwfqlmkm2qj49hpa9lnymtj5h5c7cwtd3evfpu29hppprax9cs45fzeyqg"] ] }' -H 'content-type: text/plain;' http://127.0.0.1:rpcport/

# z_mergetoaddress

z_mergetoaddress [ "fromaddress", ... ] "toaddress" ( fee ) ( transparent_limit ) ( shielded_limit ) ( memo )

WARNING

CAUTION: z_mergetoaddress is DISABLED but can be enabled as an experimental feature.

The z_mergetoaddress method merges multiple utxos and notes into a single utxo or note. The method works for both t addresses and z addresses, both separately and in combination. Coinbase utxos are ignored; use z_shieldcoinbase to combine those into a single note.

This is an asynchronous operation, and utxos selected for merging will be locked. If there is an error, they are unlocked. The RPC call listlockunspent can be used to return a list of locked utxos.

The number of utxos and notes selected for merging can be limited by the caller. If the transparent limit parameter is set to 0, the mempooltxinputlimit option will determine the number of utxos. Any limit is constrained by the consensus rule defining a maximum transaction size of 100000 bytes.

# The fromaddresses array

The following special strings are accepted inside the fromaddresses array:

  • "*": Merge both utxos and notes from all addresses belonging to the wallet

  • "ANY_TADDR": Merge utxos from all t addresses belonging to the wallet

  • "ANY_ZADDR": Merge notes from all z addresses belonging to the wallet

If a special string is given, any given addresses of that type will be ignored

# Arguments

Name Type Description
fromaddresses (string, required)
"address" (string) can be a t address or a z address
"toaddress" (string, required) the t address or z address to receive the combined utxo
fee (numeric, optional, default=0.0001) the fee amount to attach to this transaction
transparent_limit (numeric, optional, default=50) limit on the maximum number of transparent utxos to merge; you may set this value to 0 to use the node option mempooltxinputlimit
shielded_limit (numeric, optional, default=10) limit on the maximum number of hidden notes to merge; you may set this value to 0 to merge as many as will fit in the transaction
"memo" (string, optional) encoded as hex; when toaddress is a z address, this value will be stored in the memo field of the new note

# Response

Name Type Description
"remainingUTXOs" (numeric) the number of utxos still available for merging
"remainingTransparentValue" (numeric) the value of utxos still available for merging
"remainingNotes" (numeric) the number of notes still available for merging
"remainingShieldedValue" (numeric) the value of notes still available for merging
"mergingUTXOs" (numeric) the number of utxos being merged
"mergingTransparentValue" (numeric) the value of utxos being merged
"mergingNotes" (numeric) the number of notes being merged
"mergingShieldedValue" (numeric) the value of notes being merged
"opid" (string) an operationid to pass to z_getoperationstatus to get the result of the operation

# πŸ“Œ Examples

Command:

./komodo-cli z_mergetoaddress '["R1M72Sfpbz1BPpXFHz9m3CdqATR44Jvaydd"]' ztfaW34Gj9FrnGUEf833ywDVL62NWXBM81u6EQnM6VR45eYnXhwztecW1SjxA7JrmAXKJhxhj3vDNEpVCQoSvVoSpmbhtjf

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_mergetoaddress", "params": [["R1M72Sfpbz1BPpXFHz9m3CdqATR44Jvaydd"], "ztfaW34Gj9FrnGUEf833ywDVL62NWXBM81u6EQnM6VR45eYnXhwztecW1SjxA7JrmAXKJhxhj3vDNEpVCQoSvVoSpmbhtjf"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_sendmany

z_sendmany "fromaddress" [ { "address": ..., "amount": ... }, ... ] ( minconf ) ( fee )

The z_sendmany method sends one or more transactions at once, and allows for sending transactions of types t --> t, t --> z, z --> z, z --> t. It is the principle method for dealing with shielded z transactions in the Komodo ecosystem.

The amount values are double-precision floating point numbers. Change from a t address flows to a new t address address, while change from z address returns to itself. When sending coinbase utxos to a z address, change is not allowed. The entire value of the utxo(s) must be consumed. Currently, the maximum number of z address outputs is 54 due to transaction-size limits.

# Arguments

Name Type Description
"fromaddress" (string, required) the sending t address or z address
"amounts" (array of json objects)
"address" (string, required) the receiving address; can be a t address or z address
"amount" (numeric, required) the numeric amount
"memo" (string, optional) if the address is a z address, this property accepts raw data represented in hexadecimal string format
minconf (numeric, optional, default=1) only use funds confirmed at least this many times
fee (numeric, optional, default=0.0001) the fee amount to attach to this transaction

# Response

Name Type Description
"operationid" (string) an operationid to pass to z_getoperationstatus to get the result of the operation

# πŸ“Œ Examples

Command:

./komodo-cli z_sendmany "RUX5vGkxJCKBPGm8b97VUumt2aHkuCjp8e" '[{"address":"RVEsww91UBdUNGyCC1GjDVuvJShEei2kj4","amount":0.01}]'

Command:

./komodo-cli z_sendmany "RCpMUZwxc3pWsgip5aj3Sy1cKkh86P3Tns" '[{"address":"ztci8RzNSo2pdiDpAeHpz9Rp91hq12Mn7zcFfBR8Jjs2ydZUCTw8rLZzkVP888M4vGezpZVfsTR8orgxYK3N8gdgbBzakx3","amount":0.01}]'

Command:

./komodo-cli z_sendmany "ztci8RzNSo2pdiDpAeHpz9Rp91hq12Mn7zcFfBR8Jjs2ydZUCTw8rLZzkVP888M4vGezpZVfsTR8orgxYK3N8gdgbBzakx3" '[{"address":"ztYMDvwUqi5FZLQy4so71ZGHXk2fDtEYU9HNns9DNYjXJr9PEzSL8Dq8NcdiRijsgCm4r3nNWA6dUrqW9suGd2F7uuj2BhP","amount":0.0099}]'

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_sendmany", "params": ["RCpMUZwxc3pWsgip5aj3Sy1cKkh86P3Tns", [{"address": "ztfaW34Gj9FrnGUEf833ywDVL62NWXBM81u6EQnM6VR45eYnXhwztecW1SjxA7JrmAXKJhxhj3vDNEpVCQoSvVoSpmbhtjf" ,"amount": 0.01}]] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# z_shieldcoinbase

z_shieldcoinbase "fromaddress" "tozaddress" ( fee ) ( limit )

The z_shieldcoinbase method shields transparent coinbase funds by sending the funds to a shielded z address. This is an asynchronous operation and utxos selected for shielding will be locked. If there is an error, they are unlocked.

The RPC call listlockunspent can be used to return a list of locked utxos. The number of coinbase utxos selected for shielding can be limited by the caller. If the limit parameter is set to zero, the mempooltxinputlimit option will determine the number of uxtos. Any limit is constrained by the consensus rule defining a maximum transaction size of 100000 bytes.

# Arguments

Name Type Description
"fromaddress" (string, required) the address is a t address or "*" for all t address belonging to the wallet
"toaddress" (string, required) the address is a z address
fee (numeric, optional, default=0.0001) the fee amount to attach to this transaction
limit (numeric, optional, default=50) limit on the maximum number of utxos to shield; set to 0 to use node option mempooltxinputlimit

# Response

Name Type Description
"remainingUTXOs" (numeric) the number of coinbase utxos still available for shielding
"remainingValue" (numeric) the value of coinbase utxos still available for shielding
"shieldingUTXOs" (numeric) the number of coinbase utxos being shielded
"shieldingValue" (numeric) the value of coinbase utxos being shielded
"opid" (string) an operationid to pass to z_getoperationstatus to get the result of the operation

# πŸ“Œ Examples

Command:

./komodo-cli z_shieldcoinbase "RXN2rxidK4cwzRL44UTnWvQjjvLdoMmCpU" "ztYMDvwUqi5FZLQy4so71ZGHXk2fDtEYU9HNns9DNYjXJr9PEzSL8Dq8NcdiRijsgCm4r3nNWA6dUrqW9suGd2F7uuj2BhP"

Command:

./komodo-cli z_shieldcoinbase "REyaj53EB2nwUnsmVyn8JHCcquKf1zYkEP" "ztYMDvwUqi5FZLQy4so71ZGHXk2fDtEYU9HNns9DNYjXJr9PEzSL8Dq8NcdiRijsgCm4r3nNWA6dUrqW9suGd2F7uuj2BhP" 0.0001 50

You can find your rpcuser, rpcpassword, and rpcport in the coin's .conf file.

Command:

curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "z_shieldcoinbase", "params": ["RWRSfEYcfLv3yy9mhAuKHQTMCs9fArpPiH", "ztYMDvwUqi5FZLQy4so71ZGHXk2fDtEYU9HNns9DNYjXJr9PEzSL8Dq8NcdiRijsgCm4r3nNWA6dUrqW9suGd2F7uuj2BhP"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/

# zcbenchmark

zcbenchmark benchmarktype samplecount

The zcbenchmark method runs a benchmark of the selected benchmarktype. This benchmark is calculated samplecount times.

When finished, the method returns the running times of each sample.

# Arguments

Name Type Description
"benchmarktype" (string, required) the type of the benchmark
"samplecount" (numeric) the number of samples to take

# Response

Name Type Description
"runningtime" (numeric) the time it took to run the selected benchmarktype

Output:

[
  {
    "runningtime": runningtime
  },
  {
    "runningtime": runningtime
  }
  ...
]

# zcrawjoinsplit

zcrawjoinsplit rawtx inputs outputs vpub_old vpub_new

WARNING

DEPRECATED.

  • inputs: a JSON object mapping {note: zcsecretkey, ...}
  • outputs: a JSON object mapping {zcaddr: value, ...}

Splices a joinsplit into a raw transaction. Inputs are unilaterally confidential. Outputs are confidential between sender/receiver. The vpub_old and vpub_new values are globally public and move transparent value into or out of the confidential value store, respectively.

Note: The caller is responsible for delivering the output enc1 and enc2 to the appropriate recipients, as well as signing rawtxout and ensuring it is mined. (A future RPC call will deliver the confidential payments in-band on the blockchain.)

Output:

{
  "encryptednote1": enc1,
  "encryptednote2": enc2,
  "rawtxn": rawtxout
}

# zcrawkeygen

zcrawkeygen

WARNING

DEPRECATED.

the zcrawkeygen method generates a zcaddr which can send and receive confidential values.

Output:

{
  "zcaddress": zcaddr,
  "zcsecretkey": zcsecretkey,
  "zcviewingkey": zcviewingkey
}

# zcrawreceive zcsecretkey encryptednote

zcrawreceive zcsecretkey encryptednote

WARNING

DEPRECATED.

Decrypts encryptednote and checks if the coin commitments are in the blockchain as indicated by the "exists" result.

Output:

{
  "amount": value,
  "note": noteplaintext,
  "exists": exists
}

# zcsamplejoinsplit

Perform a joinsplit and return the JSDescription.