Introducing AgentPin - Cryptographic Identity for AI Agents

ThirdKey · February 13, 2026

AI agents are increasingly acting on our behalf — reading email, writing code, managing infrastructure, negotiating with other agents. But there’s a fundamental gap in this ecosystem: when an agent claims to be “Scout v2 from Tarnover LLC,” how does anyone verify that claim?

Today we’re introducing AgentPin — a domain-anchored cryptographic identity protocol for AI agents. AgentPin is the second layer in the ThirdKey trust stack, sitting between SchemaPin (tool integrity) and Symbiont (runtime policy enforcement).

The Problem: Agent Identity is Self-Asserted

In today’s agent ecosystem, identity is essentially honor-system. An agent says who it is, and everyone trusts that claim. This creates several critical attack vectors:

  • Agent Impersonation: A malicious agent claims to be a trusted internal agent, gaining access to sensitive systems
  • Unauthorized Delegation: An agent claims it was authorized by another agent when no such delegation exists
  • Phantom Agents: Agents with no verifiable provenance operate freely within an organization
  • Capability Inflation: An agent authorized for read-only access claims write permissions

These aren’t theoretical risks. As multi-agent systems grow — agents calling agents, delegating tasks, sharing context — the attack surface expands exponentially. Without cryptographic identity verification, a single impersonating agent can compromise an entire agent network.

The Solution: Domain-Anchored Cryptographic Identity

AgentPin solves this by anchoring agent identity to domain ownership, using the same trust model that secures the web. Organizations publish cryptographic identity documents at well-known HTTPS endpoints, issue short-lived credentials to their agents, and verifiers check those credentials against the published documents.

No centralized registry. No blockchain. Just ECDSA P-256 signatures and DNS — infrastructure that already exists.

Verifying PartyAI AgentOrganization(example.com)Verifying PartyAI AgentOrganization(example.com) Generate ES256 keypairPublish /.well-known/agent-identity.jsonIssue signed credential (JWT)Present credentialFetch discovery document (HTTPS)Verify ES256 signatureCheck capabilities & constraintsTOFU key pinningIdentity verified

How AgentPin Works

Discovery Documents

Organizations publish agent identity documents at /.well-known/agent-identity.json. These documents declare the organization’s public keys, registered agents, their capabilities, and constraints:

{
  "issuer": "example.com",
  "keys": [{
    "kid": "example-2026-01",
    "kty": "EC",
    "crv": "P-256",
    "x": "...",
    "y": "..."
  }],
  "agents": [{
    "agent_id": "urn:agentpin:example.com:scout",
    "name": "Scout Agent",
    "status": "active",
    "capabilities": ["read:codebase", "write:reports"],
    "constraints": {
      "max_data_classification": "internal"
    }
  }]
}

Agent Credentials

Agents carry short-lived ES256 JWTs — signed by the organization’s private key, verifiable by anyone with access to the discovery document. Credentials include the agent’s identity, scoped capabilities, and expiration:

eyJhbGciOiJFUzI1NiIsInR5cCI6ImFnZW50cGluLWNyZWRlbnRpYWwrand0Iiwia2lkIjoiZXhhbXBsZS0yMDI2LTAxIn0...

Decoded, this contains:

{
  "iss": "example.com",
  "sub": "urn:agentpin:example.com:scout",
  "capabilities": ["read:codebase", "write:reports"],
  "exp": 1739500800,
  "iat": 1739497200,
  "jti": "unique-credential-id"
}

Credentials are deliberately short-lived (recommended 1 hour or less) to limit the blast radius of a compromise.

12-Step Verification

Verification is rigorous and deterministic. The protocol specifies 12 ordered steps — from JWT parsing through signature verification, revocation checking, capability validation, delegation chain verification, and TOFU key pinning. Every step must pass for a credential to be accepted.

This isn’t just signature checking. The verifier confirms that the agent is active, that claimed capabilities are a subset of what the organization declared, that constraints are at least as restrictive as the organization’s policy, and that the signing key hasn’t been seen before under a different domain (TOFU pinning).

Revocation

Organizations publish a separate revocation document at /.well-known/agent-identity-revocations.json with three levels of granularity:

  • Credential revocation: Revoke a specific credential by its jti
  • Agent revocation: Revoke all credentials for a specific agent
  • Key revocation: Revoke an entire signing key (emergency rotation)

Revocation documents are cached for at most 300 seconds, enabling rapid response to compromise.

The Trust Stack

AgentPin doesn’t operate in isolation. It’s the identity layer in a three-layer trust architecture:

Layer Protocol Question
Tool Integrity SchemaPin Are this agent’s tools legitimate and untampered?
Agent Identity AgentPin Is this agent who it claims to be?
Runtime Policy Symbiont Does policy allow this agent to perform this action?

SchemaPin verifies that the tools an agent uses haven’t been tampered with. AgentPin verifies that the agent itself is legitimate and authorized. Symbiont enforces runtime policy based on both verifications. Together, they provide zero-trust security for the entire agent lifecycle.

The protocols share infrastructure by design: same cryptography (ECDSA P-256), same discovery pattern (.well-known endpoints), same TOFU model. Discovery documents cross-reference each other — an AgentPin document can include a schemapin_endpoint field, enabling verifiers to check both identity and tool integrity in a single flow.

Quick Start

Generate Keys and Issue a Credential

# Generate an ES256 keypair
agentpin keygen \
  --domain example.com \
  --kid example-2026-01 \
  --output-dir ./keys

# Issue a credential for an agent
agentpin issue \
  --private-key ./keys/example-2026-01.private.pem \
  --kid example-2026-01 \
  --issuer example.com \
  --agent-id "urn:agentpin:example.com:scout" \
  --capabilities "read:codebase,write:reports" \
  --ttl 3600

Verify a Credential

# Online verification (fetches discovery document from .well-known)
agentpin verify --credential <jwt>

# Offline verification (uses local discovery document)
agentpin verify \
  --credential <jwt> \
  --discovery ./agent-identity.json \
  --pin-store ./pins.json

Serve Discovery Documents

# Start the .well-known endpoint server
agentpin-server \
  --discovery ./agent-identity.json \
  --revocation ./revocations.json \
  --port 8080

Cross-Language Support

AgentPin ships with implementations in Rust, JavaScript, and Python — all producing interoperable credentials. A JWT issued in Python verifies identically in Rust or JavaScript.

  • Rust: Core library with no mandatory HTTP dependency, plus CLI and Axum server
  • JavaScript: Zero external dependencies, runs in Node.js and browsers
  • Python: Uses the cryptography library for ECDSA operations

Enterprise Features

Trust Bundles

For air-gapped or high-security environments, AgentPin supports trust bundles — pre-packaged collections of discovery and revocation documents that can be distributed out-of-band. This enables offline verification without any network calls.

Delegation Chains

AgentPin supports a two-layer delegation model: a Maker (the software developer who created the agent) and a Deployer (the organization running a specific instance). Each layer is cryptographically attested, and capabilities can only narrow through delegation — never widen.

Mutual Authentication

Both parties can verify each other through a challenge-response protocol with 128-bit nonces. The agent proves its identity to the service, and the service proves its identity to the agent. Nonces expire in 60 seconds, preventing replay attacks.

Getting Started

AgentPin is open source and available today:

The specification is comprehensive and implementation-ready, with detailed security considerations, error handling guidance, and interoperability requirements.

What’s Next

As multi-agent systems move from research to production, cryptographic identity becomes non-negotiable infrastructure. Without it, every agent interaction is built on trust assumptions that attackers can exploit.

AgentPin provides the identity foundation. Combined with SchemaPin for tool integrity and Symbiont for runtime enforcement, it enables organizations to deploy autonomous agents with the same cryptographic guarantees they expect from human-facing systems.


AgentPin is part of ThirdKey Research’s Zero Trust for AI initiative. Learn more at research.thirdkey.ai.


Twitter, Facebook