Skip to content
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.

IdentityA portable identity. An explicit origin.
§ 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 parsing, signatures and configured authority checks

06

Local identities, owner chains and explicitly trusted self roots

§ 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)

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.

Current public SDK
npm install @openagentid/sdk@0.7.2
Read the integration guide →

Start building with OAS.

Read the documentation or explore the source.