SIGNAL.ZERO Developer Documentation (Plaintext) https://www.signalzero.ink/doc 0) SDK + OpenAPI (recommended) TypeScript SDK: - npm install @signal-zero/sdk - import { SignalZeroPublicClient, SignalZeroPartnerClient } from "@signal-zero/sdk" Python SDK (official): - pip install signalzero-sdk - from signalzero_sdk import SignalZeroPublicClient, SignalZeroPartnerClient Beginner rules: - PublicClient: no API key (safe for public reads) - PartnerClient: requires x-api-key (server-side only) - Never ship x-api-key in frontend/browser code React UI library (official): - npm install @signal-zero/ui Copy/paste backend templates (safe pattern): - Next.js route handler: your backend calls /v1/wallet/{address}/history with x-api-key - Express route: your backend calls /v1/wallet/{address}/history with x-api-key - FastAPI route: your backend calls /v1/wallet/{address}/history with x-api-key For any language: OpenAPI spec is available at: - GET https://www.signalzero.ink/openapi.json Generate clients with OpenAPI Generator / Swagger Codegen (keep x-api-key server-side). 1) What SIGNAL.ZERO is SIGNAL.ZERO is Proof of Continuity Infrastructure (PoCI). It produces a Commitment Object: Genesis (activation) + a wallet's continuity history (signals over time). 2) Primitives - Genesis (activation): an ERC-721 credential. One per wallet. Required to submit signals. - Signals (continuity): one wallet-signed check-in per 24h window. No content. Just presence. - Read surfaces: stable endpoints for reading continuity in code. 3) Chain posture - Live today: Base Sepolia (chainId 84532) - Target after testing/audits: Base mainnet (chainId 8453) Genesis contract (Base Sepolia): 0xD1B7dBcAAeF23e28f66a43EC69f09B1962bd158C 4) Public read endpoint GET https://www.signalzero.ink/v1/wallet/{address}/status?chainId=84532 Returns a wallet status object including: - hasGenesis (boolean) - continuity metrics (totals, streaks, windows depending on implementation) Public rate limit: - GET /v1/wallet/{address}/status is limited to 60 requests/minute per IP. This endpoint is designed to be safe for gating. When needed, it can self-heal Genesis ownership by checking the chain. 5) Partner endpoints (require x-api-key) Partner keys are created and managed in Console: https://www.signalzero.ink/console 5.1) Wallet history GET https://www.signalzero.ink/v1/wallet/{address}/history Headers: x-api-key: Returns signal history (daily check-ins) for auditability and downstream logic. 5.2) Bulk continuity evaluation (PROD-only) POST https://www.signalzero.ink/v1/query/continuity Headers: x-api-key: Body: JSON list of wallets + evaluation rules (e.g. minimum signals, optional time window) Notes: - This surface requires a PROD partner key. - Partner gating may require the partner owner wallet to hold Genesis. 6) Creating a Partner key - Go to https://www.signalzero.ink/console - Create an API key - Keep x-api-key on your server only (never ship in browser code) 6.1) Auth flow (diagram) - GET /api/partner/challenge -> wallet signs message -> POST /api/partner/verify -> session cookie - Partner API calls: your backend sends x-api-key to /v1 endpoints 7) Uptime / SLA stance - Best-effort operation. No formal SLA published yet. - Production guidance: cache /status briefly and backoff on 429/5xx. 7) Common integration patterns - Gate access: require hasGenesis + a continuity threshold (e.g. 10 signals in the last 30 days). - Rank/weight: use streaks or recent-window signals to weight permissions. - Audit: pull history for review, disputes, or eligibility snapshots. 8) Canonical references - PoCI spec: https://www.signalzero.ink/poci (plaintext: https://www.signalzero.ink/poci.txt) - Doctrine + Whitepaper: https://www.signalzero.ink/doctrine (plaintext: https://www.signalzero.ink/doctrine.txt)