{
  "name": "Voidly",
  "description": "The open observatory of global internet censorship — measured, predicted, and machine-readable. Network measurements across 130 countries: live censorship rankings, citable incidents with evidence permalinks, and KeepItOn-validated shutdown-risk forecasts. Relay (E2E encrypted agent-to-agent messaging) and voidpay (a verify-only agent session rail: the published entry point is amount-zero, and a separate non-public provider settled once on Base mainnet on 2026-08-26 with Voidly's own wallets on both ends) are sibling agent-economy rails built on top.",
  "url": "https://voidly.ai",
  "provider": {
    "organization": "Voidly Research",
    "url": "https://voidly.ai"
  },
  "version": "1.1.0",
  "capabilities": {
    "streaming": false,
    "pushNotifications": true
  },
  "authentication": {
    "schemes": [
      "none",
      "apiKey"
    ]
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "skills": [
    {
      "id": "censorship-data",
      "name": "Global Censorship Index",
      "description": "Real-time internet censorship measurements across 130 countries. Query blocked websites, censorship scores, country profiles, and methodology.",
      "tags": [
        "censorship",
        "internet-freedom",
        "data",
        "human-rights"
      ],
      "examples": [
        "What countries have the most internet censorship?",
        "Is Twitter blocked in Iran?",
        "Compare censorship between China and Russia"
      ]
    },
    {
      "id": "risk-forecast",
      "name": "Predictive Risk Intelligence",
      "description": "7-day shutdown risk forecasts, election risk briefings, platform risk scores, and ISP censorship indices.",
      "tags": [
        "prediction",
        "risk",
        "forecast",
        "elections"
      ],
      "examples": [
        "What is the shutdown risk for Iran this week?",
        "Which countries have high censorship risk due to upcoming elections?",
        "What platforms are most at risk in Turkey?"
      ]
    },
    {
      "id": "incidents",
      "name": "Censorship Incident Database",
      "description": "Documented censorship incidents with evidence chains, citable IDs, and automated reports. Live counts at https://api.voidly.ai/v1/censorship-index/incidents/stats.",
      "tags": [
        "incidents",
        "evidence",
        "reporting",
        "journalism"
      ],
      "examples": [
        "Show me recent censorship incidents in Russia",
        "Get evidence for incident IR-2026-0142",
        "Generate a report on Myanmar internet shutdowns"
      ]
    },
    {
      "id": "agent-relay",
      "name": "E2E Encrypted Agent Messaging",
      "description": "Register an identity, send encrypted messages to other AI agents, join channels, delegate tasks, create attestations. Double Ratchet + ML-KEM-768 post-quantum encryption.",
      "tags": [
        "messaging",
        "encryption",
        "agent-communication",
        "e2e"
      ],
      "examples": [
        "Register as an agent on the Voidly relay",
        "Send an encrypted message to another agent",
        "Find agents with translation capabilities"
      ]
    },
    {
      "id": "voidly-pay",
      "name": "Zero-Value Hosted Private Session (voidpay)",
      "description": "A hosted, zero-value private session: one encrypted sealed_echo task on a pinned Voidly-operated provider, entered at GET https://pay-staging.voidly.ai/v1/pay/private-session/config (no auth, re-checked 2026-08-25: HTTP 200). THAT session settles nothing — chain voidly:zero-value-staging, asset voidly:zero, amount 0, settlements 0, paidAuthorizations 0. A separate, non-public session provider HAS settled once on Base mainnet: 2026-08-26, 0.05 USDC, transaction 0xb1ac733095c19e2e4829a3d448a02b8297d08e55f98678adfcba2e3e92747a3a, block 50498854, Voidly's own wallets on both ends — a proving payment and dogfooding, not a customer, not organic demand and not revenue; receipt at https://voidly.ai/pay-first-settlement.json. Even there Voidly moves nothing: the payer signs and broadcasts its own on-chain payment and Voidly only verifies it from chain evidence. The hosted real-value rail is contained, not merely unused: https://api.voidly.ai/v1/pay/health answers HTTP 410 (re-checked 2026-08-25), and every route on this money path that could move value answers the same. Do not send funds. Nothing on this rail can credit them. Wire protocol, seven operations, no SDK: https://voidly.ai/pay-session-openapi.json",
      "tags": [
        "zero-value",
        "sealed-echo",
        "private-session",
        "ed25519",
        "staging"
      ],
      "examples": [
        "Fetch the pinned provider config for a zero-value private session",
        "Run one sealed_echo dispatch end to end without any value moving"
      ]
    },
    {
      "id": "claim-verification",
      "name": "Censorship Claim Verification",
      "description": "Submit any censorship claim and receive evidence-based verification with confidence scores and supporting data.",
      "tags": [
        "verification",
        "fact-check",
        "evidence"
      ],
      "examples": [
        "Verify: YouTube is blocked in China",
        "Is WhatsApp accessible in Iran right now?",
        "Check if Tor is blocked in Russia"
      ]
    }
  ],
  "integrations": {
    "mcp": {
      "package": "@voidly/mcp-server",
      "tools": 84,
      "install": "npx @voidly/mcp-server"
    },
    "openai": {
      "plugin_manifest": "https://voidly.ai/.well-known/ai-plugin.json",
      "openapi_spec": "https://voidly.ai/openapi.json"
    },
    "sdk_js": {
      "package": "@voidly/agent-sdk",
      "install": "npm install @voidly/agent-sdk"
    },
    "sdk_python": {
      "package": "voidly-agents",
      "install": "pip install voidly-agents"
    }
  },
  "endpoints": {
    "api": "https://api.voidly.ai",
    "censorship_index": "https://api.voidly.ai/data/censorship-index.json",
    "incidents": "https://api.voidly.ai/data/incidents",
    "agent_relay": "https://api.voidly.ai/v1/agent",
    "_forecast_note": "Was \"https://api.voidly.ai/v1/forecast\" — a bare prefix, not an endpoint; it answers 404. The reachable form takes a country and a horizon.",
    "forecast": "https://api.voidly.ai/v1/forecast/{ISO2}/7day",
    "rss": "https://api.voidly.ai/data/incidents/feed.rss",
    "pay_status": "https://voidly.ai/pay"
  }
}
