LoomalLoomal
Concepts

Decentralized Identity (DID)

How Loomal uses did:web for verifiable agent identity

Every Loomal identity gets an Ed25519 key pair and a W3C DID — a globally unique, cryptographically verifiable identifier.

DID Format

did:web:api.mailgent.dev:identities:id-abc123

This resolves to a DID Document at:

https://api.loomal.ai/identities/id-abc123/did.json

DID Document

{
  "@context": ["https://www.w3.org/ns/did/v1"],
  "id": "did:web:api.mailgent.dev:identities:id-abc123",
  "verificationMethod": [{
    "id": "did:web:...#key-1",
    "type": "Ed25519VerificationKey2020",
    "publicKeyMultibase": "z6Mkf5rG..."
  }],
  "authentication": ["did:web:...#key-1"],
  "service": [{
    "type": "EmailService",
    "serviceEndpoint": "mailto:sales-x3unq@mailgent.dev"
  }]
}

How It Works

  1. Key generation: When you create an identity, Loomal generates an Ed25519 key pair
  2. Private key: Encrypted with AES-256-GCM and stored in the vault — only accessible via identity.sign
  3. Public key: Published in the DID Document, publicly accessible
  4. Signing: Your agent calls identity.sign to sign data with its private key
  5. Verification: Anyone resolves the DID Document, gets the public key, and verifies the signature

Why DID?

  • Cryptographic proof: An agent can prove it is who it claims to be
  • No central authority: Verification uses standard HTTPS — no special infrastructure needed
  • Interoperable: Works with any system that supports did:web resolution
  • Linked to email: The DID Document references the agent's email address, tying DKIM-verified email identity to cryptographic identity

MCP Tools

ToolDescription
identity.whoamiGet your DID, name, email, and scopes
identity.signSign data with your Ed25519 private key
identity.verifyVerify a signature against any did:web identity

On this page