Your agents are using
your identity.

ADTP gives every agent its own cryptographic key, its own delegation chain, and provably-complete revocation. Single binary. Open protocol.

v0.1.0-alpha
$ go install github.com/Zahanturel/adtp/cmd/adtpd@latest
Read the protocol →
your credentials
Agent A
Agent B
Agent C
Agent D

They inherit your credentials. Every agent operates as you.

Agent A
Agent B
Agent C
Agent D

They delegate to each other. No record. No visibility.

Root
Agent A
Agent B
Agent C

You revoke access. The downstream agents keep running.

Issue. Restrict. Verify. Revoke.

Platform Root
did:key:z6MkhaX...
issue
Agent A
did:key:z6MkpTH...
read, write, delegate
restrict
Agent B
did:key:z6Mkf4G...
read
restrict

Thirteen steps between a claim and its execution.

01Chain construction
02Structural validation
03Issuer-audience linkage
04Root trust verification
05Ed25519 signature verification
06Temporal bounds check
07Revocation status
08Capability attenuation
09Authorization matching
10Cross-org policy evaluation
11Proof of possession
12Registration check
13Audit trail
restrict mode

Escalation is structurally impossible.

RESTRICT mode enforces capability attenuation at every delegation step. A child credential can only narrow its parent's permissions — never widen them. This is not a policy check. It is an invariant enforced at issuance and verified at step 8 of the pipeline.

cascade revocation

Revoke one. Kill every descendant.

A registration invariant guarantees that when a credential is revoked, every descendant is already dead. Not a background job. Not eventual consistency. Mathematical completeness, verified at the storage layer.

cross-org trust

Your agents. Their agents. No shared IAM.

Bilateral agreements between organizations. Non-transitive and depth-bounded. Organization A's agents work with Organization B's agents under auditable policy — evaluated at step 10 — without exposing either side's internal identity infrastructure.

Drops into your stack.

Identity
Entra, Okta, Auth0 via OIDC
Audit
Datadog, Splunk, Elastic via webhook
Runtime
Go daemon, single static binary, ~15 MB

Compatible with MCP, A2A, LangGraph, and CrewAI via REST API.

From clone to a registered agent.

# Clone and buildgit clone https://github.com/Zahanturel/adtp.gitcd adtp && make build# Run the daemon./adtpd --config config.yaml# adtpd listening on 127.0.0.1:8080# generated API key: abc123... copy this# Register an agentcurl -H "Authorization: Bearer <api-key>" \ -X POST localhost:8080/v1/agents \ -d '{"sponsor_did":"did:key:z6Mk..."}'

coming soon

Zerith Cloud

HSM-backed key custody, SLA-bounded revocation propagation, and managed delegation infrastructure — so you don't have to run the protocol yourself.

Self-host free forever. Pay when you need custody, compliance, and an SLA.