Product Docs
Product DocsTechnical DocsLearning & GovernanceUseful Links
  • Product Docs
  • Node Docs
  • Learning Docs
  • â„šī¸Getting Started
    • Product Overview
    • âžĄī¸Get Started with cheqd Studio
      • 👉Set Up Your Account
      • đŸ—ī¸Create API Keys
      • đŸĒ™Token Top Up
      • 🔄Advanced Configuration Options
    • â˜‘ī¸Use Trust Registries for AI Agents
      • đŸ—ī¸Build an AI Agent Trust Registry
        • Setup AI Agent Trust Registry
          • Issue Verifiable Credentials to AI Agent
        • Setup and Configure MCP Server
          • Create AI Agent DID
          • Import Credential to AI Agent
          • Advanced functionality
            • Issue a Verifiable Credential
            • Verify a Credential
      • 🤝Validate AI Agent Trust Chain
  • đŸŸĸStart using cheqd
    • 🆔Create DIDs and Identity Keys
      • Create a DID
      • Create Identity Keys
      • Create a Subject DID
      • Resolve a DID
      • Update a DID
      • Deactivate a DID
    • ✅Issue Credentials and Presentations
      • Issue a Verifiable Credential
      • Setup Verida Wallet
      • Verify a Verifiable Credential
      • Verify a Verifiable Presentation
      • Revoke a Verifiable Credential
      • Suspend or Unsuspend a Verifiable Credential
    • â™ģī¸Charge for Verifiable Credentials
      • Understanding Credential Payments
        • Access Control Conditions
        • Privacy Considerations
      • Charge for Status List
      • Issue Credential with Encrypted Status List
      • Create Verifier Pays Issuer flow
      • Bulk Update or Rotate Encryption Keys
    • 🤝Build Trust Registries
      • Decentralized Trust Chains (DTCs)
        • Root Authorisations
        • RTAO -> TAO
        • TAO -> SubTAO
        • TAO -> Trusted Issuer (TI)
        • Referencing Trust Registry within a Verifiable Credential
      • Set up Trust Chain
        • Issue a Verifiable Accreditation
        • Verify a Verifiable Accreditation
      • Get Started with TRAIN
        • Deploy TRAIN and Anchor rTAO in DNS
        • Validate Trust Chain
    • 🎋Create Status Lists
      • Bitstring Status List
        • Create Bitstring Status List
        • Update Bitstring Status List
        • Check Bitstring Status List
        • Search Bitstring Status List
      • Token Status List
        • Create Token Status List
        • Update Token Status List
    • â†•ī¸Create DID-Linked Resources
      • Understanding DID-Linked Resources
        • Context for developing DID-Linked Resources
        • Technical composition of DID-Linked Resources
        • Referencing DID-Linked Resources in VCs
      • Create a DID-Linked Resource
      • Search for DID-Linked Resources
  • đŸ› ī¸Integrate an SDK
    • Choosing the right SDK
    • 🍏Credo
      • Setup Credo Agent
      • Decentralized Identifiers (DIDs)
        • Create a DID
        • Update a DID
        • Deactivate a DID
      • DID-Linked Resources
        • Create DID-Linked Resource
        • Resolve DID-Linked Resource
        • Create AnonCreds Schema
        • Create AnonCreds Credential Definition
      • Verifiable Credentials and Presentations
        • Issue a Verifiable Credential (AnonCreds)
        • Present a Verifiable Credential (AnonCreds)
    • 🍊ACA-Py
      • Setup ACA-Py Agent
      • Decentralized Identifiers (DIDs)
        • Create a DID
        • Update a DID
        • Deactivate a DID
      • DID-Linked Resources
        • Create AnonCreds Schema
        • Create AnonCreds Credential Definition
      • Verifiable Credentials and Presentations
        • AnonCreds
          • Issue a Verifiable Credential
          • Present a Verifiable Credential
          • Revoke a Verifiable Credential
        • JSON-LD
          • Issue a Verifiable Credential
          • Present a Verifiable Credential
    • 🍈Veramo
      • Setup Veramo CLI for cheqd
        • Troubleshooting Veramo CLI Setup
      • Decentralized Identifiers (DIDs)
        • Create a DID
        • Querying a DID
        • Update an existing DID
        • Deactivate a DID
        • Create an off-ledger holder DID
        • Managing Identity Keys
        • Troubleshooting
      • Verifiable Credentials and Presentations
        • Issue a Verifiable Credential
        • Verify a Verifiable Credential
        • Create a Verifiable Presentation
        • Verify a Verifiable Presentation
      • Credential Payments
        • Charge for Status List
        • Issue Credential with Encrypted Status List
        • Verifier pays Issuer
      • Bitstring Status List
        • Create Status List
        • Issuing a Verifiable Credential referencing Status List
      • DID-Linked Resources
        • Create a DID-Linked Resource
        • Create a new Resource version within existing Collection
    • đŸĢWalt.id Community Stack
  • đŸ—ī¸Architecture
    • Architecture Decision Record (ADR) Process
    • List of ADRs
      • đŸ”ĩADR 001: cheqd DID Method
      • đŸŸĸADR 002: DID-Linked Resources
      • 🟡ADR 003: DID Resolver
      • 🟠ADR 004: DID Registrar
      • đŸŸŖADR 005: DID Resolution & DID URL Dereferencing
  • đŸ’ĢAdvanced features and alternatives
    • âžĄī¸DID Registrar
      • Setup DID Registrar
      • Create a DID
      • Create a DID-Linked Resource
    • âŦ…ī¸DID Resolver
      • Setup DID Resolver
    • ⚡AnonCreds Object Method
      • Schemas
      • Credential Definitions
      • Revocation Registry Definitions
      • Revocation Status Lists
    • 🌠Advanced Tooling
      • cheqd Cosmos CLI for identity
        • Create a DID
        • Update a DID
        • Deactivate a DID
        • Query a DID
        • Create a DID-Linked Resource
        • Update a DID-Linked Resource
      • Direct interaction with ledger code
      • VDR Tools CLI with cheqd (deprecated)
      • Demo Wallet for Identity Setup
  • âš›ī¸Network
    • Get started with cheqd Network
      • Identity Write Pricing
      • Comparison to Hyperledger Indy
    • ⏊Setup your Wallet
      • Setup Leap Wallet
        • Congifure cheqd Testnet for Leap
      • Setup Keplr Wallet
      • Migrate from Keplr to Leap Wallet
    • â†Ēī¸Useful Tools and APIs
      • Block Explorer
      • Testnet Faucet
      • Validator Status API
      • Cheqd x Cosmos Data APIs
      • Cosmos Airdrop Helpers
      • Cosmos Address Convertor
      • Ethereum Bridge
    • âŦ†ī¸Network Upgrades
      • 2021
        • 0.1.x
        • 0.2.x
        • 0.3.x
      • 2022
        • 0.4.x
        • 0.5.x
        • 0.6.x
      • 2023
        • 1.x
      • 2024
        • 2.x
        • 3.x
      • Root Cause Analysis of Outages
        • v1.x upgrade RCA
  • âš–ī¸Legal
    • License
    • Code of Conduct
    • Security Policy
  • 🆘Support
    • System Status
    • Discord
    • Bugs & Feature Requests
Powered by GitBook
LogoLogo

General

  • Website
  • Blog
  • Get $CHEQ

Product Docs

  • Product Docs
  • cheqd Studio
  • Creds.xyz
  • Bug/Feature Requests

Technical Docs

  • Node Docs
  • GitHub
  • Block Explorer

Learning Docs

  • Learning Docs
  • Governance Docs
  • Governance Forum
  • Governance Explorer
On this page
  • Status
  • Summary
  • Architecture
  • Internal Secret Mode
  • External Secret Mode
  • Client Managed Secret Mode
  • DID Operations
  • Create
  • Update
  • Deactivate
  • Resource Operations
  • Create
  • References

Was this helpful?

Edit on GitHub
Export as PDF
  1. Architecture
  2. List of ADRs

ADR 004: DID Registrar

Architecture Decision Record (ADR) detailing cheqd's implementation of its DID Registrar.

Last updated 1 month ago

Was this helpful?

Status

Category
Status

Authors

Daev Mithran

ADR Stage

ACCEPTED

Implementation Status

Implemented

Start Date

2023-01-30

Last Updated

2023-01-30

Summary

The defines how DIDs are created and read from ledger. According to the , DID methods are expected to provide .

The is designed to implement the for method to enable create/update/deactivate DID operations easily.

The also supports the creation of for example, schemas, credential definitions, status lists, trust registries and logos.

Architecture

The DID create/update/deactivate functions raise architectural questions around key management, since they typically involve the generation and use of private keys and other secrets.

The DID registrar can operate in the following modes:

  1. Internal Secret Mode

  2. External Secret Mode

  3. Client Managed Secret Mode

Internal Secret Mode

In this mode, the DID Registrar is responsible for generating the DID controller cryptogprahic keys used in DID operations. Therefore, a DID Registrar used in this mode is considered a highly trusted component which should be fully under the control of a DID controller. If it is operated as a remotely hosted service, secure connection protocols such as TLS, DIDComm, etc. MUST be used.

External Secret Mode

In this mode, the DID Registrar does not itself have access to the cryptographic keys used in DID operations, but it has a way of accessing an external wallet in order to perform cryptographic operations such as generating signatures.

Client Managed Secret Mode

In this mode, the DID Registrar does not itself have access to the cryptographic keys used in DID operations, but it will ask the client to perform operations such as generating keys and signatures in a separate action from using the Registrar.

In the above diagram you can see the following steps

  1. Request Operation

    • The client requests a DID operation providing the required fields

  2. Return JobId and Serialized Payload

    • The registrar responds with a JobId and a base64 encoded serialized payload

    • The serialized payload should be signed by all the verificationMethods belonging to the controllers of the DID Document

  3. Submit JobId and SigningResponse

    • Submit the JobId and the SigningResponse's to the same api

  4. Validate signature and Complete Operation

    • The registrar validates the signature for the provided DID Document

    • Submits the DID operation request to the network

DID Operations

Create

The payload can also be created using our helper endpoint /1.0/did-document, which requires the following options to construct the DID Document payload

  1. Verification Method Type

  2. Method Specific Algorithm

  3. Network

  4. PublicKey Hex encoded string

Request Operation
{
	"didDocument": {
		"id": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
		"controller": [
			"did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411"
		],
		"verificationMethod": [{
			"id": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
			"type": "Ed25519VerificationKey2020",
			"controller": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
			"publicKeyMultibase": "z6MknkzLUEP5cxqqsaysNMWoh8NJRb3YsowTCj2D6yhwyEdj"
		}],
		"authentication": [
			"did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1"
		]
	}
}
Response
{
  "jobId": "54d1b72a-ec50-4648-b031-aaa3c6c7ed40",
  "didState": {
    "did": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
    "state": "action",
    "action": "signPayload",
    "description": "Please sign the following payload with the keys in verificationMethod and add the signingResponse in secret",
    "signingRequest": [
      {
        "kid": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
        "type": "Ed25519VerificationKey2020",
        "alg": "EdDSA",
        "serializedPayload": "EjZkaWQ6Y2hlcWQ6dGVzdG5ldDpiODQ4MTdiOC00M2VlLTQ0ODMtOThjNS1mMDM3NjA4MTY0MTEaNmRpZDpjaGVxZDp0ZXN0bmV0OmI4NDgxN2I4LTQzZWUtNDQ4My05OGM1LWYwMzc2MDgxNjQxMSLEAQo8ZGlkOmNoZXFkOnRlc3RuZXQ6Yjg0ODE3YjgtNDNlZS00NDgzLTk4YzUtZjAzNzYwODE2NDExI2tleS0xEhpFZDI1NTE5VmVyaWZpY2F0aW9uS2V5MjAyMBo2ZGlkOmNoZXFkOnRlc3RuZXQ6Yjg0ODE3YjgtNDNlZS00NDgzLTk4YzUtZjAzNzYwODE2NDExIjB6Nk1rbmt6TFVFUDVjeHFxc2F5c05NV29oOE5KUmIzWXNvd1RDajJENnlod3lFZGoqPGRpZDpjaGVxZDp0ZXN0bmV0OmI4NDgxN2I4LTQzZWUtNDQ4My05OGM1LWYwMzc2MDgxNjQxMSNrZXktMWIkNTRhYTQ5YzEtYjIwMi00YWViLWFiM2EtMmE2MDljMWU0MGYw"
      }
    ],
    "secret": {
      "signingResponse": [
        "e.g. { verificationMethodId: did:cheqd:testnet:qsqdcansoica#key-1, signature: aca1s12q14213casdvaadcfas }"
      ]
    }
  }
}
Submit Signature
{
	"jobId": "54d1b72a-ec50-4648-b031-aaa3c6c7ed40",
	"secret": {
		"signingResponse": [{
			"verificationMethodId": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
			"signature": "9Cmk0ATyr0niF2WLs8CjTfPCXIZcsjw80JsRpTT5gvcOruFvrSJu6NVwLW5psQaXFoixuOQE9uolb3N-xKnfCQ"
		}]
	}
}
Response
{
  "jobId": "54d1b72a-ec50-4648-b031-aaa3c6c7ed40",
  "didState": {
    "did": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
    "state": "finished",
    "secret": {
      "signingResponse": [
        {
          "verificationMethodId": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
          "signature": "9Cmk0ATyr0niF2WLs8CjTfPCXIZcsjw80JsRpTT5gvcOruFvrSJu6NVwLW5psQaXFoixuOQE9uolb3N-xKnfCQ"
        }
      ]
    },
    "didDocument": {
      "id": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
      "controller": [
        "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411"
      ],
      "verificationMethod": [
        {
          "id": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
          "type": "Ed25519VerificationKey2020",
          "controller": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
          "publicKeyMultibase": "z6MknkzLUEP5cxqqsaysNMWoh8NJRb3YsowTCj2D6yhwyEdj"
        }
      ],
      "authentication": [
        "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1"
      ]
    }
  }
}

Update

Endpoint: /1.0/update

Only setDidDocument operation is supported in the cheqd-did-registrar. To update a DID Document, fetch the body of the DID Document you want to change from the DID Resolver, make the relevant updates and pass it to the request operation.

Request Operation
{
	"did": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
	"didDocumentOperation": [
		"setDidDocument"
	],
	"didDocument": [{
		"id": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
		"controller": [
			"did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411"
		],
		"verificationMethod": [{
			"id": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
			"type": "Ed25519VerificationKey2020",
			"controller": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
			"publicKeyMultibase": "z6MknkzLUEP5cxqqsaysNMWoh8NJRb3YsowTCj2D6yhwyEdj"
		}],
		"authentication": [
			"did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1"
		],
		"service": [{
			"id": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#rand",
			"type": "rand",
			"serviceEndpoint": [
				"https://rand.in"
			]
		}]
	}]
}
Response
{
  "jobId": "a28cd684-3ed6-43fe-9066-90b32345bd40",
  "didState": {
    "did": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
    "state": "action",
    "action": "signPayload",
    "description": "Please sign the following payload with the keys in verificationMethod and add the signingResponse in secret",
    "signingRequest": [
      {
        "kid": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
        "type": "Ed25519VerificationKey2020",
        "alg": "EdDSA",
        "serializedPayload": "EjZkaWQ6Y2hlcWQ6dGVzdG5ldDpiODQ4MTdiOC00M2VlLTQ0ODMtOThjNS1mMDM3NjA4MTY0MTEaNmRpZDpjaGVxZDp0ZXN0bmV0OmI4NDgxN2I4LTQzZWUtNDQ4My05OGM1LWYwMzc2MDgxNjQxMSLEAQo8ZGlkOmNoZXFkOnRlc3RuZXQ6Yjg0ODE3YjgtNDNlZS00NDgzLTk4YzUtZjAzNzYwODE2NDExI2tleS0xEhpFZDI1NTE5VmVyaWZpY2F0aW9uS2V5MjAyMBo2ZGlkOmNoZXFkOnRlc3RuZXQ6Yjg0ODE3YjgtNDNlZS00NDgzLTk4YzUtZjAzNzYwODE2NDExIjB6Nk1rbmt6TFVFUDVjeHFxc2F5c05NV29oOE5KUmIzWXNvd1RDajJENnlod3lFZGoqPGRpZDpjaGVxZDp0ZXN0bmV0OmI4NDgxN2I4LTQzZWUtNDQ4My05OGM1LWYwMzc2MDgxNjQxMSNrZXktMWIkNTRhYTQ5YzEtYjIwMi00YWViLWFiM2EtMmE2MDljMWU0MGYw"
      }
    ],
    "secret": {
      "signingResponse": [
        "e.g. { verificationMethodId: did:cheqd:testnet:qsqdcansoica#key-1, signature: aca1s12q14213casdvaadcfas }"
      ]
    }
  }
}
Submit Signature
{
	"jobId": "a28cd684-3ed6-43fe-9066-90b32345bd40",
	"secret": {
		"signingResponse": [{
			"verificationMethodId": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
			"signature": "w7TVYHFgVtxA_k_V-Oa2o4tgg2mXhGoA1ZPsQxohCq2Yu2HKifC_hiTtmzconsmSte2uJdA51TBnKHv2OOkbBQ"
		}]
	}
}
Response
{
  "jobId": "a28cd684-3ed6-43fe-9066-90b32345bd40",
  "didState": {
    "did": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
    "state": "finished",
    "secret": {
      "signingResponse": [
        {
          "verificationMethodId": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
          "signature": "w7TVYHFgVtxA_k_V-Oa2o4tgg2mXhGoA1ZPsQxohCq2Yu2HKifC_hiTtmzconsmSte2uJdA51TBnKHv2OOkbBQ"
        }
      ]
    },
    "didDocument": {
      "id": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
      "controller": [
        "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411"
      ],
      "verificationMethod": [
        {
          "id": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
          "type": "Ed25519VerificationKey2020",
          "controller": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
          "publicKeyMultibase": "z6MknkzLUEP5cxqqsaysNMWoh8NJRb3YsowTCj2D6yhwyEdj"
        }
      ],
      "authentication": [
        "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1"
      ],
      "service": [
        {
          "id": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#rand",
          "type": "rand",
          "serviceEndpoint": [
            "https://rand.in"
          ]
        }
      ]
    }
  }
}

Deactivate

Endpoint: /1.0/deactivate

Request Operation
{
  "did": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411"
}
Response
{
  "jobId": "01dbd549-1344-4d3a-b438-36ca6c66159b",
  "didState": {
    "did": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
    "state": "action",
    "action": "signPayload",
    "description": "Please sign the following payload with the keys in verificationMethod and Add the signingResponse in secret",
    "signingRequest": [
      {
        "kid": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
        "type": "Ed25519VerificationKey2020",
        "alg": "EdDSA",
        "serializedPayload": "CjZkaWQ6Y2hlcWQ6dGVzdG5ldDpiODQ4MTdiOC00M2VlLTQ0ODMtOThjNS1mMDM3NjA4MTY0MTESJDFjNDZjYjkxLTZkMmUtNDMxMC04ZTk0LWI1YWNlODlmZWI4Mg=="
      }
    ],
    "secret": {
      "signingResponse": [
        "e.g. { verificationMethodId: did:cheqd:testnet:qsqdcansoica#key-1, signature: aca1s12q14213casdvaadcfas }"
      ]
    }
  }
}
Submit Signature
{
	"jobId": "01dbd549-1344-4d3a-b438-36ca6c66159b",
	"secret": {
		"signingResponse": [{
			"verificationMethodId": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
			"signature": "64FTNMfwnHGh2tq9YatdMdTlT1-5f34RvD_gVHVK-XF5ALE1WX_TO9U17WpBB3ZJ3PFdc1KocT7eEqdSTi5wCA"
		}]
	}
}
Response
{
  "jobId": "01dbd549-1344-4d3a-b438-36ca6c66159b",
  "didState": {
    "did": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411",
    "state": "finished",
    "secret": {
      "signingResponse": [
        {
          "verificationMethodId": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
          "signature": "64FTNMfwnHGh2tq9YatdMdTlT1-5f34RvD_gVHVK-XF5ALE1WX_TO9U17WpBB3ZJ3PFdc1KocT7eEqdSTi5wCA"
        }
      ]
    },
    "didDocument": {
      "id": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411"
    }
  }
}

Resource Operations

Create

Endpoint: /1.0/{:did}/create-resource

Provide an existing DID as the path parameter, and the request body with resource name, type and base64 encoded data

Request Operation
{
  "data": "SGVsbG8gV29ybGQ=",
  "name": "ResourceName",
  "type": "TextDocument"
}
Response
{
  "jobId": "37e4c98e-d876-4e7b-b113-20ae3620174a",
  "resourceState": {
    "did": "b84817b8-43ee-4483-98c5-f03760816411",
    "state": "action",
    "action": "signPayload",
    "description": "Please sign the following payload with the keys in verificationMethod of the DID used in the path and add the signingResponse in secret",
    "signingRequest": [
      {
        "kid": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
        "type": "Ed25519VerificationKey2020",
        "alg": "EdDSA",
        "serializedPayload": "CgtIZWxsbyBXb3JsZBIkYjg0ODE3YjgtNDNlZS00NDgzLTk4YzUtZjAzNzYwODE2NDExGiRjYjk1MGUyNy0yZDNmLTQzOWEtYjA1Yy03ZjZmOTMzMTJiM2IiDFJlc291cmNlTmFtZTIMVGV4dERvY3VtZW50"
      }
    ],
    "secret": {
      "signingResponse": [
        "e.g. { verificationMethodId: did:cheqd:testnet:qsqdcansoica#key-1, signature: aca1s12q14213casdvaadcfas }"
      ]
    }
  }
}
Submit Signature
{
	"jobId": "37e4c98e-d876-4e7b-b113-20ae3620174a",
	"secret": {
		"signingResponse": [{
			"verificationMethodId": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
			"signature": "kxS7026RkqvY_etCdj_SHHDRisMQM-Vs8BG4h3yIPathzj5GPs_LmA0Ve5Z6U00fdu4K5gaDC_x3WUJXfnRhBg"
		}]
	}
}
Response
{
  "jobId": "37e4c98e-d876-4e7b-b113-20ae3620174a",
  "resourceState": {
    "resourceId": "cb950e27-2d3f-439a-b05c-7f6f93312b3b",
    "state": "finished",
    "secret": {
      "signingResponse": [
        {
          "verificationMethodId": "did:cheqd:testnet:b84817b8-43ee-4483-98c5-f03760816411#key-1",
          "signature": "kxS7026RkqvY_etCdj_SHHDRisMQM-Vs8BG4h3yIPathzj5GPs_LmA0Ve5Z6U00fdu4K5gaDC_x3WUJXfnRhBg"
        }
      ]
    },
    "resource": {
      "collectionId": "b84817b8-43ee-4483-98c5-f03760816411",
      "id": "cb950e27-2d3f-439a-b05c-7f6f93312b3b",
      "name": "ResourceName",
      "resourceType": "TextDocument",
    }
  }
}

References

The cheqd DID Registrar only supports the , considering the security and scalability of the registrar. The workflow for all the operations follows the protocol below:

Endpoint: /1.0/create Provide a DID Document payload according to the in the request body.

recommendation

specification

guide

đŸ—ī¸
🟠
âœ”ī¸
did:cheqd method ADR
W3C DID Core specification
standards-compliant methods of DID and DID Document ("DIDDoc") production
cheqd DID Registrar
DIF Registrar specification
did:cheqd
cheqd DID Registrar
DID-Linked Resources
Client Managed Secret Mode
w3c did core specification
W3C Decentralized Identifiers (DIDs)
DIF DID Registrar
Universal Registrar driver development
DID-Linked Resources
Full cheqd DID Registrar sequence diagram