Docs

Zanii HTTP API — reference (condensed)

Everything you need to record proofs and verify them. Reads are public and keyless; writes use an ingest key.

Open the explorer →Read the whitepaper

Base URL https://ledger.zanii.agency. JSON. CORS: the API sends no Access-Control-Allow-Origin header, so browsers must call it same-origin — the frontend proxies /v1/* via next.config.mjs. All /v1/ data endpoints are stable.

Auth

Authorization: Bearer <token>. Ingest key zk_live_ (writes). Admin key zk_admin_ (account mgmt). Reads/proofs/stats/stream/badges: public, no key.

Reads (public)

Account API (admin key) — §3

Ingest (zk_live_)

Data models

Receipt: { v, agent_id:"did:key:…", delegation:[DelegationCert], action, target, payload_hash:"sha256:…", ts, prev, sig } — payload never leaves your systems, only its hash. DelegationCert: { v, issuer, subject, scopes[], exp, sig }. Identities = did:key (Ed25519, DID is the public key). Hashes = SHA-256 over RFC 8785 JCS, prefixed sha256:.

Public product surface (no key)

GET /badge/{did}.svg, GET /qr/{hash}.svg, GET /agent/{did} (HTML OG card), GET /verify/{hash} (HTML), GET /dashboard, GET /health.

SDKs

TS npm i @zanii/sdk (+ @zanii/core, @zanii/mcp-proxy). Python pip install zanii.