NTI Registry Documentation

Endpoints

MethodPathPurpose
POST/api/registerSubmit a signed entry
GET/api/listFull list of entries
GET/api/verify?id=...Verify one entry
GET/api/search?q=...&category=...Filter entries
GET/api/statsPublic counters
GET/api/healthHealth check
GET/api/federationFederation manifest
POST/api/federation/registerRegister a peer registry
GET/api/sync?from=...Pull entries from a peer

Entry Format (NTI-Registry-Entry/1)

{
  "spec": "NTI-Registry-Entry/1",
  "id": "uuid-v4",
  "name": "langchain-nti",
  "version": "0.1.0",
  "description": "Drop-in post-quantum security for LangChain agents",
  "category": "framework",
  "repo_url": "https://github.com/abisheakp197/langchain-nti",
  "badge_url": "https://nti-badge-svs1.vercel.app",
  "docs_url": "",
  "nti_score": 98,
  "owner_contact": "you@example.com",
  "registered_at": "2026-01-15T10:00:00Z",
  "issuer_pubkey": "...",
  "signature": "...",
  "cert_hash": "..."
}

Why Cryptographic Proof

Existing registries let anyone claim anything. This registry requires:

Federation

Any organization can run their own registry node. Two nodes sync by:

POST /api/federation/register
{ "url": "https://peer.example.com", "name": "peer-name", "kind": "registry" }

Then pull entries from a peer:

GET /api/sync?from=https://peer.example.com

Neutrality

No central authority. No silent edits. Every entry is signed. Every change is a new entry. Registry operators do not vouch for entries — they only forward signed data.

Back