Skip to main content

What is a DID?

Decentralized identifiers (DIDs) are a new type of global unique identifier that enables verifiable, decentralized digital identity. A DID can be used to identify any subject (e.g., a person, organization, thing, data model, abstract entity, etc.). This is all decided by the controller of that DID.

Unlike existing traditional identifiers, where identifiers are created by a third party and we have no control over the data, its credibility and availability, DIDs allow us to create unique identifiers for anything using systems we trust, and the ability to prove control of them i.e. authenticate using cryptographic proofs like digital signatures, privacy-preserving biometric protocol etc.

It is the first step towards being the self sovereign of an identity and the data associated with it


DID is a simple text string consisting of three parts, the:

  • URI scheme identifier (did)
  • Identifier for the DID method
  • DID method-specific identifier.

A simple example of a decentralized identifier (DID)


The example above would resolve to a DID document which contains information associated with the DID. These could include ways to cryptographically authenticate the DID, as well as services that can be used to interact with it

Example of a minimal self-managed DID document

"@context": "",
"id": "did:example:123456789abcdefghi",
"authentication": [{
// used to authenticate as did:...fghi
"id": "did:example:123456789abcdefghi#keys-1",
"type": "Ed25519VerificationKey2018",
"controller": "did:example:123456789abcdefghi",
"publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
"service": [{
// used to retrieve Verifiable Credentials associated with the DID
"type": "VerifiableCredentialService",
"serviceEndpoint": ""

There are over 30 DID method specifications implemented in the world today, we use the ETHR DID Method in Serto Agent


To learn more about DIDs, visit