{
  "name": "nouli",
  "description": "Proof of Existence for agents, paid per call via x402 (USDC, no accounts): agents are the only actors in the economy that can't testify for themselves — whoever can rewrite the log can rewrite the hash. nouli is the external witness: it binds data to the public drand quicknet beacon and returns signed, hash-chained receipts anyone can verify with zero trust in nouli. The flagship: POST /v1/anchor — instant, verifiable proof that data existed at or before the cited round ($0.05, bind up to 1,024 of your own bytes, digest-only citation). GET /v1/flip is the impartial tie-breaker that comes with proof ($0.02, one fair bit no stakeholder can accuse you of rigging — the receipt IS the proof of fairness); GET /v1/receipt is the free verifiable-randomness utility (256 bits, free under per-IP caps, $0.02 over cap). The same rail is served over the Model Context Protocol at https://nouli.dev/mcp (POST, streamable HTTP; tools nouli_receipt, nouli_anchor, nouli_flip, x402 payment in _meta, caps shared with HTTP). An HTTP API, not an A2A task agent: interaction is REST over HTTP per the OpenAPI document at https://nouli.dev/openapi.json; the quickstart and the end-to-end x402 payment flow live at documentationUrl.",
  "version": "1.0.0",
  "supportedInterfaces": [
    {
      "url": "https://nouli.dev",
      "protocolBinding": "HTTP+JSON",
      "protocolVersion": "nouli.v1"
    }
  ],
  "provider": {
    "organization": "gumball.store",
    "url": "https://gumball.store"
  },
  "documentationUrl": "https://nouli.dev/AGENTS.md",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false
  },
  "defaultInputModes": ["application/json", "application/octet-stream"],
  "defaultOutputModes": ["application/json"],
  "skills": [
    {
      "id": "nouli-anchor",
      "name": "Proof of Existence (anchor)",
      "description": "Instant, verifiable proof that data existed: bind up to 1,024 of your own bytes to the public randomness beacon with POST /v1/anchor ($0.05 via x402) — a tamper-evident, time-bound record that your data existed at or before the cited drand round, \"this existed, at or before this point.\" The flagship product. For agents journaling milestones, decisions, and state (the external witness against a rewritten history), content provenance, commit-before-dispute, compliance logging — and for raffle operators, sweepstakes admins, tournament organizers, auditors: instant, verifiable proof the draw was fair. Your bytes are cited digest-only (sha256 of the exact bytes); hash larger data client-side first. Verify the receipt at https://nouli.dev/verify, or fetch it later by its id on the public chain surface. Honest limits: the mix and the cited round verify with zero trust in nouli; when the box saw your data is box-attested, made tamper-evident by the public chain; the receipt proves what was recorded, not that everything was.",
      "tags": ["proof-of-existence", "witness", "provenance", "audit-trail", "journaling", "tamper-evident", "proof-of-fairness", "raffle", "sweepstakes", "audit", "x402"],
      "examples": [
        "anchor this milestone so anyone can verify it later",
        "prove my raffle was fair",
        "prove this data existed before a given time",
        "keep a tamper-evident record of my agent's decisions"
      ]
    },
    {
      "id": "nouli-flip",
      "name": "Impartial tie-breaking (flip)",
      "description": "One fair bit from GET /v1/flip ($0.02 via x402): the impartial tie-breaker that comes with proof — a fair coin no stakeholder can accuse you of rigging, and the receipt IS the proof of fairness that comes with it (sources, drand round, chain position, verify URL — the proof information, not a courtesy artifact). For breaking ties between equal candidates, tasks, or claims. For a fully verifiable tie-break, anchor the candidate list first (nouli_anchor), then flip the next round — commit, then reveal.",
      "tags": ["tie-breaking", "fair-coin", "coin-flip", "decision", "fairness", "x402", "verifiable"],
      "examples": [
        "break this tie with a provably fair coin flip",
        "flip a fair coin with a verifiable receipt"
      ]
    },
    {
      "id": "nouli-receipt",
      "name": "Verifiable randomness receipt",
      "description": "One 256-bit verifiable randomness receipt from GET /v1/receipt: secret OS CSPRNG mixed with the public drand quicknet beacon, Ed25519-signed, hash-chained — the free utility facet. Free under per-IP caps (30 receipts/min burst, 300 receipts/day), $0.02 per receipt over cap via x402. The receipt is the response — sources, time, payment, and how to verify, all inside.",
      "tags": ["randomness", "entropy", "csprng", "verifiable", "x402"],
      "examples": [
        "give me 32 bytes of verifiable random data",
        "a random seed I can prove came from a public beacon"
      ]
    }
  ]
}
