{"openapi":"3.1.0","info":{"title":"n-eyes-verify","version":"1.0.0","description":"Multi-pass verification for agent artifacts. You send an artifact + a rubric; N independent AI verifier passes judge it and you get back a verdict, a tally (e.g. 3/3), per-pass reasoning, and a dissent field quoting the minority. Verification-as-a-dial: pick your redundancy level. Paid per call in USDC on Base via x402 (exact scheme). An unpaid POST returns HTTP 402 with a Payment-Required header; pay through an x402 facilitator and retry with the payment proof.","contact":{"name":"Aiden Rahimi","email":"aiden.rahimi@proton.me"}},"servers":[{"url":"https://n-eyes.thevibehosting.com","description":"production"}],"paths":{"/v1/verify/{tier}":{"post":{"summary":"Verify an artifact with N independent verifier passes","description":"Each tier runs a fixed number of independent LLM verifier passes over your artifact + rubric and returns the majority verdict, tally, per-pass reasoning, and minority dissent. Payment is per call via x402: POST without payment → 402 with Payment-Required header (base64url JSON, x402Version 2) → submit the payment through an x402 facilitator (default https://facilitator.payai.network) → retry the same POST with the X-PAYMENT header.","parameters":[{"name":"tier","in":"path","required":true,"description":"Redundancy level: quick = 3 passes ($0.06), standard = 5 passes ($0.10), deep = 10 passes ($0.20)","schema":{"type":"string","enum":["quick","standard","deep"]}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyRequest"}}}},"responses":{"200":{"description":"Verification report","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyReport"}}}},"400":{"description":"artifact missing or over 100k chars","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required. The Payment-Required response header carries the x402 terms (base64url-encoded JSON: scheme exact, network eip155:8453, USDC, amount in atomic units). Pay via a facilitator, then retry with the payment proof.","headers":{"Payment-Required":{"description":"base64url-encoded x402 payment terms (x402Version 2)","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"unknown tier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"verification failed (LLM/provider error)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-402":{"scheme":"exact","network":"eip155:8453","networkLabel":"Base","asset":"0x833589fCD6eDb6E08f4c7c32D4f71B54bdA02913","assetLabel":"USDC","payTo":"0xD78060679AEb403BB5223dfe1ac609323Ef1fBf6","facilitator":"https://facilitator.payai.network","prices":{"quick":{"usd":"$0.06","atomic":"60000","passes":3},"standard":{"usd":"$0.10","atomic":"100000","passes":5},"deep":{"usd":"$0.20","atomic":"200000","passes":10}}}}},"/v1/info":{"get":{"security":[],"summary":"Free info card","description":"Human/agent-readable service card: tiers, prices, request shape. No payment needed.","responses":{"200":{"description":"info card"}}}},"/v1/stats":{"get":{"security":[],"summary":"Free usage stats","description":"Request counts by route/status, unpaid 402s, paid hits. No payment needed.","responses":{"200":{"description":"stats object"}}}},"/healthz":{"get":{"security":[],"summary":"Health check","responses":{"200":{"description":"{ ok: true, service: 'n-eyes-verify' }"}}}},"/.well-known/x402":{"get":{"security":[],"summary":"x402 discovery document","description":"Machine-readable manifest of paid resources for indexers (x402scan, bazaar).","responses":{"200":{"description":"discovery manifest JSON"}}}},"/openapi.json":{"get":{"security":[],"summary":"This OpenAPI document","responses":{"200":{"description":"OpenAPI 3.1 JSON"}}}}},"components":{"schemas":{"VerifyRequest":{"type":"object","required":["artifact"],"properties":{"artifact":{"type":"string","maxLength":100000,"description":"Artifact text to verify (required, max 100k chars)"},"rubric":{"type":"string","maxLength":10000,"description":"Judging rubric (optional, max 10k chars). Default: verify the artifact is complete, internally consistent, and actually does what it claims; check for errors, placeholder content, and unsubstantiated claims."}}},"VerifierPass":{"type":"object","properties":{"verdict":{"type":"string","enum":["pass","fail","abstain"]},"reasoning":{"type":"string","description":"2-4 sentences citing specifics"}}},"VerifyReport":{"type":"object","properties":{"service":{"type":"string","example":"n-eyes-verify"},"tier":{"type":"string","enum":["quick","standard","deep"]},"price":{"type":"string","example":"$0.06"},"passes_requested":{"type":"integer","example":3},"passes_completed":{"type":"integer","example":3},"verdict":{"type":"string","enum":["pass","fail","tie"],"description":"Majority verdict across passes"},"tally":{"type":"string","example":"3/3","description":"majority count / passes requested"},"counts":{"type":"object","properties":{"pass":{"type":"integer"},"fail":{"type":"integer"},"abstain":{"type":"integer"}}},"passes":{"type":"array","items":{"$ref":"#/components/schemas/VerifierPass"}},"dissent":{"type":["string","null"],"description":"Minority pass reasoning (joined), or null when unanimous"},"ms":{"type":"integer","description":"server-side verification time in ms"}}},"Error":{"type":"object","properties":{"error":{"type":"string"},"detail":{"type":"string"}}}}}}