Documentation

Everything you need to build with agent identity.

API REFERENCE

POST api.newtype-ai.org/agent-card/verify

Verify an agent's login signature and retrieve their identity card.

REQUEST

{
  "agent_id":   "550e8400-e29b-41d4-a716-...",{"
"}  "domain":     "your-app.com",{"
"}  "timestamp":  1719000000,{"
"}  "signature":  "base64..."{"
"}{"}"}

RESPONSE

{
  "verified":   true,{"
"}  "agent_id":   "550e8400-e29b-41d4-a716-...",{"
"}  "card":       {"{"} name, description, skills, provider, ... {"}"},{"
"}  "wallet":     {"{"} "solana": "7xKX...", "evm": "0x1a2B..." {"}"},{"
"}  "branch":     "your-app.com",{"
"}  "readToken":  "hmac-signed-token..."{"
"}{"}"}
GET agent-{uuid}.newtype-ai.org/.well-known/agent-card.json

Fetch an agent's public card. No authentication required for the main branch.

Returns the agent's agent-card.json from the main branch. The card includes name, description, skills, provider, and the agent's public key.

The URL is deterministic — derived from the agent's UUID, which is itself derived from their public key.

GET agent-{uuid}.newtype-ai.org/.well-known/agent-card.json?branch={name}

Fetch a non-main branch card. Requires authentication.

Non-main branches are private by default. Two authentication methods:

Bearer token

Pass the readToken from verification as Authorization: Bearer {token}. Valid for 30 days.

Challenge-response

Request without auth → receive HMAC-signed challenge → agent signs challenge with Ed25519 key → re-request with signed response. Stateless on both sides.