01
πŸ”οΈ Hosted in a NATO Bunker Β· German Jurisdiction πŸ‡©πŸ‡ͺ

just.callthe.dev

Trust Registry for the Agentic Economy

Like Let's Encrypt, but for AI Agents.

$236B
AI Agent Market by 2034
94K
Active x402 Buyers
0
Trust Registries (until now)
↓ scroll
02

The Problem

AI Agents are the new economic participants β€” but nobody trusts them.

πŸ€–

No Identity

Agents have no standardized way to prove who they are, what they can do, or who operates them.

πŸ”“

No Verification

When Agent A calls Agent B's API, there's no way to verify capabilities, compliance, or legitimacy.

🌍

No Compliance

EU AI Act & DSGVO require accountability β€” but agent-to-agent interactions have zero audit trail.

03

The Solution

W3C-standard DIDs + Verifiable Credentials for every AI Agent.

Step 1
Register

Get a DID

β†’
Step 2
Certify

Get Credentials

β†’
Step 3
Interact

Trusted by others

Your Agent's Identity
did:web:just.callthe.dev:agent:x7kQ9mBz...

Resolves to a W3C DID Document with:
  βœ“ Ed25519 public key (cryptographic proof)
  βœ“ Service endpoints (how to reach the agent)
  βœ“ Verifiable Credentials (what the agent can do)
04

Credential Types

Cryptographically signed attestations about your agent.

🧠

InferenceProvider

Model, context window, latency, data residency. Proves your agent offers LLM inference.

πŸ’°

X402Enabled

Wallet address, supported tokens, network. Proves your agent accepts x402 micropayments.

πŸ‡ͺπŸ‡Ί

DataResidencyEU

Country, facility, certifications. Proves data stays in the EU β€” DSGVO compliant.

⚑

AgentCapability

Any capability: code review, translation, RAG, summarization. Generic attestation.

05

Architecture


β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    just.callthe.dev                          β”‚
β”‚                   Trust Registry API                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚ DID Service  β”‚  β”‚  VC Service   β”‚  β”‚  Agent Directory    β”‚ β”‚
β”‚  β”‚ did:web      β”‚  β”‚  Ed25519 Sign β”‚  β”‚  Search & Filter    β”‚ β”‚
β”‚  β”‚ W3C Compliantβ”‚  β”‚  JSON-LD      β”‚  β”‚  Paginated          β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚                                                              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚ Rate Limiter β”‚  β”‚  API Key Auth β”‚  β”‚  SQLite + Persist   β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚                                                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  πŸ”οΈ NATO Bunker  β”‚  πŸ‡©πŸ‡ͺ German Law  β”‚  πŸ”’ Ed25519 Crypto     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      
πŸ”‘

Ed25519

State-of-the-art elliptic curve cryptography

πŸ“‹

W3C Standards

DID Core + Verifiable Credentials

πŸ”οΈ

NATO Bunker

Physical trust anchor in Germany

06

Our Edge

What no US startup can replicate.

FactorGPT StoreOlasjust.callthe.dev
Identity StandardProprietaryOn-chain onlyW3C DID + VC βœ…
GovernanceCorporate closedCrypto-anarchicRegulated middle βœ…
Data ResidencyUSDecentralizedEU/DE guaranteed βœ…
ComplianceNoneNoneDSGVO + EU AI Act βœ…
Physical TrustCloudCloudNATO Bunker πŸ”οΈ
PaymentSubscriptionTokensx402 Stablecoins πŸ’°
07

Roadmap

🟒

Phase 1 β€” Now

Trust Registry MVP
DID issuance, VC signing, agent directory, verification API. Live at just.callthe.dev

πŸ”΅

Phase 2 β€” Q2 2026

x402 Payment Gateway
Monetize GPU inference via HTTP 402 micropayments. USDC on Base L2.

🟣

Phase 3 β€” Q3+ 2026

Governed Agent Exchange
Curated marketplace with compliance, SLAs, audit trails. Enterprise-ready.

πŸ“š Documentation

Everything you need to integrate your agent with the Trust Registry.

⚑ Quick Start

Get your agent a trusted identity in 60 seconds.

1. Register Your Agent

bash
curl -X POST https://just.callthe.dev/api/agents \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Inference Bot",
    "description": "GPT-class inference service",
    "capabilities": ["inference", "code-review"],
    "endpoint": "https://api.mybot.com/v1"
  }'
Response (save these!)
{
  "did": "did:web:just.callthe.dev:agent:x7kQ9mBz...",
  "agentId": "x7kQ9mBz...",
  "apiKey": "tr_9xvKSi...",          ← Save this! Shown only once.
  "privateKey": "8bd8be32b5...",     ← Save this! Shown only once.
  "didDocument": { ... }
}

2. Issue a Credential

bash
curl -X POST https://just.callthe.dev/api/agents/YOUR_AGENT_ID/credentials \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "InferenceProvider",
    "claims": {
      "model": "Qwen3.5-122B-A10B",
      "contextWindow": 128000,
      "maxTokens": 8192,
      "dataResidency": "DE",
      "facility": "NATO Bunker, Germany"
    }
  }'

3. Verify a Credential

bash
curl -X POST https://just.callthe.dev/api/credentials/verify \
  -H "Content-Type: application/json" \
  -d '{"credential": { ...paste the full credential JSON... }}'
Response
{
  "valid": true,
  "checks": {
    "signature": true,    βœ“ Ed25519 signature valid
    "issuer": true,       βœ“ Issued by just.callthe.dev
    "expiration": true,   βœ“ Not expired
    "revocation": true    βœ“ Not revoked
  },
  "errors": []
}

πŸ“– API Reference

Base URL: https://just.callthe.dev

Agents

MethodEndpointAuthDescription
POST/api/agentsβ€”Register a new agent
GET/api/agentsβ€”List agents (paginated, filterable)
GET/api/agents/:idβ€”Get agent + credentials
GET/api/agents/:id/did.jsonβ€”Resolve DID Document

Credentials

MethodEndpointAuthDescription
POST/api/agents/:id/credentialsBearerIssue a credential
GET/api/agents/:id/credentialsβ€”List agent's credentials
GET/api/credentials/:credIdβ€”Get specific credential
DELETE/api/agents/:id/credentials/:credIdBearerRevoke credential
POST/api/credentials/verifyβ€”Verify any credential

Discovery & Meta

MethodEndpointDescription
GET/api/statsRegistry statistics
GET/.well-known/did.jsonRegistry's own DID Document
GET/contexts/v1JSON-LD context for credentials

Query Parameters for GET /api/agents

ParamTypeDefaultDescription
pageint1Page number
limitint20Items per page (max 100)
searchstringβ€”Search in name & description
capabilitystringβ€”Filter by capability

Credential Types

TypeRequired ClaimsOptional Claims
InferenceProvidermodelcontextWindow, maxTokens, latencyMs, dataResidency, facility
X402EnabledwalletAddress, networkIdsupportedTokens
DataResidencyEUcountry, facilitycertifications
AgentCapabilitycapabilitydescription, any custom fields

Rate Limits

πŸ€– Agent Integration Guide

How to integrate your AI agent with the Trust Registry for agent-to-agent trust.

For Agent Developers (Python)

Python β€” Register & Issue Credential
import requests

REGISTRY = "https://just.callthe.dev"

# 1. Register your agent
resp = requests.post(f"{REGISTRY}/api/agents", json={
    "name": "My Inference Agent",
    "description": "Qwen3.5-122B inference service",
    "capabilities": ["inference", "x402"],
    "endpoint": "https://my-agent.example.com/v1"
})
data = resp.json()
agent_id = data["agentId"]
api_key = data["apiKey"]       # SAVE THIS!
private_key = data["privateKey"]  # SAVE THIS!
print(f"DID: {data['did']}")

# 2. Issue a credential
resp = requests.post(
    f"{REGISTRY}/api/agents/{agent_id}/credentials",
    headers={"Authorization": f"Bearer {api_key}"},
    json={
        "type": "InferenceProvider",
        "claims": {
            "model": "Qwen3.5-122B-A10B",
            "contextWindow": 128000,
            "dataResidency": "DE"
        }
    }
)
credential = resp.json()["credential"]
print(f"Credential issued: {credential['id']}")

# 3. Share your DID with other agents
# They can resolve it and verify your credentials:
did_doc = requests.get(f"{REGISTRY}/api/agents/{agent_id}/did.json").json()

For Agent Developers (Node.js)

JavaScript β€” Verify Another Agent
const REGISTRY = "https://just.callthe.dev";

// When another agent presents a credential, verify it:
async function verifyAgent(credential) {
  const res = await fetch(`${REGISTRY}/api/credentials/verify`, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ credential })
  });
  const result = await res.json();

  if (result.valid) {
    console.log("βœ… Agent is trusted!");
    console.log("Capabilities:", result.credential.credentialSubject);
  } else {
    console.log("❌ Agent verification failed:", result.errors);
  }
  return result.valid;
}

// Resolve an agent's DID to discover their services
async function resolveAgent(agentId) {
  const res = await fetch(`${REGISTRY}/api/agents/${agentId}`);
  const agent = await res.json();
  console.log(`Agent: ${agent.name}`);
  console.log(`DID: ${agent.did}`);
  console.log(`Credentials: ${agent.credentials.length}`);
  return agent;
}

Agent-to-Agent Trust Flow


β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Agent A     β”‚                    β”‚ just.callthe.dev β”‚                    β”‚  Agent B     β”‚
β”‚  (Consumer)  β”‚                    β”‚  Trust Registry  β”‚                    β”‚  (Provider)  β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
       β”‚                                     β”‚                                    β”‚
       β”‚  1. "I want inference service"      β”‚                                    β”‚
       │────────────────────────────────────>β”‚                                    β”‚
       β”‚                                     β”‚                                    β”‚
       β”‚  2. List agents with capability     β”‚                                    β”‚
       β”‚     GET /api/agents?capability=     β”‚                                    β”‚
       β”‚         inference                   β”‚                                    β”‚
       β”‚<────────────────────────────────────│                                    β”‚
       β”‚  [{did, name, credentials...}]      β”‚                                    β”‚
       β”‚                                     β”‚                                    β”‚
       β”‚  3. Verify Agent B's credential     β”‚                                    β”‚
       β”‚     POST /api/credentials/verify    β”‚                                    β”‚
       │────────────────────────────────────>β”‚                                    β”‚
       β”‚  {valid: true, checks: {...}}       β”‚                                    β”‚
       β”‚<────────────────────────────────────│                                    β”‚
       β”‚                                     β”‚                                    β”‚
       β”‚  4. Trust established! Call Agent B directly                             β”‚
       │─────────────────────────────────────────────────────────────────────────>β”‚
       β”‚                                     β”‚          (x402 payment + request)  β”‚
       β”‚<─────────────────────────────────────────────────────────────────────────│
       β”‚                                     β”‚          (response)                β”‚

Best Practices

DID Resolution (did:web)

The did:web method resolves DIDs via HTTPS. For our registry:

# Registry DID
did:web:just.callthe.dev
  β†’ resolves to: GET https://just.callthe.dev/.well-known/did.json

# Agent DID
did:web:just.callthe.dev:agent:x7kQ9mBz
  β†’ resolves to: GET https://just.callthe.dev/api/agents/x7kQ9mBz/did.json

# Any W3C DID resolver can resolve these automatically.