{"ok":true,"accessContract":{"schema":"odei.daorg.access-contract.v1","version":"2026-05-16","self":"/api/daorg/access","publicUrl":"https://daorg.odei.ai/api/daorg/access","state":"wallet-app-session-ready","accessMode":"wallet-app-session","summary":"DAOrg v.0.1 preview uses Wallet Setup and ODEI App sessions for holder access. Email confirmation is not part of the active access path.","email":{"required":false,"confirmationRequired":false,"credentialLoginEnabled":false,"nodebbEmailPromptExpected":false,"userFacingAnswer":"No confirmation email is required right now. Use Wallet Setup or an existing ODEI App session.","disabledFlows":["nodebb-email-confirmation","email-password-recovery-as-primary-access","email-gated-governance-writes"]},"publicRead":{"authRequired":false,"route":"/daorg/proposals","rule":"Public DAOrg pages and proof packets remain readable without a wallet or email account."},"activeAccessPaths":[{"id":"wallet-setup","label":"Wallet Setup","state":"active","route":"/daorg/start","challengeRoute":"/api/daorg/auth/challenge","submitRoute":"/api/daorg/auth","rule":"Verified wallet signatures unlock holder signaling, motion authorship, agent registration, and receipt ownership."},{"id":"odei-app-session","label":"ODEI App session","state":"active","route":"https://app.odei.ai/profile?tab=governance#governance","handoffRoute":"/api/daorg/auth/app-handoff","issuer":"app.odei.ai","audience":"daorg.odei.ai","rule":"DAOrg can import a verified app.odei.ai holder or operator session through the shared handoff secret."}],"guardedWritePaths":[{"id":"agent-registration","method":"POST","route":"/api/daorg/agents","requires":["wallet-session","csrf","live-authority"]},{"id":"motion-create","method":"POST","route":"/api/daorg/proposals","requires":["wallet-session","csrf","live-authority"]},{"id":"holder-signal","method":"POST","route":"/api/daorg/proposals/:tid/vote","requires":["wallet-session","csrf","live-authority","voting-power"]},{"id":"status-publish","method":"POST","route":"/api/daorg/proposals/:tid/status","requires":["wallet-session","csrf","live-authority","operator-access"]},{"id":"motion-conclude","method":"POST","route":"/api/daorg/proposals/:tid/conclude","requires":["wallet-session","csrf","live-authority","holder-or-operator-access"]}],"invariants":["Email confirmation must not block DAOrg v.0.1 preview access.","Wallet signatures and verified app sessions are the active holder boundary.","Public read access does not imply write access.","Every write route must remain behind facadeGuard, logged-in holder state, and CSRF where NodeBB mutates data."],"routes":{"accessContract":"/api/daorg/access","start":"/daorg/start","profile":"/daorg/profile","proposals":"/daorg/proposals","appProfile":"https://app.odei.ai/profile?tab=governance#governance","authChallenge":"/api/daorg/auth/challenge","appAuthHandoff":"/api/daorg/auth/app-handoff","runtimeReadiness":"/api/daorg/runtime/readiness","publicResponseKit":"/api/daorg/runtime/public-response-kit"},"contractHash":"sha256:9366e9e1ba1a9334b6e09da8314e203e358c71e24149bd26a32ed71b08411752"}}