Skip to main content
Arc 28 (G28.0): Lithtrix extends the Arc 21 agent passport substrate to tools and MCP servers. Each registered tool gets a deterministic tool_id, Ed25519 keypair, and optional model_provenance hash declared by the developer. Same ltx_* account auth as agent passports — no new account type. Mutating routes require the root ltx_* key (scoped sub-keys are rejected).

Register a tool passport

201 response fields: tool_id, passport_did (did:lithtrix:tool:{tool_id}), public_key, private_key, model_provenance, key_algorithm, risk_class. Optional risk_class: low (default) or high — registrant-declared only; Lithtrix logs, does not verify.

Public read (no auth)

404 TOOL_PASSPORT_NOT_FOUND when the tool is missing or revoked.

Rotate and revoke

  • POST /v1/me/tools/{tool_id}/rotate — root key only; optional new model_provenance; previous public key honored until grace_until.
  • POST /v1/me/tools/{tool_id}/revoke — root key only; public GET returns 404 after revoke.

model_provenance discipline

Captured, not verified — same trust level as agent_type self-declaration. Lithtrix stores whatever hash or label the developer submits; consumers compare against their own model-provider queries.

Model swapped — worked example

  1. Register with model_provenance: "sha256:abc123..." (hash of e.g. "openai/gpt-4o-2024-05-13").
  2. Silent swap — developer changes the model but does not rotate. Public GET still shows "sha256:abc123...". Divergence from the provider is the signal.
  3. Auditable swap — developer calls rotate with a new model_provenance. A row in tool_passport_rotation_events records the prior hash + timestamp.

Distinction from model_attestation_hash

See Passports for agent-layer passports and Browse / feedback docs for interaction-level attestation (G28.1).

risk_class and HITL approval events (G28.3)

Tools declare risk_class: low or high at register (and optionally on rotate). Public GET includes the declared value. Lithtrix does not intercept MCP calls — client-side enforcement is expected for high-risk tools. When a human approves a high-risk action, log an immutable event:
List your own events:
Events are append-only — no PATCH or DELETE routes in Arc 28. See Activity feed for the unified chronological read (GET /v1/me/activity).

Endpoints

Discoverable from GET /v1/capabilities under passport.tool_passport.