Removed RPCs#

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

Name

Type

Presence

Description

Blocks

number (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.

Name

Type

Presence

Description

result

number (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

Name

Type

Presence

Description

result

object

Required
(exactly 1)

Information about the pool


state

string

Required
(exactly 1)

Pool state. Will be one of the following:
IDLE
QUEUE
ACCEPTING_ENTRIES
SIGNING
ERROR
SUCCESS
UNKNOWN


mixing_mode

string

Required
(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

string

Required
(exactly 1)

A more detailed description of the current state


outpoint

string (hex)

Optional
(exactly 1)

Previous output


addr

string

Optional
(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

Name

Type

Presence

Description

Account

string

Required
(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

Name

Type

Presence

Description

Confirmations

number (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

Name

Type

Presence

Description

addlocked

bool

Optional
(exactly 1)

Add the balance from InstantSend locked transactions (default=false)

Result—the number of dash received

Name

Type

Presence

Description

result

number (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.

GObject Vote-conf#

❗️Warning: Removed in Dash Core 20.0.0

The gobject vote-conf RPC votes on a governance object by masternode configured in dash.conf.

Parameter #1—governance hash

Name

Type

Presence

Description

governance-hash

string (hex)

Required
(exactly 1)

Hash of the governance object

Parameter #2—vote signal

Name

Type

Presence

Description

signal

string

Required
(exactly 1)

Vote signal: funding, valid, or delete

Parameter #3—vote outcome

Name

Type

Presence

Description

outcome

string

Required
(exactly 1)

Vote outcome: yes, no, or abstain

Result—votes for specified governance

Name

Type

Presence

Description

Result

object

Required
(exactly 1)

The governance object votes


overall

string

Required
(1 or more)

Reports number of vote successes/failures


detail

object

Required
(exactly 1)

Vote details

→ →
dash.conf

object

Required
(1 or more)

→ → →
result

string

Required
(exactly 1)

Vote result

Example from Dash Core 0.12.2

dash-cli -testnet gobject vote-conf \
0bf97bce78b3b642c36d4ca8e9265f8f66de8774c220221f57739c1956413e2b funding yes
{
  "overall": "Voted successfully 1 time(s) and failed 0 time(s).",
  "detail": {
    "dash.conf": {
      "result": "success"
    }
  }
}

KeePass#

❗️Warning: Removed in Dash Core 18.0.0

The keepass RPC provides commands for configuring and managing KeePass authentication

Parameter #1—Command mode

Name

Type

Presence

Description

mode

string

Required (exactly 1)

The command mode to use:
genkey,
init,
setpassphrase

Command Options

Mode

Description

genkey

Generates a base64 encoded 256 bit AES key that can be used for the communication with KeePassHttp. This is only necessary for manual configuration.

init

Sets 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.

setpassphrase

Updates 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

Name

Type

Presence

Description

Result

string (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

Name

Type

Presence

Description

Result

string

Required (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

Name

Type

Presence

Description

Passphrase

string

Required (exactly 1)

The passphrase to set

Result—status

Name

Type

Presence

Description

Result

string

Required (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

Name

Type

Presence

Description

Confirmations

number (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

Name

Type

Presence

Description

addlocked

bool

Optional
(exactly 1)

Add the balance from InstantSend locked transactions

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

Name

Type

Presence

Description

Include Watch-Only

bool

Optional
(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

Name

Type

Presence

Description

result

object

Required
(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

Name

Type

Presence

Description

Confirmations

number (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

Name

Type

Presence

Description

addlocked

bool

Optional
(exactly 1)

Add the balance from InstantSend locked transactions

Parameter #3—whether to include empty accounts

Name

Type

Presence

Description

Include Empty

bool

Optional
(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

Name

Type

Presence

Description

Include Watch-Only

bool

Optional
(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

Name

Type

Presence

Description

result

array

Required
(exactly 1)

An array containing objects each describing an account. At the very least, the default account (") will be included”


Account

object

Required
(1 or more)

An object describing an account

→ →
involvesWatchonly

bool

Optional
(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

string

Required
(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

string

Optional
(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

Name

Type

Presence

Description

From Account

string

Required
(exactly 1)

The name of the account to move the funds from

Parameter #2—to account

Name

Type

Presence

Description

To Account

string

Required
(exactly 1)

The name of the account to move the funds to

Parameter #3—amount to move

Name

Type

Presence

Description

Amount

number (dash)

Required
(exactly 1)

The amount of dash to move

Parameter #4—an unused parameter

Name

Type

Presence

Description

Unused

number (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

Name

Type

Presence

Description

Comment

string

Optional
(0 or 1)

A comment to assign to this move payment

Result—true on success

Name

Type

Presence

Description

result

bool

Required
(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

Name

Type

Presence

Description

From Account

string

Required
(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

Name

Type

Presence

Description

To Address

string

Required
(exactly 1)

A P2PKH or P2SH address to which the dash should be sent

Parameter #3—amount to spend

Name

Type

Presence

Description

Amount

number (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

Name

Type

Presence

Description

Confirmations

number (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

Name

Type

Presence

Description

addlocked

bool

Optional
(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

Name

Type

Presence

Description

Comment

string

Optional
(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

Name

Type

Presence

Description

Comment To

string

Optional
(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

Name

Type

Presence

Description

result

string

Required
(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

Name

Type

Presence

Description

Transaction

string (hex)

Required
(exactly 1)

The transaction to sign as a serialized transaction

Parameter #2—unspent transaction output details

Name

Type

Presence

Description

Dependencies

array

Optional
(0 or 1)

The previous outputs being spent by this transaction


Output

object

Optional
(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

numeric

Required
(exactly 1)

The amount of Dash spent

Parameter #3—private keys for signing

Name

Type

Presence

Description

Private Keys

array

Optional
(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

Name

Type

Presence

Description

SigHash

string

Optional
(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, `ALL

Result—the transaction with any signatures made

Name

Type

Presence

Description

result

object

Required
(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

bool

Required
(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

Name

Type

Presence

Description

numblocks

number (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

Name

Type

Presence

Description

maxtries

number (int)

Required
(exactly 1)

The number of iterations to try (default = 1000000).

Result—the generated block header hashes

Name

Type

Presence

Description

result

array

Required
(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