Fetch the signer's CyclesEvidence JWK Set (signer-key resolution)
Return the issuing server's Ed25519 verification keys as a JWK Set, so a consumer can resolve a did:cycles signer_did (or confirm a raw-hex one) to a public key and establish signer AUTHORITY — not merely signature validity. This is the publication half of the ADDITIVE signer-key-resolution layer (cycles-evidence v0.2); the resolvable signer_did form, the NORMATIVE key-selection + validity-window rules, and the verification dispositions live in drafts/cycles-evidence-v0.1.yaml (CyclesEvidenceJwks).
Located API-base-relative: the spec path is {server_id}/.well-known/cycles-jwks.json, and server_id already includes /v1 (e.g. https://cycles.example.com/v1), so it resolves to …/v1/.well-known/cycles-jwks.json — deliberately NOT origin-rooted, so key authority stays anchored to the exact base the did:cycles hash commits to. The literal .well-known segment marks this as metadata, not a routed API resource.
OPTIONAL TO PUBLISH: a server that does not participate in signer-key resolution need not serve this (it returns 404, and consumers fall back to raw-hex signer_did + expected_signer pinning — the binding_only posture). A server that DOES publish MUST serve it at this path with this shape and the selection/window semantics in the draft.
AUTH (NORMATIVE): PUBLIC (no ApiKeyAuth). A JWK Set is public keys only — the standard posture for a verification key set — and is itself the trust anchor consumers resolve, so it must be reachable without credentials. The private signing key is NEVER served by this or any endpoint. Servers SHOULD rate-limit and SHOULD serve with a short Cache-Control: public max-age (the set changes only on key rotation), NOT immutable.
Responses
The signer's JWK Set.