Removed RPCs

🚧

New site!

All content has been migrated to docs.dash.org. You will be automatically redirected momentarily.

EstimateFee

❗️

Warning: Removed in Dash Core 0.17.0.

The estimatefee RPC estimates the transaction fee per kilobyte that needs to be paid for a transaction to begin confirmation within a certain number of blocks.

Parameter #1---how many blocks the transaction may wait before being included

NameTypePresenceDescription
Blocksnumber (int)Required
(exactly 1)
The maximum number of blocks a transaction should have to wait before it is predicted to be included in a block. Has to be between 2 and 25 blocks

Result---the fee the transaction needs to pay per kilobyte

❗️

Inability to estimate

If the node doesn't have enough information to make an estimate, the value -1 will be returned.

NameTypePresenceDescription
resultnumber (Dash)Required
(exactly 1)
The estimated fee the transaction should pay in order to be included within the specified number of blocks.

Examples from Dash Core 0.12.2

dash-cli estimatefee 6

Result:

0.00044345

Requesting data the node can't calculate (out of range):

dash-cli estimatefee 100

Result:

-1

See also

  • SetTxFee: sets the transaction fee per kilobyte paid by transactions created by this wallet.

GetPoolInfo

The getpoolinfo RPC returns an object containing CoinJoin pool related information.

Parameters: none

Result---information about the CoinJoin pool

NameTypePresenceDescription
resultobjectRequired
(exactly 1)
Information about the pool

state
stringRequired
(exactly 1)
Pool state. Will be one of the following:
IDLE
QUEUE
ACCEPTING_ENTRIES
SIGNING
ERROR
SUCCESS
UNKNOWN

mixing_mode
stringRequired
(exactly 1)
One of the following:
normal
multi-session

queue
number (int)Required
(exactly 1)
Queue size

entries
number (int)Required
(exactly 1)
The number of entries

status
stringRequired
(exactly 1)
A more detailed description of the current state

outpoint
string (hex)Optional
(exactly 1)
Previous output

addr
stringOptional
(exactly 1)
Address

keys_left
number (int)Optional
(exactly 1)
The number of keys left in the local wallet

warnings
number (int)Optional
(exactly 1)
Warnings related to local wallet

Example from Dash Core 0.12.2

dash-cli -testnet getpoolinfo

Result:

{
  "state": "IDLE",
  "mixing_mode": "normal",
  "queue": 0,
  "entries": 0,
  "status": "PrivateSend is idle.",
  "keys_left": 617,
  "warnings": ""
}
{
  "state": "QUEUE",
  "mixing_mode": "normal",
  "queue": 1,
  "entries": 0,
  "status": "Submitted to masternode, waiting in queue .",
  "outpoint": "e3a6b7878a7e9413898bb379b323c521676f9d460db17ec3bf42d9ac0c9a432f-1",
  "addr": "217.182.229.146:19999",
  "keys_left": 571,
  "warnings": ""
}
{
  "state": "ERROR",
  "mixing_mode": "normal",
  "queue": 0,
  "entries": 0,
  "status": "PrivateSend request incomplete: Session timed out. Will retry...",
  "keys_left": 571,
  "warnings": ""
}

See also:

GetReceivedByAccount

❗️

Warning: Removed in Dash Core 18.0.0

📘

Requires wallet support (unavailable on masternodes)

The getreceivedbyaccount RPC returns the total amount received by addresses in a particular account from transactions with the specified number of confirmations. It does not count coinbase transactions.

Parameter #1---the account name

NameTypePresenceDescription
AccountstringRequired
(exactly 1)
The name of the account containing the addresses to get. For the default account, use an empty string (\")"

Parameter #2---the minimum number of confirmations

NameTypePresenceDescription
Confirmationsnumber (int)Optional
(0 or 1)
The minimum number of confirmations an externally-generated transaction must have before it is counted towards the balance. Transactions generated by this node are counted immediately. Typically, externally-generated transactions are payments to this wallet and transactions generated by this node are payments to other wallets. Use 0 to count unconfirmed transactions. Default is 1

Parameter #3---whether to include transactions locked via InstantSend

NameTypePresenceDescription
addlockedboolOptional
(exactly 1)
Add the balance from InstantSend locked transactions (default=false)

Result---the number of dash received

NameTypePresenceDescription
resultnumber (dash)Required
(exactly 1)
The number of dash received by the account. May be 0

Example from Dash Core 0.12.2

Get the dash received by the "doc test" account with six or more
confirmations:

dash-cli -testnet getreceivedbyaccount "doc test" 6

Result:

0.30000000

See also

  • GetReceivedByAddress: returns the total amount received by the specified address in transactions with the specified number of confirmations. It does not count coinbase transactions.
  • GetAddressesByAccount: returns a list of every address assigned to a particular account.
  • ListAccounts: lists accounts and their balances.

KeePass

❗️

Warning: Removed in Dash Core 18.0.0

The keepass RPC provides commands for configuring and managing KeePass authentication

Parameter #1---Command mode

NameTypePresenceDescription
modestringRequired (exactly 1)The command mode to use:
genkey,
init,
setpassphrase

Command Options

ModeDescription
genkeyGenerates a base64 encoded 256 bit AES key that can be used for the communication with KeePassHttp. This is only necessary for manual configuration.
initSets up the association between Dash Core and KeePass by generating an AES key and sending an association message to KeePassHttp. This will trigger KeePass to ask for an Id for the association. Returns the association and the base64 encoded string for the AES key.
setpassphraseUpdates the passphrase in KeePassHttp to a new value. This should match the passphrase you intend to use for the wallet. Please note that the standard RPC commands walletpassphrasechange and the wallet encryption from the QT GUI already send the updates to KeePassHttp, so this is only necessary for manual manipulation of the password.

Command Mode - genkey

Result---the new key

NameTypePresenceDescription
Resultstring (base64)Required (exactly 1)The new key

Example from Dash Core 0.12.2

Manually generate a key

dash-cli -testnet keepass genkey

Result:

Generated Key: dNjo+J8Jb30txbJiKq4s9H6vEgWq/whb1w9bb2cTOFo=

Command Mode - init

Result---initialization response

NameTypePresenceDescription
ResultstringRequired (exactly 1)The success/error status

Example from Dash Core 0.12.2

Automatically initialize

dash-cli -testnet keepass init

Result (wrapped):

Association successful. Id: testwalletassociation - \
Key: MSb+JLygqz7ZH40SyJ1QR62i00IXoa3tmT85MGGI2K0=

Command Mode - setpassphrase

Parameter #2---Passphrase

NameTypePresenceDescription
PassphrasestringRequired (exactly 1)The passphrase to set

Result---status

NameTypePresenceDescription
ResultstringRequired (exactly 1)The success/error status

Example from Dash Core 0.12.2

Set KeePass passphrase

dash-cli -testnet keepass setpassphrase 1BWi20Xyk76uWumxJQy4

Result:

setlogin: Updated credentials.

See also: none

ListAccounts

❗️

Warning: Removed in Dash Core 18.0.0

📘

Requires wallet support (unavailable on masternodes)

The listaccounts RPC lists accounts and their balances.

Parameter #1---the minimum number of confirmations a transaction must have

NameTypePresenceDescription
Confirmationsnumber (int)Optional
(0 or 1)
The minimum number of confirmations an externally-generated transaction must have before it is counted towards the balance. Transactions generated by this node are counted immediately. Typically, externally-generated transactions are payments to this wallet and transactions generated by this node are payments to other wallets. Use 0 to count unconfirmed transactions. Default is 1

Parameter #2--- whether to include transactions locked via InstantSend

NameTypePresenceDescription
addlockedboolOptional
(exactly 1)
Add the balance from InstantSend locked transactions

Parameter #3---whether to include watch-only addresses in results

NameTypePresenceDescription
Include Watch-OnlyboolOptional
(0 or 1)
If set to true, include watch-only addresses in details and calculations as if they were regular addresses belonging to the wallet. If set to false (the default), treat watch-only addresses as if they didn't belong to this wallet

Result---a list of accounts and their balances

NameTypePresenceDescription
resultobjectRequired
(exactly 1)
A JSON array containing key/value pairs with account names and values. Must include, at the very least, the default account (\")"

Account : Balance
string : number (dash)Required
(1 or more)
The name of an account as a string paired with the balance of the account as a number of dash. The number of dash may be negative if the account has spent more dash than it received. Accounts with zero balances and zero transactions will be displayed

Example from Dash Core 0.13.0

Display account balances with one confirmation and watch-only addresses
included. Add the balance of InstantSend locked transactions also.

dash-cli -testnet listaccounts 1 true true

Result:

{
  "": -2941.30029732,
  "Watching": 8.50000000,
  "MN": 2000.25442744,
  "PS": 37.02970000,
  "Recv1": 3843.48167912,
}

See also

ListReceivedByAccount

❗️

Warning: Removed in Dash Core 18.0.0

📘

Requires wallet support (unavailable on masternodes)

The listreceivedbyaccount RPC lists the total number of dash received by each account.

Parameter #1---the minimum number of confirmations a transaction must have to be counted

NameTypePresenceDescription
Confirmationsnumber (int)Optional
(0 or 1)
The minimum number of confirmations an externally-generated transaction must have before it is counted towards the balance. Transactions generated by this node are counted immediately. Typically, externally-generated transactions are payments to this wallet and transactions generated by this node are payments to other wallets. Use 0 to count unconfirmed transactions. Default is 1

Parameter #2---whether to include transactions locked via InstantSend

NameTypePresenceDescription
addlockedboolOptional
(exactly 1)
Add the balance from InstantSend locked transactions

Parameter #3---whether to include empty accounts

NameTypePresenceDescription
Include EmptyboolOptional
(0 or 1)
Set to true to display accounts which have never received a payment. Set to false (the default) to only include accounts which have received a payment. Any account which has received a payment will be displayed even if its current balance is 0

Parameter #4---whether to include watch-only addresses in results

NameTypePresenceDescription
Include Watch-OnlyboolOptional
(0 or 1)
If set to true, include watch-only addresses in details and calculations as if they were regular addresses belonging to the wallet. If set to false (the default), treat watch-only addresses as if they didn't belong to this wallet

Result---account names, balances, and minimum confirmations

NameTypePresenceDescription
resultarrayRequired
(exactly 1)
An array containing objects each describing an account. At the very least, the default account (\") will be included"

Account
objectRequired
(1 or more)
An object describing an account
→ →
involvesWatchonly
boolOptional
(0 or 1)
Set to true if the balance of this account includes a watch-only address which has received a spendable payment (that is, a payment with at least the specified number of confirmations and which is not an immature coinbase). Otherwise not returned
→ →
account
stringRequired
(exactly 1)
The name of the account
→ →
amount
number (dash)Required
(exactly 1)
The total amount received by this account in dash
→ →
confirmations
number (int)Required
(exactly 1)
The number of confirmations received by the last transaction received by this account. May be 0
→ →
label
stringOptional
(0 or 1)
A comment for the address/transaction

Example from Dash Core 0.13.0

Get the balances for all non-empty accounts, including transactions
which have been confirmed at least six times and InstantSend locked transactions:

dash-cli -testnet listreceivedbyaccount 6 true false true

Result (edited to only show the first two results):

[
    {
        "account" : "",
        "amount" : 0.19960000,
        "confirmations" : 53601
    },
    {
        "account" : "doc test",
        "amount" : 0.30000000,
        "confirmations" : 8991
    }
]

See also

  • ListReceivedByAddress: lists the total number of dash received by each address.
  • ListReceivedByLabel: lists the total number of dash received by each label.
  • GetReceivedByAccount: returns the total amount received by addresses in a particular account from transactions with the specified number of confirmations. It does not count coinbase transactions.
  • GetReceivedByAddress: returns the total amount received by the specified address in transactions with the specified number of confirmations. It does not count coinbase transactions.

Move

❗️

Warning: Removed in Dash Core 18.0.0

📘

Requires wallet support (unavailable on masternodes)

The move RPC moves a specified amount from one account in your wallet to another using an off-block-chain transaction.

🚧

Warning: it's possible to move more funds than are in an account, giving the sending account a negative balance and giving the receiving account a balance that may exceed the number of dash in the wallet (or the number of dash in existence).

Parameter #1---from account

NameTypePresenceDescription
From AccountstringRequired
(exactly 1)
The name of the account to move the funds from

Parameter #2---to account

NameTypePresenceDescription
To AccountstringRequired
(exactly 1)
The name of the account to move the funds to

Parameter #3---amount to move

NameTypePresenceDescription
Amountnumber (dash)Required
(exactly 1)
The amount of dash to move

Parameter #4---an unused parameter

NameTypePresenceDescription
Unusednumber (int)Optional
(0 or 1)
This parameter is no longer used. If parameter #5 needs to be specified, this can be any integer

Parameter #5---a comment

NameTypePresenceDescription
CommentstringOptional
(0 or 1)
A comment to assign to this move payment

Result---true on success

NameTypePresenceDescription
resultboolRequired
(exactly 1)
Set to true if the move was successful

Example from Dash Core 0.12.2

Move 1 dash from "doc test" to "test1", giving the transaction the
comment "Example move":

dash-cli -testnet move "doc test" "test1" 0.1 0 "Example move"

Result:

true

See also

SendFrom

❗️

Warning: Removed in Dash Core 18.0.0

📘

Requires wallet support (unavailable on masternodes). Requires an unlocked wallet or an unencrypted wallet.

The sendfrom RPC spends an amount from a local account to a dash address.

Parameter #1---from account

NameTypePresenceDescription
From AccountstringRequired
(exactly 1)
The name of the account from which the dash should be spent. Use an empty string (\") for the default account"

Parameter #2---to address

NameTypePresenceDescription
To AddressstringRequired
(exactly 1)
A P2PKH or P2SH address to which the dash should be sent

Parameter #3---amount to spend

NameTypePresenceDescription
Amountnumber (dash)Required
(exactly 1)
The amount to spend in dash. Dash Core will ensure the account has sufficient dash to pay this amount (but the transaction fee paid is not included in the calculation, so an account can spend a total of its balance plus the transaction fee)

Parameter #4---minimum confirmations

NameTypePresenceDescription
Confirmationsnumber (int)Optional
(0 or 1)
The minimum number of confirmations an incoming transaction must have for its outputs to be credited to this account's balance. Outgoing transactions are always counted, as are move transactions made with the move RPC. If an account doesn't have a balance high enough to pay for this transaction, the payment will be rejected. Use 0 to spend unconfirmed incoming payments. Default is 1

🚧

Warning: if account1 receives an unconfirmed payment and transfers it to account2 with the move RPC, account2 will be able to spend those dash even if this parameter is set to 1 or higher.

Parameter #5---whether to add the balance from transactions locked via InstantSend

NameTypePresenceDescription
addlockedboolOptional
(0 or 1)
If set to true, add the balance from InstantSend locked transactions. If set to false (the default), InstantSend locked transaction balances are not included.

Parameter #6---a comment

NameTypePresenceDescription
CommentstringOptional
(0 or 1)
A locally-stored (not broadcast) comment assigned to this transaction. Default is no comment

Parameter #7---a comment about who the payment was sent to

NameTypePresenceDescription
Comment TostringOptional
(0 or 1)
A locally-stored (not broadcast) comment assigned to this transaction. Meant to be used for describing who the payment was sent to. Default is no comment

Result---a TXID of the sent transaction

NameTypePresenceDescription
resultstringRequired
(exactly 1)
The TXID of the sent transaction, encoded as hex in RPC byte order

Example from Dash Core 0.12.2

Spend 0.1 dash from the account "test" to the address indicated below
using only UTXOs with at least six confirmations, giving the
transaction the comment "Example spend" and labeling the spender
"Example.com":

dash-cli -testnet sendfrom "test" \
            yhJays6zGUFKq1KS5V5WLbyk3cwCXyGrKd \
            0.1 \
            6 \
            false \
            "Example spend" \
            "Example.com"

Result:

cd64b9d55c63bf247f2eca32f978e340622107b607a46c422dabcdc20c0571fe

See also

  • SendToAddress: spends an amount to a given address.
  • SendMany: creates and broadcasts a transaction which sends outputs to multiple addresses.

SignRawTransaction

❗️

Warning: Removed in Dash Core 18.0.0

The signrawtransaction RPC signs a transaction in the serialized transaction format using private keys stored in the wallet or provided in the call.

Parameter #1---the transaction to sign

NameTypePresenceDescription
Transactionstring (hex)Required
(exactly 1)
The transaction to sign as a serialized transaction

Parameter #2---unspent transaction output details

NameTypePresenceDescription
DependenciesarrayOptional
(0 or 1)
The previous outputs being spent by this transaction

Output
objectOptional
(0 or more)
An output being spent
→ →
txid
string (hex)Required
(exactly 1)
The TXID of the transaction the output appeared in. The TXID must be encoded in hex in RPC byte order
→ →
vout
number (int)Required
(exactly 1)
The index number of the output (vout) as it appeared in its transaction, with the first output being 0
→ →
scriptPubKey
string (hex)Required
(exactly 1)
The output's pubkey script encoded as hex
→ →
redeemScript
string (hex)Optional
(0 or 1)
If the pubkey script was a script hash, this must be the corresponding redeem script
→ →
amount
numericRequired
(exactly 1)
The amount of Dash spent

Parameter #3---private keys for signing

NameTypePresenceDescription
Private KeysarrayOptional
(0 or 1)
An array holding private keys. If any keys are provided, only they will be used to sign the transaction (even if the wallet has other matching keys). If this array is empty or not used, and wallet support is enabled, keys from the wallet will be used

Key
string (base58)Required
(1 or more)
A private key in base58check format to use to create a signature for this transaction

Parameter #4---signature hash type

NameTypePresenceDescription
SigHashstringOptional
(0 or 1)
The type of signature hash to use for all of the signatures performed. (You must use separate calls to the signrawtransaction RPC if you want to use different signature hash types for different signatures. The allowed values are: ALL, NONE, SINGLE, `ALLANYONECANPAY, NONEANYONECANPAY, and SINGLEANYONECANPAY`

Result---the transaction with any signatures made

NameTypePresenceDescription
resultobjectRequired
(exactly 1)
The results of the signature

hex
string (hex)Required
(exactly 1)
The resulting serialized transaction encoded as hex with any signatures made inserted. If no signatures were made, this will be the same transaction provided in parameter #1

complete
boolRequired
(exactly 1)
The value true if transaction is fully signed; the value false if more signatures are required

Example from Dash Core 0.12.2

Sign the hex generated in the example section for the createrawtransaction
RPC:

dash-cli -testnet signrawtransaction 01000000016b490886c0198b028c6c5cb14\
5c4eb3b1055a224a7a105aadeff41b69ec91e060100000000ffffffff0200205fa012000\
0001976a914485485425fa99504ec1638ac4213f3cfc9f32ef388acc0a8f9be010000001\
976a914811eacc14db8ebb5b64486dc43400c0226b428a488ac00000000

Result:

{
  "hex": "01000000016b490886c0198b028c6c5cb145c4eb3b1055a224a7a105aadeff41b69ec91e060100000069463043022033a61c56fa0867ed67b76b023204a9dc0ee6b0d63305dc5f65fe94335445ff2f021f712f55399d5238fc7146497c431fc4182a1de0b96fc22716e0845f561d542e012102eacba539d92eb88d4e73bb32749d79f53f6e8d7947ac40a71bd4b26c13b6ec29ffffffff0200205fa0120000001976a914485485425fa99504ec1638ac4213f3cfc9f32ef388acc0a8f9be010000001976a914811eacc14db8ebb5b64486dc43400c0226b428a488ac00000000",
  "complete": true
}

See also

  • CombineRawTransaction: combine multiple partially signed transactions into one transaction.
  • CreateRawTransaction: creates an unsigned serialized transaction that spends a previous output to a new output with a P2PKH or P2SH address. The transaction is not stored in the wallet or transmitted to the network.
  • DecodeRawTransaction: decodes a serialized transaction hex string into a JSON object describing the transaction.
  • SendRawTransaction: validates a transaction and broadcasts it to the peer-to-peer network.
  • SignRawTransactionWithKey: signs inputs for a transaction in the serialized transaction format using private keys provided in the call.

Generate

❗️

Warning: Removed in Dash Core 18.1.0

The generate RPC mines blocks immediately (before the RPC call returns).

Parameter #1---the number of blocks to generate

NameTypePresenceDescription
numblocksnumber (int)Required
(exactly 1)
The number of blocks to generate. The RPC call will not return until all blocks have been generated.

Parameter #2---the number of iterations

NameTypePresenceDescription
maxtriesnumber (int)Required
(exactly 1)
The number of iterations to try (default = 1000000).

Result---the generated block header hashes

NameTypePresenceDescription
resultarrayRequired
(exactly 1)
An array containing the block header hashes of the generated blocks (may be empty if used with generate 0)

Header Hashes
string (hex)Required
(1 or more)
The hashes of the headers of the blocks generated in regtest mode, as hex in RPC byte order

Example from Dash Core 0.12.2

Using regtest mode, generate 2 blocks:

dash-cli -regtest generate 2

Result:

[
  "55a4c47da8151c0823eec22c41ebc6d690a0288302179625bae9eb6f36808266",
  "3f07b9aa4e3bcd5518610945c4a6b32699acac71b1762605ff79ba553111fc79"
]

See also


What’s Next