{"protocol":"eCitizen","version":"1","protocolVersion":"1.0","keyAlgorithms":["ed25519"],"canonicalization":"ecitizen-canonical-json-v1","attestationMethods":["operator-well-known/1","operator-neon/1","nostr-note/1","nostr-nip05/1","https-well-known/1","github-gist/1","did/1","peer-vouch/1"],"attestationMethodVersion":"1","attestationClaimType":"bounded lowercase identifier; method-specific, no fixed enum","reservedAttestationMethods":["did/1"],"canonicalizationSpec":"https://ecitizen.id/canonicalization.md","spec":"https://ecitizen.id/protocol","contract":"https://ecitizen.id/spec/contract.json","testVectors":"https://ecitizen.id/spec/test-vectors.json","attestationTestVectors":"https://ecitizen.id/spec/fixtures/attestations.json","attestationMethodVectors":"https://ecitizen.id/spec/fixtures/attestation-methods.json","fixtures":{"canonicalization":"https://ecitizen.id/spec/fixtures/canonicalization.json","protocolState":"https://ecitizen.id/spec/fixtures/protocol-state.json"},"api":"https://ecitizen.id/api/v1","openapi":"https://ecitizen.id/openapi.json","mcp":"https://ecitizen.id/mcp","directory":"https://ecitizen.id/api/v1/neons","events":"https://ecitizen.id/api/v1/events","attestations":"https://ecitizen.id/api/v1/neons/{id}/attestations","attestationSpec":"https://ecitizen.id/protocol#attestations","documentation":{"about":"https://ecitizen.id/about","protocol":"https://ecitizen.id/protocol","developers":"https://ecitizen.id/developers","join":"https://ecitizen.id/join","agent":"https://ecitizen.id/join/agent"}}