DAPI Endpoints#

DAPI currently provides 2 types of endpoints: JSON-RPC and gRPC. The JSON-RPC endpoints expose some layer 1 information while the gRPC endpoints support layer 2 as well as streaming of events related to blocks and transactions/transitions.

JSON-RPC Endpoints#

Layer

Endpoint

Description

1

getBestBlockHash

Returns block hash of the chaintip

1

getBlockHash

Returns block hash of the requested block

1

getMnListDiff

Returns masternode list diff for the provided block hashes

gRPC Endpoints#

Core gRPC Service#

Layer

Endpoint

1

broadcastTransaction

Broadcasts the provided transaction

1

getBlock

Returns information for the requested block

1

getStatus

Returns blockchain status information

1

getTransaction

Returns details for the requested transaction

1

subscribeTo BlockHeadersWithChainLocks

Returns the requested block headers along with the associated ChainLocks.
Added in Dash Platform v0.22

1

subscribeTo TransactionsWithProofs

Returns transactions matching the provided bloom filter along with the associated islock message and merkle block

Platform gRPC Service#

In addition to providing the request data, the following endpoints can also provide proofs that the data returned is valid and complete. The endpoints are versioned so updates can be made to them without introducing issues for endpoint consumers.

Layer

Endpoint

2

broadcastStateTransition

Broadcasts the provided State Transition

2

getIdentity

Returns the requested identity

2

getIdentityBalance

Returns the requested identity’s balance

2

getIdentityBalanceAndRevision

Returns the requested identity’s balance and revision

2

getIdentityByPublicKeyHash

Returns the identity associated with the provided public key hash

2

getIdentityKeys

Returns the requested identity keys

2

getIdentities

Returns the requested identities

2

getIdentitiesByPublicKeyHashes

Returns the identities associated with the provided public key hashes
Added in Dash Platform v0.16

2

getDataContract

Returns the requested data contract

2

getDataContracts

Returns the requested data contracts

2

getDataContractHistory

Returns the requested data contract history

2

getDocuments

Returns the requested document(s)

2

getEpochsInfo

Returns information about the requested epoch(s)

2

getProofs

Returns proof information for the requested identities, contracts, and/or document(s)

2

getProtocolVersionUpgradeState

Returns the number of votes cast for each protocol version

2

getProtocolVersionUpgradeVoteStatus

Returns protocol version upgrade status

2

waitForStateTransitionResult

Responds with the state transition hash and either a proof that the state transition was confirmed in a block or an error

📘

The previous version of documentation can be viewed here.