Open Agent Specification
OAS
The reference implementation of the Open Agent Specification. Defines the did:oas method, entity kinds, lineage model, DID document creation, resolution, and verification behind the OpenAgent SDK facade.
did:oas DID method with 12 entity kinds
HKDF-SHA256 deterministic child key derivation
Cryptographic lineage proofs (AgentLineageProof2025)
W3C Verifiable Credentials attestation
Conformance levels for parsing, signatures and configured authority checks
Local identities, owner chains and explicitly trusted self roots
Inside OAS.
Every crate in the OAS workspace, what it does, and how it fits together.
oas-did
3.2K LOC
DID parsing, validation, and URI construction. Handles the did:oas:<namespace>:<kind>:<id> format with all 11 entity kinds.
oas-crypto
4.1K LOC
Ed25519 key generation, HKDF-SHA256 derivation, BLAKE3 hashing, and JCS canonicalization. All keys implement ZeroizeOnDrop.
oas-document
3.8K LOC
DID Document builder with verification methods, service endpoints, and authentication relationships. Designed against W3C DID Core.
oas-lineage
2.9K LOC
AgentLineageProof2025 creation and typed authorizing verification. Structural prechecks are internal and non-authorizing.
oas-resolve
2.4K LOC
DID resolution with pluggable resolvers. Supports local, HTTP, and DHT resolution backends.
oas-attestation
2.1K LOC
W3C Verifiable Credentials and trust attestation creation. Ed25519Signature2020 proof suite.
oas-sdk
1.2K LOC
Rust facade re-exporting the OAS crates used by the OpenAgent SDK for DID and lineage operations.
@openagentid/sdk
— LOC
TypeScript OpenAgent facade that uses OAS identity together with AEGIS verification and Arsenal credentials.
Cryptography
Reference languages
Rust · TypeScript
Integration path
Start with the public identity SDK.
The current TypeScript package creates and verifies local agent identities. The Rust components described above have their own source, dependencies and release tracks.
npm install @openagentid/sdk@0.7.2