{"uid":"cap_uQtYy__P8OSqnZmhPC1lp","slug":"proofwire-page-verification-browser-render-assert-ef81b95c","name":"Proofwire Page Verification (Browser Render & Assert)","description":"Close the loop on your own work with one paid call that returns a verdict plus Ed25519-signed, falsifiable evidence (verify signatures with GET /v1/keys). GET /v1/verify/http checks a URL is alive (redirect chain, TLS, latency, body hash). GET /v1/verify/dns resolves records and parses SPF/DMARC/DKIM. Email: POST /v1/verify/email/inbox issues a seed address; send mail to it, then GET /v1/verify/email?inbox=&token= returns delivery plus SPF/DKIM/DMARC alignment and raw headers (polls inside the paid window are free). Webhooks: POST /v1/verify/webhook arms a tripwire URL; register it upstream, then poll GET /v1/verify/webhook/{id}?token= for free. GET /v1/verify/page renders a page in a real browser, asserts a selector/text, and returns a screenshot URL. Failed work is never settled.","url":"https://verify.reversecaptcha.fun/v1/verify/page?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"const":"http"},"method":{"const":"GET"},"queryParams":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"},"wait":{"type":"string"},"viewport":{"type":"string"},"full_page":{"type":"string"},"expect_text":{"type":"string"},"expect_selector":{"type":"string"}}}}},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":{"type":"json","example":{"verdict":"pass","evidence":{"title":"Example Domain","console_errors":[],"extracted_text":"This domain is for use in documentation examples...","screenshot_url":"https://verify.example/evidence/....png?exp=...&sig=..."}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_1jU68iCAy5bcu3BEcVAQs","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Renders a URL in a real browser, asserts presence of a CSS selector or text, and returns a signed verdict with screenshot evidence.","exampleAgentPrompt":"Can you render https://app.example.com/confirmation and check that the text 'Your order has been placed' is visible on the page, then give me signed proof with a screenshot?","exampleUseCases":[{"title":"Post-deploy UI smoke test","prompt":"After I push to production, check that https://myapp.com/dashboard loads and the selector '#welcome-banner' is visible — I need a screenshot and a signed pass/fail verdict so I can gate the release."},{"title":"Confirm landing page copy went live","prompt":"Can you verify that https://company.com/pricing now shows the text 'New: Pro plan at $49/mo' somewhere on the page, and send me a screenshot as proof?"},{"title":"Validate agent workflow outcome","prompt":"My automation just submitted a form — can you render https://portal.acme.com/success and confirm the phrase 'Submission received' appears, so I know the workflow completed successfully?"}],"resultDescription":"A JSON object with a 'verdict' field ('pass' or 'fail'), plus an 'evidence' object containing the page title, extracted text, any console errors, and a time-limited signed screenshot URL. All evidence is Ed25519-signed for tamper-evident verification.","failureModes":["Page does not load or returns non-200 — verdict is 'fail' with error detail","Expected selector or text not found — verdict is 'fail' with extracted text for debugging","TLS/certificate error on target URL — verdict is 'fail' with connection error","Rendering timeout if page takes too long to load — verdict is 'fail'","Invalid URL format in query param — request rejected with validation error","Screenshot URL expiry — signed URLs are time-limited and will stop working after expiration"],"whenToPreferThis":"Choose this endpoint when you need verified, tamper-evident proof that a webpage rendered correctly and contains specific content — especially for AI agent workflows that must close the loop on their own actions (form submissions, deploys, content updates). Prefer it over headless scraping tools when you need Ed25519-signed evidence for auditability, or when you must assert UI-level presence of a selector or text rather than just HTTP reachability.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-20T12:32:47.916Z","isFirstParty":false,"canonicalSlug":"proofwire-page-verification-browser-render-assert-ef81b95c"}