Dash CoreDash PlatformDash.orgDash User DocsLog In
These docs are for v0.21.0. Click to read the latest docs for v0.25-redirect.


Dash Platform Protocol Reference Overview


The Dash Platform Protocol (DPP) defines a protocol for the data objects (e.g. identities, data contracts, documents, state transitions) that can be stored on Dash's layer 2 platform. All data stored on Dash Platform is governed by DPP to ensure data consistency and integrity is maintained.

Dash Platform data objects consist of JSON and are validated using the JSON Schema specification via pre-defined JSON Schemas and meta-schemas described in these sections. The meta-schemas allow for creation of DPP-compliant schemas which define fields for third-party Dash Platform applications.

In addition to ensuring data complies with predefined JSON Schemas, DPP also defines rules for hashing and serialization of these objects.


Breaking changes

Dash Platform Protocol 0.21
A number of breaking changes were introduced in DPP 0.21. Details can be found in the GitHub release.

Dash Platform Protocol 0.20
This release updated to a newer version of JSON Schema (2020-12 spec) and also switched to a new regex module (Re2) for improved security. More details can be found in the GitHub release.

Reference Implementation

The current reference implementation is the (JavaScript) js-dpp library. The schemas and meta-schemas referred to in this specification can be found here in the reference implementation:



Data Contracts


State Transitions

Data Triggers

What’s Next