DID Document Schema
The DID Document is the core data structure in the did:adi method. It describes the subject of the DID, including its public keys, authentication methods, service endpoints, and capabilities.
JSON-LD Context
Every did:adi DID Document uses the following JSON-LD contexts:
The IDA-specific context (https://ida.infinia.io/ns/did/v1) adds:
- Agent-specific properties (operator, model, capabilities)
- ADI blockchain metadata
- IBCT capability invocation extensions
Full DID Document Schema
Person / Organization DID Document
Agent DID Document
Agent DID Documents extend the base schema with agent-specific properties:
Property Reference
Core Properties
Agent Extension Properties
Service Endpoint Types
Verification Method Types
Ed25519VerificationKey2020
- Encoding: Multibase (base58-btc, prefix
z) - Key size: 32 bytes (256 bits)
- Usage: Authentication, assertion, capability invocation/delegation
EcdsaSecp256k1VerificationKey2019
- Encoding: Multibase (base58-btc, prefix
z) - Key size: 33 bytes (compressed, 264 bits)
- Usage: Authentication, blockchain-native operations
X25519KeyAgreementKey2020
- Encoding: Multibase (base58-btc, prefix
z) - Usage: Diffie-Hellman key agreement for DIDComm encryption
Bls12381G2Key2020
- Encoding: Base58
- Usage: BBS+ signatures for selective disclosure
Validation Rules
A did:adi DID Document is valid if and only if:
@contextincludes"https://www.w3.org/ns/did/v1"as the first entryidis a validdid:adiidentifier per the ABNF grammar- At least one
verificationMethodexists - At least one
authenticationrelationship references a valid verification method - All referenced verification method IDs resolve to entries in
verificationMethod controlleris a valid DID (same or different fromid)- For agent DIDs:
agentobject is present with all required fields - For agent DIDs:
agent.operatorreferences a valid non-agent DID createdandupdatedare valid ISO 8601 timestampsversionIdis a positive integer