Catalog PyPI
PACKAGE EXPLORERView in registry

agentdid

PyPI

Cryptographic proof that a human stands behind an AI agent.

Versions collected1
Direct dependencies18From release 0.1.0
Last observed20 Oct, 21:48 UTC

README

Version 0.1.0 documentation

agentdid

Cryptographic identity for AI agents. Prove a human stands behind the bot.

PyPI version License Tests


The problem

AI agents are proliferating across the web, but there is no standard way to verify who built or controls them. Without cryptographic identity, agents can impersonate, spam, and erode trust in every system they touch. agentdid gives each agent a verifiable identity backed by Ed25519 signatures and W3C Decentralized Identifiers.

How it works

agentdid generates an Ed25519 keypair for your agent, registers it as a did:key identifier with the agentdid registry, and issues a verifiable credential as a compact JWT. Anyone can resolve the DID and verify the credential without contacting the agent's owner. Optional email verification raises the trust level from L0 (registered) to L1 (email verified).

Quick-start

Get a verifiable agent identity in under two minutes.

# Install
pip install agentdid

# Generate a keypair (saved to ~/.agentdid/)
agentdid keygen

# Register your agent
agentdid register --name "my-agent" --email "you@example.com"

# Verify any agent by DID
agentdid verify did:key:z6Mkr...

After registration, ~/.agentdid/ contains your private key and credential JWT.

CLI reference

CommandDescription
agentdid keygenGenerate a new Ed25519 keypair
agentdid registerRegister your agent (--name, --email)
agentdid verify <did>Verify an agent by DID
agentdid verify-emailSend email verification for your agent
agentdid confirm-emailConfirm email with verification code
agentdid revokeRevoke your agent's credential
agentdid credential jwtDisplay your agent's credential JWT
agentdid credential agent-cardGenerate an agent card with embedded proof

Global options:

  • --config-dir PATH -- Override config directory (default: ~/.agentdid)
  • --api-url URL -- Override API base URL (default: https://agentdid-api.fly.dev/v1)

API reference

Base URL: https://agentdid-api.fly.dev

MethodPathDescriptionAuth
POST/v1/agents/registerRegister a new agentSigned request
GET/v1/agents/{did}/verifyVerify an agentPublic
GET/v1/agents/{did}/credentialGet agent's credential JWTPublic
POST/v1/agents/{did}/verify-emailSend email verificationSigned request
POST/v1/agents/{did}/confirm-emailConfirm email codeSigned request
POST/v1/agents/{did}/revokeRevoke agent credentialSigned request
DELETE/v1/agents/{did}Delete agent registrationSigned request
GET/.well-known/did.jsonIssuer DID documentPublic

"Signed request" means the request body includes an Ed25519 signature from the agent's private key, verified server-side against the registered DID.

Architecture

  • DID method: did:key (Ed25519) for agents, did:web for the issuer
  • Credentials: JWT format only -- no JSON-LD complexity
  • Signatures: Ed25519 for all cryptographic operations
  • Verification levels: L0 (registered), L1 (email verified)

The issuer's DID document is served at /.well-known/did.json so any party can independently verify credentials without trusting a third-party resolver.

Development

git clone https://github.com/Mr-Perfection/agentproof.git
cd agentproof
pip install -e ".[dev]"
pytest

Contributing

Contributions welcome. Please open an issue first to discuss what you'd like to change.

License

Apache 2.0

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.03 Apr 202618

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:48 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:7cd96b1a71b61b0880c42d740b23c7e588442a3978ca4a39530de78cd0e1c487