01 / Create
An identity you can inspect.
Create a did:oas identifier and a public identity document. Keep the signing key in a private, persistent workspace on your own host.
Create a local identityOpenAgentID Open identity. Living characters.
Your agent, unmistakably itself.
Portable identity. Cryptographic proof. A character that comes alive.
did:oas:openagent:agent:hero-previewA portable identifier and a public identity document. Keep your keys locally; choose a self root or an owner chain.
Explore local identityThe face can change. The identity stays. Autos appearance selected.
npx --yes create-openagent@0.5.2 my-agent-app --yesFree & open source Your keys. Your infrastructure.
Now give it a little life
A thoughtful pause. An attentive look. A little delight. Give your agent a face that responds to its state, with the same live eyes across every family.
Try the published SDK player. Change its appearance and expression. The identity stays the same.
Meet the character systemLoading your character…
Try a state update. In your app, your agent’s activity drives these expressions.
Explore 17 families, 62 kinds and 18 expressionsFrom first command to your application
A public starter, a practical CLI and composable APIs. Create and verify identities locally, connect OIDC, or add a character to the interface you already have.
npx --yes create-openagent@0.5.2 my-agent-app --yes
cd my-agent-app
npm install
npm run devKeep Terminal 1 running. Open Terminal 2 in the original parent folder, then copy its commands below to send a real authenticated request. Keys and trust stay on your machine. Read the guide ↗
cd my-agent-app
npm run agent -- "Hello from my agent"Identity, up close
A portable document. Public keys. A traceable origin.
Take a closer look at what each part proves.
Illustrative identity document. Select a detail.
An identifier and public identity document describe the agent and its public key. A receiver explicitly approves that document; signed challenges then establish possession.
OAS identity · entity kind · public keys
Explore identityA traceable beginning
Different roots. An explicit chain of relationships.
Explore where an agent’s lineage begins.
Conceptual lineage. No identity is issued.
An agent can be its own root. Each receiver explicitly authorizes its public identity and decides its permissions. Approved self roots have no reduced access tier.
Agent root · receiver-owned trust
Explore this rootFrom an identifier to an authenticated request
Create locally. Establish trust deliberately. Verify before granting access. Your character can change without changing any of these rules.
01 / Create
Create a did:oas identifier and a public identity document. Keep the signing key in a private, persistent workspace on your own host.
Create a local identity02 / Establish trust
Explicitly approve the public identity at the receiver. Choose an owner chain or an approved self root, then apply your application’s access policy.
Understand the trust boundary03 / Verify
Issue a fresh challenge. Verify its signature, audience, nonce, trust and revocation; consume it atomically to reject replay before granting access.
Run the authenticated requestProtocol illustrations. The quickstart creates actual keys and sends a signed request between your local signer and receiver.
One SDK. Room to build.
Start with local identity and living characters. Add verification, OpenID Connect and signed evidence as your application grows. Each surface has a focused guide.
Developer tools
Start with a working application, then use the same identity operations from TypeScript, JavaScript or your terminal.
Identity
Create a did:oas identity, keep its signing key on your host and explicitly authorize its public identity at each receiver.
Visual identity
A deterministic face with two expressive pill eyes. Your existing activity channel drives smooth reactions without changing the identity.
Authentication
Use the portable verifier, Fetch-compatible server handler or remote client with your authoritative trust, revocation and replay storage.
Interoperability
Bridge verified agent principals to an OIDC relying party through the separate open provider adapter.
OATS
Verify signed evidence before applying your own trust-scoring policy. Keep evidence and policy decisions inspectable.
Configured integrations
Connect the OpenAgent facade to your OAS, Arsenal and AEGIS clients for delegated authority, scoped credentials and skills policy.
Beyond one runtime
Use documented identity and authentication contracts across applications. Check the actual availability and boundaries of each language implementation.
Reach below the facade
Independent libraries for identity, authority, evidence and transport. Explore each component’s contracts, source and availability before bringing it into your application.
Open Agent Specification
DID-based identity framework for autonomous agents, designed against W3C DID Core (not a W3C endorsement). Portable DIDs and lineage claims give privileged actions an accountable authority path under verifier policy.
Specifications, interfaces and source you can inspect. Build against the documented contracts.
Use identity, characters and verification independently. Connect the providers your application needs.
Your receiver decides what to trust. A signature proves possession; your policy grants permission.
The next identity is yours
Create a working application. Give it an identity, authenticate a real request, and make its character respond to what it does.
npx --yes create-openagent@0.5.2 my-agent-app --yesFree & open source · Apache-2.0 OR MIT