For developers
Technical reference for the Registry API, Ledger semantics, and circuit capabilities. Integrate with three API calls: challenge, ceremony, validate.
Registry API
Public HTTP API at registry.eni6ma.net (or your deployment).
- Discovery: GET /api/circuits, GET /api/circuits/{handle}, GET /api/circuits/{handle}/verify, manifest, builds.
- Proof: POST /api/circuits/{handle}/challenge, POST .../validate (kind + payload). Optional header x-eni6ma-ledger-url.
- CLI proxy: POST /api/circuits/{handle}/cli/{command} (ExecRequest: command, args, flags, input).
- Binaries: GET /api/binaries/handle/{handle}. Headers: X-ENI6MA-SHA256, X-ENI6MA-Version, X-ENI6MA-Manifest-URL.
- Docs: GET /api/swagger, Swagger UI at /docs.
Ledger semantics
Nonce registry: one-time use, TTL, burn-before-validate.
- POST /reserve → uuid, tau, TTL (e.g. 300 s). State: RESERVED.
- POST /response with uuid + payload → consume (RESERVED → SPENT). 200 OK. Replay → 409 Conflict. Expired → 410 Gone. Tau mismatch → 400.
- GET /status/{uuid} → current state. GET /events → audit feed (no PII).
Circuit capabilities
Proof (challenge, validate-*), Ledger (ledger/status, ledger/tx), Signing (sign-msg, verify-msg, opret-*, ethereum-*). Standard variant: all of the above. Hybrid variant: adds respond-interactive (identity/shard), agent commands (init, discover, respond, oscillate), and sovereign/local ledger. See DOCS/marketing/circuit-capability-matrix.md and use-case-variant-mapping.md in the repo.