Create a Sovrin DID

Introduction

DIDs with a method of sov are a type of DID where the DID Document is anchored on a Sovrin ledger.

Constraints

During Preview any did:sov DIDs will not reside on the Sovrin MainNet, and when migrating to the MainNet any sov DIDs will be removed. Any did:sov DIDs created should be considered as experimental as well as any credentials created using them.

Creating the DID

A DID with a DID method of sov can be created as follows.

POST https://tenant.platform.mattr.global/v1/dids

Request

{
"method": "sov"
}

Response

{
"did": "did:sov:mattr:EuV9acXkb4oRYrT3C9kkM6",
"registrationStatus": "COMPLETED",
"localMetadata": {
"keys": [
{
"didDocumentKeyId": "did:sov:mattr:EuV9acXkb4oRYrT3C9kkM6#4UEgFL9tyR",
"kmsKeyId": "4UEgFL9tyRVzUEENVbvmJxSnsEBM2PyjVDrCNZgVo5gE"
},
{
"didDocumentKeyId": "did:sov:mattr:EuV9acXkb4oRYrT3C9kkM6#6Hzch4NTX5",
"kmsKeyId": "6Hzch4NTX55s17dv3zNF81SEs3wDRn33BxLdiUFLGsX1"
},
{
"authorizedDidOperations": [
"Update"
],
"kmsKeyId": "8aZbFV2z24zmnhysG3TPbuw3U41Ga4X2RUSERaxWJFc6"
}
],
"registered": 1600919715957,
"initialDidDocument": {
"@context": "https://w3.org/ns/did/v1",
"id": "did:sov:mattr:EuV9acXkb4oRYrT3C9kkM6",
"publicKey": [
{
"id": "did:sov:mattr:EuV9acXkb4oRYrT3C9kkM6#4UEgFL9tyR",
"controller": "did:sov:mattr:EuV9acXkb4oRYrT3C9kkM6",
"type": "Ed25519VerificationKey2018",
"publicKeyBase58": "4UEgFL9tyRVzUEENVbvmJxSnsEBM2PyjVDrCNZgVo5gE"
}
],
"authentication": [
"did:sov:mattr:EuV9acXkb4oRYrT3C9kkM6#4UEgFL9tyR"
],
"assertionMethod": [
"did:sov:mattr:EuV9acXkb4oRYrT3C9kkM6#4UEgFL9tyR"
],
"capabilityDelegation": [
"did:sov:mattr:EuV9acXkb4oRYrT3C9kkM6#4UEgFL9tyR"
],
"capabilityInvocation": [
"did:sov:mattr:EuV9acXkb4oRYrT3C9kkM6#4UEgFL9tyR"
],
"keyAgreement": [
{
"id": "did:sov:mattr:EuV9acXkb4oRYrT3C9kkM6#6Hzch4NTX5",
"controller": "did:sov:mattr:EuV9acXkb4oRYrT3C9kkM6",
"type": "X25519KeyAgreementKey2019",
"publicKeyBase58": "6Hzch4NTX55s17dv3zNF81SEs3wDRn33BxLdiUFLGsX1"
}
]
}
}
}

The resulting did resides in the did attribute.