Get a DID

Not available today

A DID is a did:msg identity registered on MSGChain. Creating one needs MSG to pay the chain fee, and there is no end-user way to obtain MSG yet, so read this as a specification walkthrough rather than a working sign-up.

Journey statusNot available today

Why this is blocked today

  • userCreatesDid There is no end-user path to obtain MSG, so no ordinary user can pay to create a DID. The login chain therefore starts broken; pending a product decision.

Reason taken from status.json#capabilities — not written by hand for this page.

Steps

  1. 1What a DID is

    Works today

    A DID is an identifier of the form did:msg:<suffix>. Its document holds a controller, one or more verification methods, and an authentication list.

    AIDID uses CRYSTALS-Dilithium-5 (round-3) keys: public key 2592 bytes, signature 4595 bytes. The private key never leaves the user's device; a login is one signature over a canonical text message.

    The shapes are frozen in machine-readable schemas, so read did-document, msg-did and canonical-resolve in the schemas index before writing any code.

  2. 2Registering a DID needs MSG, and no user can get MSG today

    Not available today

    Registering a DID is a chain write (register_did on the chain's DID registry) that costs a chain fee paid in the native umsg denomination.

    There is no public faucet and no end-user path to obtain MSG. An ordinary user therefore cannot create a DID, and the login chain starts broken; this is recorded as the unavailable capability userCreatesDid in status.json.

    Do not build a sign-up flow that assumes the user already holds a DID and MSG. The honest status today is fail-closed.

    Why this is blocked today

    • userCreatesDid There is no end-user path to obtain MSG, so no ordinary user can pay to create a DID. The login chain therefore starts broken; pending a product decision.

    Reason taken from status.json#capabilities — not written by hand for this page.

  3. 3Chain writes wait for the window parameters

    Not available today

    Any chain write, including DID registration, update and deactivation, or deploying the identity contract, is blocked until MSGChain releases its window parameters. Mainnet is No-Go and no contract is deployed; the blocked capability is chainWrite.

    What you can do today instead: design against the specs and the JSON Schemas, and rehearse everything that does not need a chain in the offline demo.

    Why this is blocked today

    • chainWrite Chain write paths (and the stage-B identity contract) await the chain-side window parameters. Mainnet is No-Go and no contract is deployed.

    Reason taken from status.json#capabilities — not written by hand for this page.