publish a did:prism
DID Registrar
Primitive: `POST /did-registrar/dids` with a document template (curve `secp256k1`, purposes `authentication` + `assertionMethod`) then `POST /did-registrar/dids/{didRef}/publications` — the Identus Cloud Agent mints a decentralised identifier the holder controls and publishes it so anyone can resolve it
UI: a one-tap identity button that mints a portable DID for the artist, studio, or work and shows its resolvable document
invitation → peer channel
DIDComm Connection
Primitive: `POST /connections` with `{ label, goalCode }` returns an out-of-band invitation URL; the other side calls `POST /connection-invitations` to accept, and both agents settle into a `ConnectionResponseSent` / `ConnectionResponseReceived` state over DIDComm
UI: a QR code or invitation link that pairs two people's wallets into a private, mutually-authenticated channel
signed verifiable credential
Credential Issuance
Primitive: `POST /issue-credentials/credential-offers` with `{ claims, issuingDID, credentialFormat: "JWT", automaticIssuance: true }` (connection-bound or connectionless with a `goalCode`) — the agent signs the claims with the issuer's published `assertionMethod` key and returns a verifiable credential the holder keeps
UI: an issue button that turns a fact — a credit, a licence, a role, a provenance record — into a signed credential in the recipient's wallet
verify without the middleman
Proof Presentation
Primitive: `POST /present-proof/presentations` creates a presentation request with the claims and trusted issuers you demand; the holder answers from their wallet and the verifier polls the record until `PresentationVerified` — optionally selective-disclosure or zero-knowledge so only the predicate (over-18, member-in-good-standing) is revealed
UI: a verification gate that checks a credential at the door — no callbacks to the issuer, no personal data copied into your database