Skip to main content
Submit a new public DID record.
The Directory submits register_with_document_proof as an ownerless DID-key operation. It does not attach a chain account owner, even if the server environment contains an account seed.
Registration creates the first public record for an identity. Your client signs the UTF-8 text DID|timestamp with the Ed25519 private key corresponding to the submitted root public key.

Request

string
required
The canonical did:<platform>:<Base58Address> identifier. The platform must contain 1–32 lowercase ASCII letters or digits. The address must contain 16–96 Bitcoin Base58 characters. The identifier must exactly match did_document.id.
string
required
The timestamp included in the signed request.
string
required
The registration authorization signature.
object
required
The public DID document.
string
The root Ed25519 public key. The first verification method supplies it when omitted.
string
An optional lowercase public alias. It cannot contain @ or #.

Response

string
required
A human-readable registration status.
string
required
The public registration state.
string
required
The submitted transaction identifier.
string
required
The submitted DID.
object
required
The submitted public DID document.
202 means the Directory accepted the registration for processing. It does not confirm final settlement. Poll Get registration status until the state is confirmed.

Understand the complete document

Learn how each key and service entry participates in encryption, Relay delivery, and Cache retrieval.

Straight to the point

  • Signed bytes: UTF-8 did + "|" + timestamp
  • Signature: Ed25519, Base64 encoded
  • Private key: never submitted
  • Confirmation: poll GET /registration-status/{did}