{"name":"FinalSentry","x402Version":2,"paymentEnabled":true,"description":"Desktop/mobile browser release evidence for public HTTPS pages built or modified by AI agents.","scope":"Rendered desktop/mobile pages, viewport screenshots, overflow, broken images, runtime/network errors, form validation and explicit owner-configured sandbox journeys. No live purchases or security audit.","facilitator":"https://facilitator.payai.network","payment":{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xf9f63ab1cf910b1f45a528b6c047cdb2f5df411f","amount":"99000","extra":{"name":"USD Coin","version":"2"}},"accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xf9f63ab1cf910b1f45a528b6c047cdb2f5df411f","amount":"99000","extra":{"name":"USD Coin","version":"2"}}],"tools":[{"name":"FinalSentry Intro Quick","path":"/api/browser-intro","method":"POST","price":"$0.01","description":"One public page with desktop/mobile browser evidence. One introductory report per wallet; 100 globally including prior intro purchases. Fixed-price x402 retry; exhausted eligibility returns 409 without settlement.","inputSchema":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"Public HTTPS page you own or may test."},"mode":{"type":"string","enum":["readonly"],"default":"readonly"},"journey":{"type":"array","maxItems":0,"items":{"type":"object"}}}},"example":{"url":"https://example.com/"}},{"name":"FinalSentry Browser Release Evidence","path":"/api/browser-scan","method":"POST","price":"$0.099","description":"Desktop/mobile rendered checks, viewport screenshots, form validation and bounded owner-approved sandbox journeys. No live purchase. Failed browser runs are not settled.","inputSchema":{"type":"object","additionalProperties":false,"required":["url"],"description":"Quick defaults to readonly and at most eight expect steps. Acceptance requires unique same-origin pages, pages[0] equal to url, and unique assertions whose page indexes exist. Journey requires owner-configured staging, sandbox mode, an interaction and a final expect step; never use a live checkout. With payer, obtain a quote first and reuse the returned canonical request unchanged.","properties":{"package":{"type":"string","enum":["quick","acceptance","journey"]},"url":{"type":"string","format":"uri","description":"Public HTTP(S) URL; private, local and credential-bearing URLs are rejected."},"mode":{"type":"string","enum":["readonly","sandbox"],"default":"readonly"},"pages":{"type":"array","minItems":1,"maxItems":3,"uniqueItems":true,"items":{"type":"string","format":"uri"}},"requirements":{"type":"array","minItems":1,"maxItems":10,"items":{"type":"object","additionalProperties":false,"required":["id","page","text"],"properties":{"id":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,50}$"},"page":{"type":"integer","minimum":0,"maximum":2},"selector":{"type":"string","minLength":1,"maxLength":200,"default":"body"},"text":{"type":"string","minLength":1,"maxLength":200}}}},"journey":{"type":"array","maxItems":10,"items":{"type":"object","additionalProperties":false,"required":["action","selector"],"properties":{"action":{"type":"string","enum":["fill","click","expect"]},"selector":{"type":"string","minLength":1,"maxLength":200},"value":{"type":"string","maxLength":200},"text":{"type":"string","maxLength":200}},"allOf":[{"if":{"properties":{"action":{"const":"fill"}}},"then":{"required":["value"]}}]}},"payer":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Unsigned quote request only; omit from the canonical paid retry."},"quote":{"type":"string","description":"Server-signed quote. Use the returned canonical request unchanged."}},"allOf":[{"if":{"required":["package"],"properties":{"package":{"const":"acceptance"}}},"then":{"required":["pages","requirements"],"properties":{"mode":{"const":"readonly"},"journey":{"maxItems":0}}},"else":{"not":{"anyOf":[{"required":["pages"]},{"required":["requirements"]}]}}},{"if":{"required":["package"],"properties":{"package":{"const":"journey"}}},"then":{"required":["mode","journey"],"properties":{"mode":{"const":"sandbox"},"journey":{"minItems":2}}},"else":{"properties":{"journey":{"maxItems":8}}}},{"if":{"properties":{"mode":{"const":"readonly"}},"required":["mode"]},"then":{"properties":{"journey":{"items":{"properties":{"action":{"const":"expect"}}}}}}}]},"example":{"url":"https://example.com/","mode":"readonly"}},{"name":"FinalSentry acceptance","path":"/api/browser-scan","method":"POST","price":"$0.299","description":"Three same-origin pages and ten explicit mobile assertions","package":"acceptance","inputSchema":{"type":"object","additionalProperties":false,"required":["url"],"description":"Quick defaults to readonly and at most eight expect steps. Acceptance requires unique same-origin pages, pages[0] equal to url, and unique assertions whose page indexes exist. Journey requires owner-configured staging, sandbox mode, an interaction and a final expect step; never use a live checkout. With payer, obtain a quote first and reuse the returned canonical request unchanged.","properties":{"package":{"type":"string","enum":["quick","acceptance","journey"]},"url":{"type":"string","format":"uri","description":"Public HTTP(S) URL; private, local and credential-bearing URLs are rejected."},"mode":{"type":"string","enum":["readonly","sandbox"],"default":"readonly"},"pages":{"type":"array","minItems":1,"maxItems":3,"uniqueItems":true,"items":{"type":"string","format":"uri"}},"requirements":{"type":"array","minItems":1,"maxItems":10,"items":{"type":"object","additionalProperties":false,"required":["id","page","text"],"properties":{"id":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,50}$"},"page":{"type":"integer","minimum":0,"maximum":2},"selector":{"type":"string","minLength":1,"maxLength":200,"default":"body"},"text":{"type":"string","minLength":1,"maxLength":200}}}},"journey":{"type":"array","maxItems":10,"items":{"type":"object","additionalProperties":false,"required":["action","selector"],"properties":{"action":{"type":"string","enum":["fill","click","expect"]},"selector":{"type":"string","minLength":1,"maxLength":200},"value":{"type":"string","maxLength":200},"text":{"type":"string","maxLength":200}},"allOf":[{"if":{"properties":{"action":{"const":"fill"}}},"then":{"required":["value"]}}]}},"payer":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Unsigned quote request only; omit from the canonical paid retry."},"quote":{"type":"string","description":"Server-signed quote. Use the returned canonical request unchanged."}},"allOf":[{"if":{"required":["package"],"properties":{"package":{"const":"acceptance"}}},"then":{"required":["pages","requirements"],"properties":{"mode":{"const":"readonly"},"journey":{"maxItems":0}}},"else":{"not":{"anyOf":[{"required":["pages"]},{"required":["requirements"]}]}}},{"if":{"required":["package"],"properties":{"package":{"const":"journey"}}},"then":{"required":["mode","journey"],"properties":{"mode":{"const":"sandbox"},"journey":{"minItems":2}}},"else":{"properties":{"journey":{"maxItems":8}}}},{"if":{"properties":{"mode":{"const":"readonly"}},"required":["mode"]},"then":{"properties":{"journey":{"items":{"properties":{"action":{"const":"expect"}}}}}}}]},"example":{"package":"acceptance","url":"https://example.com/","mode":"readonly","pages":["https://example.com/"],"requirements":[{"id":"heading","page":0,"selector":"h1","text":"Example Domain"}]}},{"name":"FinalSentry journey","path":"/api/browser-scan","method":"POST","price":"$0.999","description":"Ten-step owner-configured staging journey; no live purchases","package":"journey","inputSchema":{"type":"object","additionalProperties":false,"required":["url"],"description":"Quick defaults to readonly and at most eight expect steps. Acceptance requires unique same-origin pages, pages[0] equal to url, and unique assertions whose page indexes exist. Journey requires owner-configured staging, sandbox mode, an interaction and a final expect step; never use a live checkout. With payer, obtain a quote first and reuse the returned canonical request unchanged.","properties":{"package":{"type":"string","enum":["quick","acceptance","journey"]},"url":{"type":"string","format":"uri","description":"Public HTTP(S) URL; private, local and credential-bearing URLs are rejected."},"mode":{"type":"string","enum":["readonly","sandbox"],"default":"readonly"},"pages":{"type":"array","minItems":1,"maxItems":3,"uniqueItems":true,"items":{"type":"string","format":"uri"}},"requirements":{"type":"array","minItems":1,"maxItems":10,"items":{"type":"object","additionalProperties":false,"required":["id","page","text"],"properties":{"id":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,50}$"},"page":{"type":"integer","minimum":0,"maximum":2},"selector":{"type":"string","minLength":1,"maxLength":200,"default":"body"},"text":{"type":"string","minLength":1,"maxLength":200}}}},"journey":{"type":"array","maxItems":10,"items":{"type":"object","additionalProperties":false,"required":["action","selector"],"properties":{"action":{"type":"string","enum":["fill","click","expect"]},"selector":{"type":"string","minLength":1,"maxLength":200},"value":{"type":"string","maxLength":200},"text":{"type":"string","maxLength":200}},"allOf":[{"if":{"properties":{"action":{"const":"fill"}}},"then":{"required":["value"]}}]}},"payer":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Unsigned quote request only; omit from the canonical paid retry."},"quote":{"type":"string","description":"Server-signed quote. Use the returned canonical request unchanged."}},"allOf":[{"if":{"required":["package"],"properties":{"package":{"const":"acceptance"}}},"then":{"required":["pages","requirements"],"properties":{"mode":{"const":"readonly"},"journey":{"maxItems":0}}},"else":{"not":{"anyOf":[{"required":["pages"]},{"required":["requirements"]}]}}},{"if":{"required":["package"],"properties":{"package":{"const":"journey"}}},"then":{"required":["mode","journey"],"properties":{"mode":{"const":"sandbox"},"journey":{"minItems":2}}},"else":{"properties":{"journey":{"maxItems":8}}}},{"if":{"properties":{"mode":{"const":"readonly"}},"required":["mode"]},"then":{"properties":{"journey":{"items":{"properties":{"action":{"const":"expect"}}}}}}}]}}],"buyerKit":"https://finalsentry-payment-gateway.smarterlistai.workers.dev/examples/BUYER-INTEGRATION.md","agentGuide":"https://finalsentry-payment-gateway.smarterlistai.workers.dev/agent-guide","browserReport":{"path":"/api/browser-scan","method":"POST","priceUSDC":"0.099","pricing":{"currency":"USDC","network":"eip155:8453","quick":{"price":"0.099","amount":"99000","available":true,"scope":"One page; desktop/mobile Chromium, viewport screenshots and bounded checks"},"intro":{"price":"0.01","amount":"10000","days":14,"reportsPerWallet":1,"globalReportBudget":100},"acceptance":{"price":"0.299","amount":"299000","available":true,"status":"active","scope":"Up to three same-origin public pages and ten explicit mobile Chromium assertions"},"journey":{"price":"0.999","priceFrom":"0.999","amount":"999000","available":true,"status":"configured-staging-only","scope":"One owner-configured staging journey, up to ten steps, ending with an outcome assertion; no live purchases"}},"amount":"99000","available":true,"liveBrowserValidated":true,"status":"active"},"reportVersion":"0.3.0","mainnetSettlementVerified":true,"originalPaymentVerification":{"endpoint":"/api/paid-scan","amount":"2000000","type":"owner-self-payment","transaction":"0x97c25fa901ceaea797f8e4cfaf2a132a576ecfdc18156cb47b5f493e27b0c6db"},"freeScan":"https://api-v2.appdeploy.ai/app/release-preflight-hb9eq5/api/scan","settlementPolicy":"No report until verified authorization and confirmed on-chain settlement. On 202 or an ambiguous error retry the identical request and PAYMENT-SIGNATURE. Identical delivered authorizations recover the saved report without recharge. Changed requests or envelopes return 409; never sign a second payment to resolve an ambiguous first payment."}