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.
Lines of code
22.7K
Crates
9
Languages
Rust · TypeScript
Primitives
4
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 parse, signature, and Sigil-backed authority checks
Local base identity checks with fail-closed privileged authority
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
Available in
Rust · TypeScript
Install
$cargo add oas-sdk$npm i @openagentid/oas-sdk