GENKEYDIDDOC
All libraries

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

§ 01
Capabilities
01

did:oas DID method with 12 entity kinds

02

HKDF-SHA256 deterministic child key derivation

03

Cryptographic lineage proofs (AgentLineageProof2025)

04

W3C Verifiable Credentials attestation

05

Conformance levels for parse, signature, and Sigil-backed authority checks

06

Local base identity checks with fail-closed privileged authority

§ 02
8 crates

Inside OAS.

Every crate in the OAS workspace, what it does, and how it fits together.

01

oas-did

3.2K LOC

DID parsing, validation, and URI construction. Handles the did:oas:<namespace>:<kind>:<id> format with all 11 entity kinds.

02

oas-crypto

4.1K LOC

Ed25519 key generation, HKDF-SHA256 derivation, BLAKE3 hashing, and JCS canonicalization. All keys implement ZeroizeOnDrop.

03

oas-document

3.8K LOC

DID Document builder with verification methods, service endpoints, and authentication relationships. Designed against W3C DID Core.

04

oas-lineage

2.9K LOC

AgentLineageProof2025 creation and typed authorizing verification. Structural prechecks are internal and non-authorizing.

05

oas-resolve

2.4K LOC

DID resolution with pluggable resolvers. Supports local, HTTP, and DHT resolution backends.

06

oas-attestation

2.1K LOC

W3C Verifiable Credentials and trust attestation creation. Ed25519Signature2020 proof suite.

07

oas-sdk

1.2K LOC

Rust facade re-exporting the OAS crates used by the OpenAgent SDK for DID and lineage operations.

08

@openagentid/sdk

LOC

TypeScript OpenAgent facade that uses OAS identity together with AEGIS verification and Arsenal credentials.

§ 03
Surface

Cryptography

01Ed25519
02HKDF-SHA256
03BLAKE3
04JCS (RFC 8785)

Available in

Rust · TypeScript

Install

install · oasRust / TypeScript
$cargo add oas-sdk$npm i @openagentid/oas-sdk

Start building with OAS.

Read the documentation or explore the source.