Overview#

Introduction#

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.

Reference Implementation#

The current reference implementation is the (Rust) rs-dpp library. The schemas and meta-schemas referred to in this specification can be found here in the reference implementation: dashpay/platform.

Release Notes#

Release notes for past versions are located on the dashpay/platform GitHub release page. They provide information about breaking changes, features, and fixes.

Topics#

Identities

Data Contracts

Document

State Transitions

Data Triggers