Dash Core

Dash Core Developer Documentation

Welcome to the Dash Core developer documentation. You'll find guides and documentation to help you start working with Dash Core as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    Guides

Dash RPCs

GetGovernanceInfo

The getgovernanceinfo RPC returns an object containing governance parameters.

Parameters: none

Result---information about the governance system

NameTypePresenceDescription
resultobjectRequired
(exactly 1)
Information about the governance system

governanceminquorum
number (int)Required
(exactly 1)
The absolute minimum number of votes needed to trigger a governance action

proposalfee
number (int)Required
(exactly 1)
The collateral transaction fee which must be paid to create a proposal in Dash

superblockcycle
number (int)Required
(exactly 1)
The number of blocks between superblocks

lastsuperblock
number (int)Required
(exactly 1)
The block number of the last superblock

nextsuperblock
number (int)Required
(exactly 1)
The block number of the next superblock

Example from Dash Core 0.14.0

dash-cli -testnet getgovernanceinfo

Result:

{
  "governanceminquorum": 1,
  "proposalfee": 5.00000000,
  "superblockcycle": 24,
  "lastsuperblock": 250824,
  "nextsuperblock": 250848
}

See also:

  • GObject: provides a set of commands for managing governance objects and displaying information about them.

GetPoolInfo

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

Parameters: none

Result---information about the mixing pool

NameTypePresenceDescription
resultobjectRequired
(exactly 1)
Information about the mixing pool

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

mixing_mode
stringRequired
(exactly 1)
Mixing mode - will be 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:

GetPrivateSendInfo

The getprivatesendinfo RPC returns an object containing an information about PrivateSend settings and state.

Parameters: none

Result---(for regular nodes) information about the mixing pool

NameTypePresenceDescription
resultobjectRequired
(exactly 1)
Information about the mixing pool

enabled
boolRequired
(exactly 1)
Whether mixing functionality is enabled

multisession
boolRequired
(exactly 1)
Whether PrivateSend Multisession option is enabled

max_sessions
number (int)Required
(exactly 1)
How many parallel mixing sessions can there be at once

max_rounds
number (int)Required
(exactly 1)
How many rounds to mix

max_amount
number (int)Required
(exactly 1)
How many DASH to keep anonymized

max_denoms
number (int)Required
(exactly 1)
Removed in Dash Core 0.16.0
How many inputs of each denominated amount to create

denoms_goal
number (int)Required
(exactly 1)
Added in Dash Core 0.16.0
How many inputs of each denominated amount to target

denoms_hardcap
number (int)Required
(exactly 1)
Added in Dash Core 0.16.0
Maximum limit of how many inputs of each denominated amount to create

queue_size
number (int)Required
(exactly 1)
How many queues there are currently on the network

running
boolRequired
(exactly 1)
Whether mixing is currently running

sessions
array of json objectsRequired
(exactly 1)
Information about session(s)
→ →
Session
objectOptional
(1 or more)
Information for a session
→ → →
protxhash
stringRequired
(exactly 1)
The ProTxHash of the masternode
→ → →
outpoint
string (txid-index)Required
(exactly 1)
The outpoint of the masternode
→ → →
service
string (host:port)Required
(exactly 1)
The IP address and port of the masternode
→ → →
denomination
number (int)Required
(exactly 1)
The denomination of the mixing session in DASH
→ → →
state
stringRequired
(exactly 1)
Current state of the mixing session
→ → →
entries_count
number (int)Required
(exactly 1)
The number of entries in the mixing session

keys_left
number (int)Required
(exactly 1)
How many new keys are left since last automatic backup

warnings
stringOptional
(exactly 1)
Any warnings

Result---(for masternodes) information about the mixing pool

NameTypePresenceDescription
resultobjectRequired
(exactly 1)
Information about the mixing pool

queue_size
number (int)Required
(exactly 1)
How many queues there are currently on the network

denomination
number (int)Required
(exactly 1)
The denomination of the mixing session in DASH

state
stringRequired
(exactly 1)
Current state of the mixing session

entries_count
number (int)Required
(exactly 1)
The number of entries in the mixing session

Example from Dash Core 0.16.0 (regular node)

dash-cli -testnet getprivatesendinfo

Result:

{
  "enabled": true,
  "multisession": true,
  "max_sessions": 4,
  "max_rounds": 16,
  "max_amount": 2000,
  "denoms_goal": 50,
  "denoms_hardcap": 300,
  "queue_size": 3,
  "running": true,
  "sessions": [
    {
      "protxhash": "0515c9a411df0f1bd9940d9a2e4f6d739c29c52fc8c045c383f1ff6acc87c7b7",
      "outpoint": "0a6520a6ef523de71fd0ca70441e1fd648483f094442d986b24e2c9391be61cf-29",
      "service": "54.170.119.85:26216",
      "denomination": 10.00010000,
      "state": "QUEUE",
      "entries_count": 0
    }
  ],
  "keys_left": 998,
  "warnings": ""
}

See also: none

GetSuperblockBudget

The getsuperblockbudget RPC returns the absolute maximum sum of superblock payments allowed.

Parameter #1---block index

NameTypePresenceDescription
indexnumber (int)Required
(exactly 1)
The superblock index

Result---maximum sum of superblock payments

NameTypePresenceDescription
resultnumber (int)Required
(exactly 1)
The absolute maximum sum of superblock payments allowed, in DASH

Example from Dash Core 0.12.2

dash-cli -testnet getsuperblockbudget 7392

Result:

367.20

See also:

GObject

The gobject RPC provides a set of commands for managing governance objects and displaying information about them.

GObject Check

The gobject check RPC validates governance object data (proposals only).

Parameter #1---object data (hex)

NameTypePresenceDescription
data-hexstring (hex)Required
(exactly 1)
The data (hex) of a governance proposal object

Result---governance object status

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
Object containing status

Object Status
stringRequired
(exactly 1)
Status of the governance object

Example from Dash Core 0.14.0

dash-cli -testnet gobject check 7b22656e645f65706f6368223a3135363034353730\
35352c226e616d65223a2274657374222c227061796d656e745f61646472657373223a22796\
4354b4d52457333474c4d65366d544a597233597248316a75774e777246436642222c227061\
796d656e745f616d6f756e74223a352c2273746172745f65706f6368223a313536303435333\
439302c2274797065223a312c2275726c223a22687474703a2f2f746573742e636f6d227d

Result:

{
  "Object status": "OK"
}

GObject Prepare

The gobject prepare RPC prepares a governance object by signing and creating a collateral transaction.

Parameter #1---parent hash

NameTypePresenceDescription
parent-hashstring (hex)Required
(exactly 1)
Hash of the parent object. Usually the root node which has a hash of 0

Parameter #2---revision

NameTypePresenceDescription
revisionintRequired
(exactly 1)
Object revision number

Parameter #3---time

NameTypePresenceDescription
timeint64_tRequired
(exactly 1)
Create time (Unix epoch time)

Parameter #4---data

NameTypePresenceDescription
data-hexstring (hex)Required
(exactly 1)
Updated in Dash Core 0.14.0 to require all new proposals to use JSON serialization.

Object data (JSON object with governance details). Additional details regarding this are provided in an example below.

Parameter #5---use-IS

NameTypePresenceDescription
use-ISbooleanOptional
(0 or 1)
Deprecated and ignored since Dash Core 0.15.0

Parameter #6---outputHash

NameTypePresenceDescription
outputHashstring (hex)Optional
(0 or 1)
Added in Dash Core 0.13.0

The single output to submit the proposal fee from

Parameter #7---outputIndex

NameTypePresenceDescription
outputIndexnumericOptional
(0 or 1)
Added in Dash Core 0.13.0

The output index (required if the outputHash parameter is provided)

Result---collateral transaction ID

NameTypePresenceDescription
resultstring (hex)Required
(exactly 1)
Transaction ID for the collateral transaction

Details of the data-hex field:

The data-hex field is comprised of a JSON object as described in GObject
Deserialize
which is serialized to hex.

An example of a proposal JSON object is shown here:

{
  "end_epoch": 1560457055,
  "name": "test",
  "payment_address": "yd5KMREs3GLMe6mTJYr3YrH1juwNwrFCfB",
  "payment_amount": 5,
  "start_epoch": 1560453490,
  "type": 1,
  "url": "http://test.com"
}

To serialize the object, first remove all spaces from the JSON object as shown below:

{"end_epoch":1560457055,"name":"test","payment_address":"yd5KMREs3GLMe6mTJYr3YrH1juwNwrFCfB","payment_amount":5,"start_epoch":1560453490,"type":1,"url":"http://test.com"}

Then convert the string to its hex equivalent as shown below. This is what will
be used for the data-hex field of the gobject prepare command:

7b22656e645f65706f6368223a313536303435373035352c226e616d65223a2274657374222c\
227061796d656e745f61646472657373223a227964354b4d52457333474c4d65366d544a5972\
33597248316a75774e777246436642222c227061796d656e745f616d6f756e74223a352c2273\
746172745f65706f6368223a313536303435333439302c2274797065223a312c2275726c223a\
22687474703a2f2f746573742e636f6d227d

Example from Dash Core 0.14.0

gobject prepare 0 1 1560449223 7b22656e645f65706f6368223a3135363034353730353\
52c226e616d65223a2274657374222c227061796d656e745f61646472657373223a227964354\
b4d52457333474c4d65366d544a597233597248316a75774e777246436642222c227061796d6\
56e745f616d6f756e74223a352c2273746172745f65706f6368223a313536303435333439302\
c2274797065223a312c2275726c223a22687474703a2f2f746573742e636f6d227d

Result (Collateral Transaction ID):

3fd758e7a5761bb07b2850b8ba432ef42c1ea80f0921d2eab0682697dda78262

GObject Submit

The gobject submit RPC submits a governance object to network (objects must
first be prepared via gobject prepare).

Note: Parameters 1-4 should be the same values as the ones used for gobject prepare.

Parameter #1---parent hash

NameTypePresenceDescription
parent-hashstring (hex)Required
(exactly 1)
Hash of the parent object. Usually the root node which has a hash of 0

Parameter #2---revision

NameTypePresenceDescription
revisionintRequired
(exactly 1)
Object revision number

Parameter #3---time

NameTypePresenceDescription
timeint64_tRequired
(exactly 1)
Create time

Parameter #4---data

NameTypePresenceDescription
data-hexstring (hex)Required
(exactly 1)
Updated in Dash Core 0.14.0 to require all new proposals to use JSON serialization.

Object data (JSON object with governance details). See GObject Prepare for additional details about this field.

Parameter #5---fee transaction ID

NameTypePresenceDescription
datastring (hex)Required
(exactly 1)
Fee transaction ID - required for all objects except triggers

Result---governance object hash

NameTypePresenceDescription
resultstring (hex)Required
(exactly 1)
Governance object hash

Example from Dash Core 0.14.0

dash-cli -testnet gobject submit 0 1 1560449223 7b22656e645f65706f6368223a3\
13536303435373035352c226e616d65223a2274657374222c227061796d656e745f61646472\
657373223a227964354b4d52457333474c4d65366d544a597233597248316a75774e7772464\
36642222c227061796d656e745f616d6f756e74223a352c2273746172745f65706f6368223a\
313536303435333439302c2274797065223a312c2275726c223a22687474703a2f2f7465737\
42e636f6d227d \
3fd758e7a5761bb07b2850b8ba432ef42c1ea80f0921d2eab0682697dda78262

Result (Governance Object Hash):

e353b2ab5f7e7cb24b95e00e153ec2a6339249672f18b8e8e144aa711678710d

GObject Deserialize

The gobject deserialize RPC deserializes a governance object from a hex string to JSON.

Parameter #1---object data (hex)

NameTypePresenceDescription
hex_datastring (hex)Required
(exactly 1)
The data (hex) of a governance object

Results

The result output varies depending on the type of governance object being
deserialized. Examples are shown below for both proposal and trigger object types.

Result - Proposal

Result---governance proposal object deserialized to JSON

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
Array of governance objects
→ →
end_epoch
stringRequired
(exactly 1)
Governance object info as string
→ →
name
string (hex)Required
(exactly 1)
Proposal name
→ →
payment_address
string (hex)Required
(exactly 1)
Proposal payment address
→ →
payment_amount
stringRequired
(exactly 1)
Proposal payment amount
→ →
start_epoch
string (hex)Required
(exactly 1)
Proposal start
→ →
type
intRequired
(exactly 1)
Object type
→ →
url
stringRequired
(exactly 1)
Proposal URL

Example from Dash Core 0.14.0

dash-cli -testnet gobject deserialize 7b22656e645f65706f6368223a313536303435\
373035352c226e616d65223a2274657374222c227061796d656e745f61646472657373223a22\
7964354b4d52457333474c4d65366d544a597233597248316a75774e777246436642222c2270\
61796d656e745f616d6f756e74223a352c2273746172745f65706f6368223a31353630343533\
3439302c2274797065223a312c2275726c223a22687474703a2f2f746573742e636f6d227d

Result:

{
  "end_epoch": 1560457055,
  "name": "test",
  "payment_address": "yd5KMREs3GLMe6mTJYr3YrH1juwNwrFCfB",
  "payment_amount": 5,
  "start_epoch": 1560453490,
  "type": 1,
  "url": "http://test.com"
}

Result - Trigger

Result---governance trigger object deserialized to JSON

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
Array of governance objects
→ →
event_block_height
intRequired
(exactly 1)
Block height to activate trigger
→ →
payment_addresses
string (hex)Required
(exactly 1)
Proposal payment address
→ →
payment_amounts
stringRequired
(exactly 1)
Proposal payment amount
→ →
proposal_hashes
string (hex)Required
(exactly 1)
Proposal hashes
→ →
type
intRequired
(exactly 1)
Object type

Example from Dash Core 0.14.0

dash-cli -testnet gobject deserialize 7b226576656e745f626c6f636b5f68656967687\
4223a203131393539322c20227061796d656e745f616464726573736573223a20227954686d6e\
75565a316765516e79776f456147627079333362695435473573587a62222c20227061796d656\
e745f616d6f756e7473223a2022312e3335393631393331222c202270726f706f73616c5f6861\
73686573223a20223836333966636464653131626432373032373663396330333564366435346\
3653962393138323465366466373532636164376464646331616532663734386435222c202274\
797065223a20327d

Result (wrapped):

{
  "event_block_height": 119592,
  "payment_addresses": "yThmnuVZ1geQnywoEaGbpy33biT5G5sXzb",
  "payment_amounts": "1.35961931",
  "proposal_hashes": "8639fcdde11bd270276c9c035d6d54ce9b91824e6df752cad7dddc1ae2f748d5",
  "type": 2
}

GObject Count

The gobject count RPC returns the count of governance objects and votes.

Parameter #1---mode

NameTypePresenceDescription
modestringOptional
(exactly 1)
Result return format:
json (default)
all - Default before Dash Core 0.12.3 (for backwards compatibility)

Command Mode - json

Result---count of governance objects and votes

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
Information about the governance object

objects_total
intRequired
(exactly 1)
Total object count

proposals
intRequired
(exactly 1)
Proposal count

triggers
intRequired
(exactly 1)
Trigger count

other
intRequired
(exactly 1)
Non-proposal/trigger count

erased
intRequired
(exactly 1)
Erased count

votes
intRequired
(exactly 1)
Vote count

Example from Dash Core 0.14.0 (mode: json/default)

dash-cli -testnet gobject count

Result (wrapped):

{
  "objects_total": 3,
  "proposals": 3,
  "triggers": 0,
  "other": 0,
  "erased": 4,
  "votes": 18
}

Command Mode - all

Result---count of governance objects and votes

NameTypePresenceDescription
resultstringRequired
(exactly 1)
The count of governance objects and votes

Example from Dash Core 0.14.0 (mode: all)

dash-cli -testnet gobject count all

Result (wrapped):

Governance Objects: 177 (Proposals: 177, Triggers: 0, Other: 0; Erased: 5), \
Votes: 9680

GObject Get

The gobject get RPC returns a governance object by hash.

Parameter #1---object hash

NameTypePresenceDescription
governance-hashstring (hex)Required
(exactly 1)
The hash of a governance object

Result---governance object details

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
Information about the governance object

DataHex
string (hex)Required
(exactly 1)
Governance object info as hex string

DataString
stringRequired
(exactly 1)
Governance object info as string

Hash
string (hex)Required
(exactly 1)
Hash of this governance object

CollateralHash
string (hex)Required
(exactly 1)
Hash of the collateral payment transaction

ObjectType
numberRequired
(exactly 1)
Object types:
1 - Unknown
2 - Proposal
3 - Trigger

CreationTime
numberRequired
(exactly 1)
Object creation time as Unix epoch time

FundingResult
objectRequired
(exactly 1)
Funding vote details
→ →
AbsoluteYesCount
numberRequired
(exactly 1)
Number of Yes votes minus number of No votes
→ →
YesCount
numberRequired
(exactly 1)
Number of Yes votes
→ →
NoCount
numberRequired
(exactly 1)
Number of No votes
→ →
AbstainCount
numberRequired
(exactly 1)
Number of Abstain votes

ValidResult
objectRequired
(exactly 1)
Object validity vote details
→ →
AbsoluteYesCount
numberRequired
(exactly 1)
Number of Yes votes minus number of No votes
→ →
YesCount
numberRequired
(exactly 1)
Number of Yes votes
→ →
NoCount
numberRequired
(exactly 1)
Number of No votes
→ →
AbstainCount
numberRequired
(exactly 1)
Number of Abstain votes

DeleteResult
objectRequired
(exactly 1)
Delete vote details
→ →
AbsoluteYesCount
numberRequired
(exactly 1)
Number of Yes votes minus number of No votes
→ →
YesCount
numberRequired
(exactly 1)
Number of Yes votes
→ →
NoCount
numberRequired
(exactly 1)
Number of No votes
→ →
AbstainCount
numberRequired
(exactly 1)
Number of Abstain votes

EndorsedResult
objectRequired
(exactly 1)
Endorsed vote details
→ →
AbsoluteYesCount
numberRequired
(exactly 1)
Number of Yes votes minus number of No votes
→ →
YesCount
numberRequired
(exactly 1)
Number of Yes votes
→ →
NoCount
numberRequired
(exactly 1)
Number of No votes
→ →
AbstainCount
numberRequired
(exactly 1)
Number of Abstain votes

fLocalValidity
booleanRequired
(exactly 1)
Valid by the blockchain

IsValidReason
stringRequired
(exactly 1)
fLocalValidity error result. Empty if no error returned.

fCachedValid
booleanRequired
(exactly 1)
Minimum network support has been reached flagging this object as a valid and understood governance object (e.g, the serialized data is correct format, etc)

fCachedFunding
booleanRequired
(exactly 1)
Minimum network support has been reached for this object to be funded (doesn't mean it will be for sure though)

fCachedDelete
booleanRequired
(exactly 1)
Minimum network support has been reached saying this object should be deleted from the system entirely

fCachedEndorsed
booleanRequired
(exactly 1)
Minimum network support has been reached flagging this object as endorsed

Example from Dash Core 0.12.2

dash-cli -testnet gobject get \
    42253a7bec554b97a65d2889e6cb9a1cf308b3d47a778c704bf9cdc1fe1bf6ff

Result (wrapped):

{
  "DataHex": "5b5b2270726f706f73616c222c7b22656e645f65706f6368223a2231353037343339353130222c226e616d65223a227465737470726f706f73616c5f2d5f6162636465666768696a6b6c6d6e6f707172737475767778797a3031323334353637383931353037323530343338222c227061796d656e745f61646472657373223a22795668577955345933756456784d5234464b3333556741534a41436831436835516a222c227061796d656e745f616d6f756e74223a2232222c2273746172745f65706f6368223a2231353037323530343338222c2274797065223a312c2275726c223a2268747470733a2f2f7777772e6461736863656e7472616c2e6f72672f702f746573745f70726f706f73616c5f31353037323530343338227d5d5d",
  "DataString": "[[\"proposal\",{\"end_epoch\":\"1507439510\",\"name\":\"testproposal_-_abcdefghijklmnopqrstuvwxyz01234567891507250438\",\"payment_address\":\"yVhWyU4Y3udVxMR4FK33UgASJACh1Ch5Qj\",\"payment_amount\":\"2\",\"start_epoch\":\"1507250438\",\"type\":1,\"url\":\"https://www.dashcentral.org/p/test_proposal_1507250438\"}]]",
  "Hash": "42253a7bec554b97a65d2889e6cb9a1cf308b3d47a778c704bf9cdc1fe1bf6ff",
  "CollateralHash": "cb09bd0310c0a67cde9387ad4d8908a7ad9f5d89c5afd58e9332b8bd26a646c7",
  "ObjectType": 1,
  "CreationTime": 1507246694,
  "FundingResult": {
    "AbsoluteYesCount": 0,
    "YesCount": 0,
    "NoCount": 0,
    "AbstainCount": 0
  },
  "ValidResult": {
    "AbsoluteYesCount": 0,
    "YesCount": 0,
    "NoCount": 0,
    "AbstainCount": 0
  },
  "DeleteResult": {
    "AbsoluteYesCount": 31,
    "YesCount": 31,
    "NoCount": 0,
    "AbstainCount": 0
  },
  "EndorsedResult": {
    "AbsoluteYesCount": 0,
    "YesCount": 0,
    "NoCount": 0,
    "AbstainCount": 0
  },
  "fLocalValidity": true,
  "IsValidReason": "",
  "fCachedValid": true,
  "fCachedFunding": false,
  "fCachedDelete": false,
  "fCachedEndorsed": false
}

GObject Getcurrentvotes

The gobject getcurrentvotes RPC gets only current (tallying) votes for a governance object hash (does not include old votes).

Parameter #1---object hash

NameTypePresenceDescription
governance-hashstring (hex)Required
(exactly 1)
The hash of a governance object

Result---votes for specified governance

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
The governance object votes

Vote Info
stringRequired
(1 or more)
Key: vote-hash

Value: vinMasternode, time, outcome, and signal of the vote

Example from Dash Core 0.12.2

dash-cli -testnet gobject getcurrentvotes 78941af577f639ac94440e4855a1ed8f\
  696f1506d1c0bed4f4b68f05be26d3ca

Result (truncated):

{
  "174aaba65982d25a23f437e2a66ec3836146ba7b7ce5b3fe2d5476907f7079d9": "2eab488e3a7b030303de0d18e357ce17a9fc6b8876705d61076bbe923b2e5fc8-1:1509354047:YES:DELETE",
  "444d4d871ec35479804f060c733f516908382642ec2dfce6044a59fcadfdcd60": "18e496fe85b61ac9a5fcaec1ef683c7e3fc9bce4a83c883608427ecfb1002fca-1:1508866932:YES:FUNDING",
  "d49a472c62e9d8105931829fc50ef6c6ce04a230507646ee0eaa615e863ef3a0": "18e496fe85b61ac9a5fcaec1ef683c7e3fc9bce4a83c883608427ecfb1002fca-1:1509117071:YES:DELETE",
  "78442507441d4524d2493b8568d130415c1eb394adb2fe38d6ffeb199115bc5d": "3df7fb192e21c34da99bdd10c34e58ecaf3f3c37d6b2289f0ffedba5050188cc-1:1509312524:YES:DELETE",
  "aa4dc9d3b9e74e8c1ffc725b737d07f8a32e43c64907e4bea19e64a86135f08a": "af9f5646ace92f76b3a01b0abe08716a0a7ded64074c2d2e712c93174b9013d1-1:1508866932:YES:FUNDING",
}

GObject List

The gobject list RPC Lists governance objects (can be filtered by signal and/or object type).

Parameter #1---signal

NameTypePresenceDescription
signalstring (hex)Optional
(exactly 1)
Type of governance object signal:
valid
funding
delete
endorsed
all (DEFAULT)

Parameter #2---type

NameTypePresenceDescription
typestring (hex)Optional
(exactly 1)
Type of governance object signal:
proposals
triggers
all (DEFAULT)

Result---governance objects

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
Information about the governance object

Governance Object(s)
objectRequired
(1 or more)
Key: Governance object hash
Values: Governance object details
→ →
DataHex
string (hex)Required
(exactly 1)
Governance object info as hex string
→ →
DataString
stringRequired
(exactly 1)
Governance object info as string
→ →
Hash
string (hex)Required
(exactly 1)
Hash of this governance object
→ →
CollateralHash
string (hex)Required
(exactly 1)
Hash of the collateral payment transaction
→ →
ObjectType
numberRequired
(exactly 1)
Object types:
1 - Unknown
2 - Proposal
3 - Trigger
→ →
CreationTime
numberRequired
(exactly 1)
Object creation time as Unix epoch time
→ →
SigningMasternode
string (hex)Optional
(0 or 1)
Signing masternode's vin (only present in triggers)
→ →
AbsoluteYesCount
numberRequired
(exactly 1)
Number of Yes votes minus number of No votes
→ →
YesCount
numberRequired
(exactly 1)
Number of Yes votes
→ →
NoCount
numberRequired
(exactly 1)
Number of No votes
→ →
AbstainCount
numberRequired
(exactly 1)
Number of Abstain votes

fLocalValidity
booleanRequired
(exactly 1)
Valid by the blockchain

IsValidReason
stringRequired
(exactly 1)
fLocalValidity error result. Empty if no error returned.

fCachedValid
booleanRequired
(exactly 1)
Minimum network support has been reached flagging this object as a valid and understood governance object (e.g, the serialized data is correct format, etc)

fCachedFunding
booleanRequired
(exactly 1)
Minimum network support has been reached for this object to be funded (doesn't mean it will be for sure though)

fCachedDelete
booleanRequired
(exactly 1)
Minimum network support has been reached saying this object should be deleted from the system entirely

fCachedEndorsed
booleanRequired
(exactly 1)
Minimum network support has been reached flagging this object as endorsed

Example from Dash Core 0.12.2

dash-cli -testnet gobject list all proposals

Result (truncated):

{
  "b370fa1afd61aca9aa879abea3087e29656a670478f281d4196efb4e7e893ffe": {
    "DataHex": "5b5b2270726f706f73616c222c7b22656e645f65706f6368223a2231353037343430303338222c226e616d65223a227465737470726f706f73616c5f2d5f6162636465666768696a6b6c6d6e6f707172737475767778797a3031323334353637383931353037323530393636222c227061796d656e745f61646472657373223a2279544c636f506d4e315963654432534345474d6b6e34395753565a4277626f646e6e222c227061796d656e745f616d6f756e74223a2232222c2273746172745f65706f6368223a2231353037323530393636222c2274797065223a312c2275726c223a2268747470733a2f2f7777772e6461736863656e7472616c2e6f72672f702f746573745f70726f706f73616c5f31353037323530393636227d5d5d",
    "DataString": "[[\"proposal\",{\"end_epoch\":\"1507440038\",\"name\":\"testproposal_-_abcdefghijklmnopqrstuvwxyz01234567891507250966\",\"payment_address\":\"yTLcoPmN1YceD2SCEGMkn49WSVZBwbodnn\",\"payment_amount\":\"2\",\"start_epoch\":\"1507250966\",\"type\":1,\"url\":\"https://www.dashcentral.org/p/test_proposal_1507250966\"}]]",
    "Hash": "b370fa1afd61aca9aa879abea3087e29656a670478f281d4196efb4e7e893ffe",
    "CollateralHash": "a51ea89c14735f8b5df37cd846b3561494cc616d4a741e4ef83b368d45c960ba",
    "ObjectType": 1,
    "CreationTime": 1507250966,
    "AbsoluteYesCount": 0,
    "YesCount": 0,
    "NoCount": 0,
    "AbstainCount": 0,
    "fBlockchainValidity": true,
    "IsValidReason": "",
    "fCachedValid": true,
    "fCachedFunding": false,
    "fCachedDelete": false,
    "fCachedEndorsed": false
  },
  "906ae4dbd285e1025832ac9b3160073ecbfeef094d34cf81b3d797a349c720ff": {
    "DataHex": "5b5b2270726f706f73616c222c7b22656e645f65706f6368223a2231353037343534383935222c226e616d65223a227465737470726f706f73616c5f2d5f6162636465666768696a6b6c6d6e6f707172737475767778797a3031323334353637383931353037323635383233222c227061796d656e745f61646472657373223a2279664e68484c4c695936577a5a646a51766137324a64395134313468516578514c68222c227061796d656e745f616d6f756e74223a2232222c2273746172745f65706f6368223a2231353037323635383233222c2274797065223a312c2275726c223a2268747470733a2f2f7777772e6461736863656e7472616c2e6f72672f702f746573745f70726f706f73616c5f31353037323635383233227d5d5d",
    "DataString": "[[\"proposal\",{\"end_epoch\":\"1507454895\",\"name\":\"testproposal_-_abcdefghijklmnopqrstuvwxyz01234567891507265823\",\"payment_address\":\"yfNhHLLiY6WzZdjQva72Jd9Q414hQexQLh\",\"payment_amount\":\"2\",\"start_epoch\":\"1507265823\",\"type\":1,\"url\":\"https://www.dashcentral.org/p/test_proposal_1507265823\"}]]",
    "Hash": "906ae4dbd285e1025832ac9b3160073ecbfeef094d34cf81b3d797a349c720ff",
    "CollateralHash": "1707470c4372ba048b72945365b4bb71afc8a986e0755c1f1e8a37bba21fde83",
    "ObjectType": 1,
    "CreationTime": 1507265823,
    "AbsoluteYesCount": 0,
    "YesCount": 0,
    "NoCount": 0,
    "AbstainCount": 0,
    "fBlockchainValidity": true,
    "IsValidReason": "",
    "fCachedValid": true,
    "fCachedFunding": false,
    "fCachedDelete": false,
    "fCachedEndorsed": false
  }
}

GObject Diff

The gobject diff RPC Lists governance objects differences since last diff.

Parameter #1---signal

NameTypePresenceDescription
signalstring (hex)Optional
(exactly 1)
Type of governance object signal:
valid
funding
delete
endorsed
all (DEFAULT)

Parameter #2---type

NameTypePresenceDescription
typestring (hex)Optional
(exactly 1)
Type of governance object signal:
proposals
triggers
all (DEFAULT)

Result---governance objects

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
Information about the governance object

Governance Object(s)
objectRequired
(1 or more)
Key: Governance object hash
Values: Governance object details
→ →
DataHex
string (hex)Required
(exactly 1)
Governance object info as hex string
→ →
DataString
stringRequired
(exactly 1)
Governance object info as string
→ →
Hash
string (hex)Required
(exactly 1)
Hash of this governance object
→ →
CollateralHash
string (hex)Required
(exactly 1)
Hash of the collateral payment transaction
→ →
ObjectType
numberRequired
(exactly 1)
Object types:
1 - Unknown
2 - Proposal
3 - Trigger
→ →
CreationTime
numberRequired
(exactly 1)
Object creation time as Unix epoch time
→ →
SigningMasternode
string (hex)Optional
(0 or 1)
Signing masternode's vin (only present in triggers)
→ →
AbsoluteYesCount
numberRequired
(exactly 1)
Number of Yes votes minus number of No votes
→ →
YesCount
numberRequired
(exactly 1)
Number of Yes votes
→ →
NoCount
numberRequired
(exactly 1)
Number of No votes
→ →
AbstainCount
numberRequired
(exactly 1)
Number of Abstain votes

fLocalValidity
booleanRequired
(exactly 1)
Valid by the blockchain

IsValidReason
stringRequired
(exactly 1)
fLocalValidity error result. Empty if no error returned.

fCachedValid
booleanRequired
(exactly 1)
Minimum network support has been reached flagging this object as a valid and understood governance object (e.g, the serialized data is correct format, etc)

fCachedFunding
booleanRequired
(exactly 1)
Minimum network support has been reached for this object to be funded (doesn't mean it will be for sure though)

fCachedDelete
booleanRequired
(exactly 1)
Minimum network support has been reached saying this object should be deleted from the system entirely

fCachedEndorsed
booleanRequired
(exactly 1)
Minimum network support has been reached flagging this object as endorsed

Example from Dash Core 0.12.2

dash-cli -testnet gobject diff all all

Result (truncated):

{
  "17c2bd32005c5168a52f9b5caa74d875ee8a6867a6109f36923887ef6c36b301": {
    "DataHex": "5b5b2270726f706f73616c222c7b22656e645f65706f6368223a2231353037343533353731222c226e616d65223a227465737470726f706f73616c5f2d5f6162636465666768696a6b6c6d6e6f707172737475767778797a3031323334353637383931353037323634343939222c227061796d656e745f61646472657373223a2279697355653636445352487048504233514245426764574746637068435933626234222c227061796d656e745f616d6f756e74223a2232222c2273746172745f65706f6368223a2231353037323634343939222c2274797065223a312c2275726c223a2268747470733a2f2f7777772e6461736863656e7472616c2e6f72672f702f746573745f70726f706f73616c5f31353037323634343939227d5d5d",
    "DataString": "[[\"proposal\",{\"end_epoch\":\"1507453571\",\"name\":\"testproposal\",\"payment_address\":\"yisUe66DSRHpHPB3QBEBgdWGFcphCY3bb4\",\"payment_amount\":\"2\",\"start_epoch\":\"1507264499\",\"type\":1,\"url\":\"https://www.dashcentral.org/p/test_proposal_1507264499\"}]]",
    "Hash": "17c2bd32005c5168a52f9b5caa74d875ee8a6867a6109f36923887ef6c36b301",
    "CollateralHash": "a25c44b57931afd74530ce39741f91456446a8fd794d2f1c58c42d6f492647ad",
    "ObjectType": 1,
    "CreationTime": 1507264499,
    "AbsoluteYesCount": 0,
    "YesCount": 0,
    "NoCount": 0,
    "AbstainCount": 0,
    "fBlockchainValidity": true,
    "IsValidReason": "",
    "fCachedValid": true,
    "fCachedFunding": false,
    "fCachedDelete": false,
    "fCachedEndorsed": false
  }
}

GObject Vote-alias

The gobject vote-alias RPC votes on a governance object by masternode alias (using masternode.conf setup).

Parameter #1---governance hash

NameTypePresenceDescription
governance-hashstring (hex)Required
(exactly 1)
Hash of the governance object

Parameter #2---vote signal

NameTypePresenceDescription
signalstringRequired
(exactly 1)
Vote signal: funding, valid, or delete

Parameter #3---vote outcome

NameTypePresenceDescription
outcomestringRequired
(exactly 1)
Vote outcome: yes, no, or abstain

Parameter #4---masternode alias

NameTypePresenceDescription
aliasstringRequired
(exactly 1)
Alias of voting masternode

Result---votes for specified governance

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
The governance object votes

overall
stringRequired
(1 or more)
Reports number of vote successes/failures

detail
objectRequired
(exactly 1)
Vote details
→ →
Masternode Alias
objectRequired
(1 or more)
Name of the masternode alias
→ → →
result
stringRequired
(exactly 1)
Vote result

Example from Dash Core 0.12.2

dash-cli -testnet gobject vote-alias \
0bf97bce78b3b642c36d4ca8e9265f8f66de8774c220221f57739c1956413e2b \
funding yes MN01

Result:

{
  "overall": "Voted successfully 1 time(s) and failed 0 time(s).",
  "detail": {
    "MN01": {
      "result": "success"
    }
  }
}

GObject Vote-conf

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

Parameter #1---governance hash

NameTypePresenceDescription
governance-hashstring (hex)Required
(exactly 1)
Hash of the governance object

Parameter #2---vote signal

NameTypePresenceDescription
signalstringRequired
(exactly 1)
Vote signal: funding, valid, or delete

Parameter #3---vote outcome

NameTypePresenceDescription
outcomestringRequired
(exactly 1)
Vote outcome: yes, no, or abstain

Result---votes for specified governance

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
The governance object votes

overall
stringRequired
(1 or more)
Reports number of vote successes/failures

detail
objectRequired
(exactly 1)
Vote details
→ →
dash.conf
objectRequired
(1 or more)
→ → →
result
stringRequired
(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"
    }
  }
}

GObject Vote-many

The gobject vote-many RPC votes on a governance object by all masternodes (using masternode.conf setup).

Parameter #1---governance hash

NameTypePresenceDescription
governance-hashstring (hex)Required
(exactly 1)
Hash of the governance object

Parameter #2---vote signal

NameTypePresenceDescription
signalstringRequired
(exactly 1)
Vote signal: funding, valid, or delete

Parameter #3---vote outcome

NameTypePresenceDescription
outcomestringRequired
(exactly 1)
Vote outcome: yes, no, or abstain

Parameter #4---masternode alias

NameTypePresenceDescription
aliasstringRequired
(exactly 1)
Alias of voting masternode

Result---votes for specified governance

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
The governance object votes

overall
stringRequired
(1 or more)
Reports number of vote successes/failures

detail
objectRequired
(exactly 1)
Vote details
→ →
Masternode Alias
objectRequired
(1 or more)
Name of the masternode alias
→ → →
result
stringRequired
(exactly 1)
Vote result

Example from Dash Core 0.12.2

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

See also:

Masternode

The masternode RPC provides a set of commands for managing masternodes and displaying information about them.

Masternode Count

The masternode count RPC prints the number of all known masternodes.

Parameter #1---mode

NameTypePresenceDescription
Modestring (hex)DeprecatedWhich masternodes to count:
total - Pre-0.12.3 default result,
ps - PrivateSend capable,
enabled - Enabled,
all - All,
qualify - Eligible for payment

Result---number of known masternodes

NameTypePresenceDescription
resultobjectRequired
(exactly 1)
Masternode count by mode

total
intRequired
(exactly 1)
Count of all masternodes

enabled
intRequired
(exactly 1)
Count of enabled masternodes

Example from Dash Core 0.14.0

dash-cli -testnet masternode count

Result:

{
  "total": 185,
  "enabled": 130
}

Get summarized count of all masternodes

Result---summary of known masternodes

NameTypePresenceDescription
resultstringRequired
(exactly 1)
Summary of masternodes in each state

Example from Dash Core 0.14.0

dash-cli -testnet masternode count all

Result:

Total: 185 (Enabled: 130)

Get total count of all masternodes (default output of masternode count pre-0.12.3)

Result---number of known masternodes in mode

NameTypePresenceDescription
resultintRequired
(exactly 1)
Number of masternodes

Example from Dash Core 0.12.3

dash-cli -testnet masternode count total

Result:

142

Masternode Current

The masternode current RPC prints info on current masternode winner to be paid the next block (calculated locally).

Parameters: none

Result---current winning masternode info

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
Winning masternode info

height
intRequired
(exactly 1)
Block height

IP:port
stringRequired
(exactly 1)
The IP address/port of the masternode

proTxHash
stringRequired
(exactly 1)
The masternode's Provider Registration transaction hash

outpoint
stringRequired
(exactly 1)
The masternode's outpoint

payee
stringRequired
(exactly 1)
Payee address

Example from Dash Core 0.14.0

dash-cli -testnet masternode current

Result:

{
  "height": 76179,
  "IP:port": "34.242.53.163:26155",
  "proTxHash": "9de76b8291d00026ab0af86306023c7b90f8e9229dc04916fe1335bf5e11f15d",
  "outpoint": "9de76b8291d00026ab0af86306023c7b90f8e9229dc04916fe1335bf5e11f15d-1",
  "payee": "yZnU7YJJgGQKvKPQFqXJ4k4DGSsRMhgLXx"
}

Masternode Outputs

The masternode outputs RPC prints masternode compatible outputs.

Parameters: none

Result---masternode outputs

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
Masternode compatible outputs

Output
stringRequired
(1 or more)
Masternode compatible output (TXID:Index)

Example from Dash Core 0.12.2

dash-cli -testnet masternode outputs

Result:

{
  "f6c83fd96bfaa47887c4587cceadeb9af6238a2c86fe36b883c4d7a6867eab0f": "1"
}

Masternode Status

The masternode status RPC prints masternode status information.

Parameters: none

Result---masternode status info

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
Masternode status info

outpoint
stringRequired
(exactly 1)
The masternode's outpoint

service
stringRequired
(exactly 1)
The IP address/port of the masternode

proTxHash
string (hex)Required
(exactly 1)
The masternode's ProRegTx hash

collateralHash
string (hex)Required
(exactly 1)
The masternode's collateral hash

collateralIndex
intRequired
(exactly 1)
Index of the collateral

dmnState
objectRequired
(exactly 1)
Deterministic Masternode State
→ →
service
stringRequired
(exactly 1)
The IP address/port of the masternode
→ →
registeredHeight
intRequired
(exactly 1)
Block height at which the masternode was registered
→ →
lastPaidHeight
intRequired
(exactly 1)
Block height at which the masternode was last paid
→ →
PoSePenalty
intRequired
(exactly 1)
Current proof-of-service penalty
→ →
PoSeRevivedHeight
intRequired
(exactly 1)
Block height at which the masternode was last revived from a PoSe ban
→ →
PoSeBanHeight
intRequired
(exactly 1)
Block height at which the masternode was last PoSe banned
→ →
revocationReason
intRequired
(exactly 1)
Reason code for of masternode operator key revocation
→ →
ownerAddress
stringRequired
(exactly 1)
The owner address
→ →
votingAddress
stringRequired
(exactly 1)
The voting address
→ →
payoutAddress
stringRequired
(exactly 1)
The payout address
→ →
pubKeyOperator
stringRequired
(exactly 1)
The operator public key
→ →
operatorPayoutAddress
stringOptional
(0 or 1)
The operator payout address

status
stringRequired
(1 or more)
The masternode's status

Example from Dash Core 0.13.2

dash-cli -testnet masternode status

Result:

{
  "outpoint": "d1be3a1aa0b9516d06ed180607c168724c21d8ccf6c5a3f5983769830724c357-0",
  "service": "45.32.237.76:19999",
  "proTxHash": "04d06d16b3eca2f104ef9749d0c1c17d183eb1b4fe3a16808fd70464f03bcd63",
  "collateralHash": "d1be3a1aa0b9516d06ed180607c168724c21d8ccf6c5a3f5983769830724c357",
  "collateralIndex": 0,
  "dmnState": {
    "service": "45.32.237.76:19999",
    "registeredHeight": 7402,
    "lastPaidHeight": 59721,
    "PoSePenalty": 0,
    "PoSeRevivedHeight": 61915,
    "PoSeBanHeight": -1,
    "revocationReason": 0,
    "ownerAddress": "yT8DDY5NkX4ZtBkUVz7y1RgzbakCnMPogh",
    "votingAddress": "yMLrhooXyJtpV3R2ncsxvkrh6wRennNPoG",
    "payoutAddress": "yTsGq4wV8WF5GKLaYV2C43zrkr2sfTtysT",
    "pubKeyOperator": "02a2e2673109a5e204f8a82baf628bb5f09a8dfc671859e84d2661cae03e6c6e198a037e968253e94cd099d07b98e94e"
  },
  "state": "READY",
  "status": "Ready"
}

Masternode List

The masternode list prints a list of all known masternodes.

This RPC uses the same parameters and returns the same data as
masternodelist. Please reference it for full details.

Example from Dash Core 0.12.2

dash-cli -testnet masternode list \
    rank f6c83fd96bfaa47887c4587cceadeb9af6238a2c86fe36b883c4d7a6867eab0f

Result:

{
  "f6c83fd96bfaa47887c4587cceadeb9af6238a2c86fe36b883c4d7a6867eab0f-1": 11
}

Masternode Winner

The masternode winner RPC prints info on the next masternode winner to vote for.

Parameters: none

Result---next masternode winner info

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
Winning masternode info

height
intRequired
(exactly 1)
Block height

IP:port
stringRequired
(exactly 1)
The IP address/port of the masternode

proTxHash
stringRequired
(exactly 1)
The masternode's Provider Registration transaction hash

outpoint
stringRequired
(exactly 1)
The masternode's outpoint

payee
stringRequired
(exactly 1)
Payee address

Example from Dash Core 0.14.0

dash-cli -testnet masternode winner

Result:

{
  "height": 76191,
  "IP:port": "34.242.53.163:26173",
  "proTxHash": "024608d03beb6a6065f14a29a837c68ae449ac1e17056819366ca0b72b6dd81f",
  "outpoint": "024608d03beb6a6065f14a29a837c68ae449ac1e17056819366ca0b72b6dd81f-1",
  "payee": "yhp182AnF7gUAyHiWgSbDrKqHKt2dzhoyW"
}

Masternode Winners

The masternode winners RPC prints the list of masternode winners.

By default, the 10 previous block winners, the current block winner, and the
next 20 block winners are displayed. More past block winners can be requested
via the optional count parameter.

Parameter #1---count

NameTypePresenceDescription
Countstring (hex)Optional
(exactly 1)
Number of previous block winners to display (default: 10)

Parameter #2---filter

NameTypePresenceDescription
FilterstringOptional
(exactly 1)
Payment address to filter by

Result---masternode winners

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
Winning masternode info

Masternode Winner
intRequired
(exactly 1)
Key: Block height
Value: payee address

Example from Dash Core 0.12.2

dash-cli -testnet masternode winners

Result (current block - 37458):

{
  "37448": "ygSWwhyzU61FNEta8gDh8gfoH5EZZUvc5m:8",
  "37449": "yjGZLzSSoFfTFgLDJrgniXfYxu3xF9xKQg:5",
  "37450": "yRTo1wXWoNnPFWcQVepKGXuLsoypnPkGWj:7",
  "37451": "yYMFRAYZ25XspHZ1EXC39wUMx9FhoC5VT2:9",
  "37452": "yX5y3otE4LitGYiSfZhVH4LdbwHShdzQ8v:7",
  "37453": "yX5y3otE4LitGYiSfZhVH4LdbwHShdzQ8v:4",
  "37454": "yUamtYUFhqUxCMny3JTcZJTyttVt8SYFug:9",
  "37455": "yU35XcdGMnj8Exa2ZZqCg4ongiNqQwpeUZ:9",
  "37456": "yaJc6tADbEjxQBAC69ugWNoTFpzxqkcgWd:7",
  "37457": "yf4WpwRX17p7YRkHJPQpHMXTwzi5s2VDcR:7",
  "37458": "ydbfUYWfLm6xg7Y5aBLjy38DvksrvNcHEc:9",
  "37459": "yYp9k2iuDptT2MB7qVZtVy6ModHtLXFjio:6",
  "37460": "yP1UHNx26ShYLej56SbHiTiPAUv2QppbUv:6",
  "37461": "yaCtZRpiYnVFMyWELHZF74v9ayLKCLPcC9:8",
  "37462": "ygYFnLHoVRyhRoxd6fXQ9nmEafX4eLoWkB:6",
  "37463": "yM5kTThWi8MnAFtZqx98Zipp1BbyypUZGK:7",
  "37464": "yeDY39aiqbBHbJft5F6rokR23EaZca6UTU:9",
  "37465": "yMME1ns1xfpGS2XbFPktsNyp7Cjr1BoJxb:8",
  "37466": "ycn5RWc4Ruo35FTS8bJwugVyCEkfVcrw9a:6",
  "37467": "yUTDkKKhbvDrnwkiaoP8HvqxTNC6rNnUe2:6",
  "37468": "yTstes2nSaSpvu9nTapiCGnjCLvLD5fUqt:5",
  "37469": "Unknown",
  "37470": "Unknown",
  "37471": "Unknown",
  "37472": "Unknown",
  "37473": "Unknown",
  "37474": "Unknown",
  "37475": "Unknown",
  "37476": "Unknown",
  "37477": "Unknown"
}

Get a filtered list of masternode winners

dash-cli -testnet masternode winners 150 "yTZ99"

Result:

{
  "37338": "yTZ99fCnjNu33RDRtawf81iwJ9uxXFmkgM:9",
  "37339": "yTZ99fCnjNu33RDRtawf81iwJ9uxXFmkgM:8",
  "37432": "yTZ99fCnjNu33RDRtawf81iwJ9uxXFmkgM:6",
  "37433": "yTZ99fCnjNu33RDRtawf81iwJ9uxXFmkgM:9"
}

See also:

Masternodelist

The masternodelist RPC returns a list of masternodes in different modes.

Parameter #1---List mode

NameTypePresenceDescription
modestringOptional (exactly 1);
Required to use filter
The mode to run list in

Mode Options (Default=json)

ModeDescription
addrPrint IP address associated with a masternode (can be additionally filtered, partial match)
fullPrint info in format 'status payee lastpaidtime lastpaidblock IP' (can be additionally filtered, partial match)
infoPrint info in format 'status payee IP' (can be additionally filtered, partial match)
json (Default)Print info in JSON format (can be additionally filtered, partial match)
lastpaidblockPrint the last block height a node was paid on the network
lastpaidtimePrint the last time a node was paid on the network
owneraddressPrint the masternode owner Dash address
payeePrint Dash address associated with a masternode (can be additionally filtered, partial match)
pubKeyOperatorPrint the masternode operator public key
statusPrint masternode status: ENABLED / POSE_BANNED (can be additionally filtered, partial match)
votingaddressPrint the masternode voting Dash address

Parameter #2---List filter

NameTypePresenceDescription
filterstringOptional
(exactly 1)
Filter results. Partial match by outpoint by default in all modes, additional matches in some modes are also available.

Result---the masternode list

NameTypePresenceDescription
resultobject/nullRequired
(exactly 1)
Information about the masternode sync status

Masternode Info
stringRequired
(1 or more)
The requested masternode info. Output varies based on selected mode and filter parameters

Example from Dash Core 0.14.0

Get unfiltered Masternode list in default mode

dash-cli -testnet masternodelist

Result:

{
  "64fbf05880cdbd35a0278ba01a5edf0c20a9c756d15f883d496f5df35b31b542-1": {
    "proTxHash": "ab51b2ba4dca27658e13fea81c0764167c1466aa2d92050c67e4490ce7623da0",
    "address": "167.99.164.60:19999",
    "payee": "ycZgaHNb8AQq7HnJ3rTwx2fXUd7VCWQumX",
    "status": "ENABLED",
    "lastpaidtime": 1556615121,
    "lastpaidblock": 89725,
    "owneraddress": "yisedvAxYga44V9bTABzoQ7KoQMugyfU1E",
    "votingaddress": "yVpKfQgjkRkezFS5SpZvAEVFsbv9zJedf4",
    "collateraladdress": "yeXE94admJeH3oKiaB7UpwWnPZD6Q8srhT",
    "pubkeyoperator": "8072ac9a55d1cf5bf9c4262d49e2ef1ffcd716b8983ffdc62b940fec6cb4179d6275f8b68316f29c6c2ad540db329258"
  },
  "6ed4aa5fa90565c2331bcd22275f684ecdca5da8dd7f83ca943aadc6f44e6746-0": {
    "proTxHash": "8f5d5c7c0d9232f45f3a77eef6541922f827930b1f3bb789ad1771dc4d6275c0",
    "address": "3.209.222.37:19999",
    "payee": "yiVDR2HothEwH2Ss17GntqNp1rBUthnyje",
    "status": "POSE_BANNED",
    "lastpaidtime": 1554219432,
    "lastpaidblock": 72365,
    "owneraddress": "ycAZ9adjpGfZ2WLEpyfyUWAjkF6sXdD5df",
    "votingaddress": "yQrieR9S99hqnPghoj12RszMXYzc6yzyn2",
    "collateraladdress": "ya82BzRBhuFZAPhgXvhkzZgqiVsMdnfan7",
    "pubkeyoperator": "0a7fd01cfd502296cfd523d58ee9f4cff34243abb0dcc543ec237ff4d73938e69d187f0b6838bbaf9d54b89adc0d4c8e"
  },
  "4758b97bbd20024e171767b8baf4290bec1475b254180869cdfe0db75d7faefb-0": {
    "proTxHash": "5cd86ed16f87819dca7b6e4e3d24947b1a6328ed8cc4c9aec7af35fa2b162220",
    "address": "68.183.167.16:19999",
    "payee": "ycZgaHNb8AQq7HnJ3rTwx2fXUd7VCWQumX",
    "status": "ENABLED",
    "lastpaidtime": 1556616437,
    "lastpaidblock": 89734,
    "owneraddress": "yPmESxMJhZYuKDLJ1oYdH6kpE8oADVAPUQ",
    "votingaddress": "yLvTNLDLHa3pDMbFDRBX5mVMjCshzrDD1X",
    "collateraladdress": "ydGCjUEVRHkQZK3ajCsGJGDE9sjrbbS56v",
    "pubkeyoperator": "18af4d035eed23d30eb02808af0c133d9879c0fb82c72329ab2ed208ebc1631641ca42bbf462239d151f4e84d8dcde7b"
  }
}

Get a filtered Masternode list

dash-cli -testnet masternodelist full "NEW"

Result:

{
  "64fbf05880cdbd35a0278ba01a5edf0c20a9c756d15f883d496f5df35b31b542-1": "           ENABLED ycZgaHNb8AQq7HnJ3rTwx2fXUd7VCWQumX 1553155206  65121 167.99.164.60:19999",
  "809818107c1104bbba6d386567aa231a294219387e591542df599b7ae7d23339-1": "       POSE_BANNED yLriZkwBhftk8VBUqrSykhFhAi4PowZ2Rs 1547488185  24447 45.48.177.222:19999",
  "d9fd715b7d896f5426e90bd3383a67fd3e311e00c021750560c6e5c5f9cdac85-1": "           ENABLED yRbiW3dguCym4fzUGZCf2kWzKUgw97zEqE 1553155396  65122 109.235.71.56:19999",
  "0950cce784fadcc2df4febb19d3a21eab4836ba22ea996ce7e2dde32b6c31431-0": "           ENABLED ycZgaHNb8AQq7HnJ3rTwx2fXUd7VCWQumX 1553154969  65119 165.227.63.223:19999",
  "08b493929f61a3205f09af9290af9034bec6a8355040a82ce4413f294c703e9a-0": "           ENABLED ybCE7m9oPjvCjm8MzPdbMBGgkF7p9wXsFq 1553153959  65110 34.207.45.58:19999",
  "b4f9de65ae676b63f84f2865317b8b512a12516c4459f2f59ca2626c71f7dda3-1": "       POSE_BANNED yYmromZERpc15GTDvgvjmjChPmgHbhWf1r          0      0 1.1.1.1:19999",
  "b7ec36db0c4ece8018183dcb90eed910e38e1c8d3641bbb4facced9a48a283a3-5": "           ENABLED ybFPBD7hm9KVd2Dubj97K5mw2ymR8gWJre 1553164088  65172 18.202.52.170:20028",
  "71fa05269adf3efc9ffa9a9ce33d27320de61c230cdf4a3835ba7f707bd7807a-1": "       POSE_BANNED yVxBZ8JeM5qRbLnUnswZ2APV3rgeZ7C9n9 1552466625  61158 167.99.110.59:19999"
}

See also:

  • Masternode: provides a set of commands for managing masternodes and displaying information about them.
  • MnSync: returns the sync status, updates to the next step or resets it entirely.

MnSync

The mnsync RPC returns the sync status, updates to the next step or resets it entirely.

Parameter #1---Command mode

NameTypePresenceDescription
modestringRequired
(exactly 1)
The command mode to use:
status - Get masternode sync status
next - Move to next sync asset
reset - Reset sync status

Command Mode - status

Result---the sync status

NameTypePresenceDescription
resultobject/nullRequired
(exactly 1)
Information about the masternode sync status

AssetID
number (int)Required
(exactly 1)
The sync asset ID

AssetName
stringRequired
(exactly 1)
The sync asset name

AssetStartTime
number (int)Required
(exactly 1)
The sync asset start time

Attempt
number (int)Required
(exactly 1)
The sync attempt number

IsBlockchainSynced
booleanRequired
(exactly 1)
Blockchain sync status

IsSynced
booleanRequired
(exactly 1)
Masternode sync status

IsFailed
booleanRequired
(exactly 1)
Removed in Dash Core 0.16.0
Masternode list sync fail status

Sync Assets

AssetIDAssetName
0MASTERNODE_SYNC_INITIAL (merged with MASTERNODE_SYNC_BLOCKCHAIN in Dash Core 0.16.0)
1MASTERNODE_SYNC_BLOCKCHAIN (previously MASTERNODE_SYNC_WAITING)
4MASTERNODE_SYNC_GOVERNANCE
-1MASTERNODE_SYNC_FAILED (removed in Dash Core 0.16.0)
999MASTERNODE_SYNC_FINISHED

Example from Dash Core 0.16.0

Get Masternode sync status

dash-cli -testnet mnsync status

Result:

{
  "AssetID": 999,
  "AssetName": "MASTERNODE_SYNC_FINISHED",
  "AssetStartTime": 1507662300,
  "Attempt": 0,
  "IsBlockchainSynced": true,
  "IsSynced": true,
}

Command Mode - next

Result---next command return status

NameTypePresenceDescription
resultstringRequired
(exactly 1)
Command return status

Example from Dash Core 0.12.2

dash-cli -testnet mnsync next

Result:

sync updated to MASTERNODE_SYNC_GOVERNANCE

Command Mode - reset

Result---reset command return status

NameTypePresenceDescription
resultstringRequired
(exactly 1)
Command return status:
success or failure

Example from Dash Core 0.12.2

dash-cli -testnet mnsync reset

Result:

success

See also:

  • Masternode: provides a set of commands for managing masternodes and displaying information about them.
  • MasternodeList: returns a list of masternodes in different modes.

PrivateSend

As of Dash Core 0.12.3, client-side mixing is not supported on masternodes.

The privatesend RPC controls the mixing process.

NameTypePresenceDescription
modestringRequired
(exactly 1)
The command mode to use:
start - Start mixing
stop - Stop mixing
reset - Reset mixing

Command Mode - start

Result---start command return status

NameTypePresenceDescription
resultstringRequired
(exactly 1)
Command return status

Example from Dash Core 0.12.2

dash-cli -testnet privatesend start

Result:

Mixing started successfully

Command Mode - stop

Result---stop command return status

NameTypePresenceDescription
resultstringRequired
(exactly 1)
Command return status

Example from Dash Core 0.12.2

dash-cli -testnet privatesend stop

Result:

Mixing was stopped

Command Mode - reset

Result---reset command return status

NameTypePresenceDescription
resultstringRequired
(exactly 1)
Command return status

Example from Dash Core 0.12.2

dash-cli -testnet privatesend reset

Result:

Mixing was reset

See also: none

Spork

The spork RPC reads or updates spork settings on the network.

To display the status of sporks, use the show or active syntax.

Parameter #1---Command mode

NameTypePresenceDescription
modestringRequired
(exactly 1)
The command mode to use:
show - Display spork values
active - Display spork activation status

Command Mode - show

Result---spork values

NameTypePresenceDescription
resultobjectRequired
(exactly 1)
Object containing status

Spork Value
int64_tRequired
(1 or more)
Spork value (epoch datetime to enable/disable)

Example from Dash Core 0.16.0

dash-cli -testnet spork show

Result:

{
  "SPORK_2_INSTANTSEND_ENABLED": 0,
  "SPORK_3_INSTANTSEND_BLOCK_FILTERING": 0,
  "SPORK_6_NEW_SIGS": 0,
  "SPORK_9_SUPERBLOCKS_ENABLED": 0,
  "SPORK_17_QUORUM_DKG_ENABLED": 0,
  "SPORK_19_CHAINLOCKS_ENABLED": 1,
  "SPORK_21_QUORUM_ALL_CONNECTED": 4070908800
}

Command Mode - active

Result---spork active status

NameTypePresenceDescription
resultobjectRequired
(exactly 1)
Object containing status

Spork Activation Status
boolRequired
(1 or more)
Spork activation status

Example from Dash Core 0.14.0

dash-cli -testnet spork active

Result:

{
  "SPORK_2_INSTANTSEND_ENABLED": true,
  "SPORK_3_INSTANTSEND_BLOCK_FILTERING": true,
  "SPORK_6_NEW_SIGS": true,
  "SPORK_9_SUPERBLOCKS_ENABLED": true,
  "SPORK_17_QUORUM_DKG_ENABLED": true,
  "SPORK_19_CHAINLOCKS_ENABLED": true,
  "SPORK_21_QUORUM_ALL_CONNECTED": false
}

To update the state of a spork activation, use the <name> [value] syntax.

Command Mode - update

Parameter #1---Spork name

NameTypePresenceDescription
namestringRequired
(exactly 1)
The name of the spork to update

Parameter #2---Spork value

NameTypePresenceDescription
valueintRequired
(exactly 1)
The value to assign the spork

Result---spork update status

NameTypePresenceDescription
resultobjectRequired
(exactly 1)
Update status (success or failure)

Example from Dash Core 0.12.2

dash-cli -testnet spork SPORK_2_INSTANTSEND_ENABLED 0

Result:

failure

See also: none

VoteRaw

The voteraw RPC compiles and relays a governance vote with provided external signature instead of signing vote internally

Parameter #1---masternode collateral transaction hash

NameTypePresenceDescription
masternode-collateral-tx-hashstring (hex)Required
(exactly 1)
Hash of the masternode collateral transaction

Parameter #2---masternode collateral transaction index

NameTypePresenceDescription
masternode-collateral-tx-indexstringRequired
(exactly 1)
Index of the masternode collateral transaction

Parameter #3---governance hash

NameTypePresenceDescription
governance-hashstring (hex)Required
(exactly 1)
Hash of the governance object

Parameter #4---vote signal

NameTypePresenceDescription
signalstringRequired
(exactly 1)
Vote signal: funding, valid, or delete

Parameter #5---vote outcome

NameTypePresenceDescription
outcomestringRequired
(exactly 1)
Vote outcome: yes, no, or abstain

Parameter #6---time

NameTypePresenceDescription
timeint64_tRequired
(exactly 1)
Create time

Parameter #7---vote signature

NameTypePresenceDescription
vote-sigstring (base64)Required
(exactly 1)
The vote signature created by external application (i.e. Dash Masternode Tool or dashmnb).

Must match the Dash Core (governance vote signature format).

Result---votes for specified governance

NameTypePresenceDescription
ResultobjectRequired
(exactly 1)
The vote result

Example from Dash Core 0.12.2

dash-cli -testnet voteraw \
f6c83fd96bfaa47887c4587cceadeb9af6238a2c86fe36b883c4d7a6867eab0f 1 \
65a358fefaace40fc07053350be23e519178519290f963dab8ba92f6f85f98c3 \
funding yes 1512507255 \
H1jXKZQp1TZWBPW11E665OwmGBYV1038FohEr0au7zp+O5BCKmVDP/3rGq38ZMy3KOpwnBu6ehd6jlas79hsRBY=

Result:

Voted successfully

See also:

  • GObject: provides a set of commands for managing governance objects and displaying information about them.

Updated 5 months ago


What's Next

Evo RPCs

Dash RPCs


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.