{"service":"TD Agent Utility","mode":"production","publicly_indexed":true,"external_catalogues":[{"url":"https://www.x402scan.com/server/ec41eb7a-4dc5-4ccf-a8d9-5dedddd71ae3","verified_at":"2026-10-15T15:51:15.739633+00:00"}],"base_url":"https://tdagentutility.co.uk","payment":{"mechanism":"x402","version":2,"scheme":"exact","network":"eip155:8453","pay_to":"0x9484a00CD18221612A212ADD61161D2d6eef278F","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","decimals":6,"facilitator":"https://v2.facilitator.mogami.tech"},"status_url":"https://tdagentutility.co.uk/ready","discovery":{"openapi":"/openapi.json","api_catalog":"/.well-known/api-catalog","llms":"/llms.txt","bazaar":"Declared in unpaid 402 responses; external indexing is not implied"},"tools":[{"tool":"probe_url","enabled":true,"title":"URL online check","description":"Check whether a public URL or API endpoint is online. Return HTTP status, redirects, DNS resolution, TLS/SSL certificate checks and connection timings for agent health checks and website verification. No browser rendering or screenshots.","tags":["website","verification","deployment","testing","agent-tools","url-online-check","http-endpoint-health-check","reachability","dns-and-tls-verification"],"search_terms":["URL online check","HTTP endpoint health check","reachability","DNS and TLS verification"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Public HTTP(S) URL on port 80/443; private networks and unsafe redirects are blocked.","maxLength":2048,"minLength":1}},"required":["url"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"requested_url":{"type":"string"},"final_url":{"type":"string"},"http_status":{"type":"integer"},"redirect_chain":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"status":{"type":"integer"},"location":{"type":"string"}},"required":["url","status","location"],"additionalProperties":false}},"dns_resolution":{"type":"array","items":{"type":"string"}},"tls":{"type":"object","properties":{"present":{"type":"boolean"},"expires_at":{"type":["string","null"]},"days_remaining":{"type":["number","null"]}},"required":["present","expires_at","days_remaining"],"additionalProperties":false},"elapsed_seconds":{"type":"number"},"content_type":{"type":["string","null"]},"headers":{"type":"object","additionalProperties":{"type":"string"}},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","ISSUE","REVIEW"]},"job_id":{"type":"string"}},"required":["requested_url","final_url","http_status","redirect_chain","dns_resolution","tls","elapsed_seconds","content_type","headers","checked_at","result_status"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"url":"https://example.com"},"output_example":{"requested_url":"https://example.com","final_url":"https://example.com/","http_status":200,"redirect_chain":[],"dns_resolution":["93.184.215.14"],"tls":{"present":true,"expires_at":"2027-01-01T00:00:00Z","days_remaining":78.0},"elapsed_seconds":0.12,"content_type":"text/html","headers":{"content-type":"text/html"},"checked_at":"2026-10-15T00:00:00Z","result_status":"PASS"},"examples_are_synthetic":true,"price_usd":"0.005","price_atomic":"5000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/probe-url","method":"POST","resource_profile":{"workload":"interactive","initial":[],"phases":[],"worker":["document"]},"methods":["POST","GET"],"method_prices":{"POST":{"price_atomic":"5000","price_usd":"0.005"},"GET":{"price_atomic":"5000","price_usd":"0.005"}},"get_alias":{"capability":"probe_url","input_schema":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":2048,"description":"Public URL without credentials, query or fragment. PDF requires HTTPS."}},"required":["url"],"additionalProperties":false},"input_example":{"url":"https://example.com"},"example_url":"https://tdagentutility.co.uk/v1/probe-url?url=https%3A%2F%2Fexample.com","limitations":"GET aliases require bounded query parameters, no request body, no duplicate or unknown keys. Target URLs on GET must have no credentials, query string or fragment; use POST for public query-bearing targets and never submit secrets. URL length <=2048; encoded query <=8192 bytes. Email, payer-owned state/runtime and structured/inline/upload inputs are POST-only. GET is paid, not a free sample; each successful newly authorized call is chargeable. Only x402 V2 exact is supported, not V1 signatures, MPP or paid MCP. Use the canonical origin; aliases are the same capability and same price, not new tools."}},{"tool":"render_page","enabled":true,"title":"Render webpage with JavaScript — Chromium screenshot evidence","description":"Render a public webpage with JavaScript in Chromium. Return a screenshot evidence ID, page title, final URL, browser status, blocked requests and console errors so an agent can inspect a deployment without running browser infrastructure. Not an HTML or text export.","tags":["website","verification","deployment","testing","agent-tools","render-webpage-with-javascript","headless-browser","chromium-screenshot"],"search_terms":["render webpage with JavaScript","headless browser","Chromium screenshot"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Public HTTP(S) URL on port 80/443; private networks and unsafe redirects are blocked.","maxLength":2048,"minLength":1}},"required":["url"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"requested_url":{"type":"string"},"final_url":{"type":"string"},"http_status":{"type":["integer","null"]},"page_title":{"type":"string"},"rendered_successfully":{"type":"boolean"},"console_error_count":{"type":"integer"},"console_error_summaries":{"type":"array","items":{"type":"string"}},"blocked_requests":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"reason":{"type":"string"}},"required":["url","reason"],"additionalProperties":false}},"screenshot_evidence_id":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","ISSUE","REVIEW"]},"job_id":{"type":"string"}},"required":["requested_url","final_url","http_status","page_title","rendered_successfully","console_error_count","console_error_summaries","blocked_requests","screenshot_evidence_id","checked_at","result_status"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"url":"https://example.com"},"output_example":{"requested_url":"https://example.com","final_url":"https://example.com/","http_status":200,"page_title":"Example Domain","rendered_successfully":true,"console_error_count":0,"console_error_summaries":[],"blocked_requests":[],"screenshot_evidence_id":"0123456789abcdef0123456789abcdef0123456789abcdef","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS"},"examples_are_synthetic":true,"price_usd":"0.02","price_atomic":"20000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/render-page","method":"POST","resource_profile":{"workload":"browser","initial":["browser"],"phases":["browser"],"worker":["document"]},"methods":["POST","GET"],"method_prices":{"POST":{"price_atomic":"20000","price_usd":"0.02"},"GET":{"price_atomic":"20000","price_usd":"0.02"}},"get_alias":{"capability":"render_page","input_schema":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":2048,"description":"Public URL without credentials, query or fragment. PDF requires HTTPS."}},"required":["url"],"additionalProperties":false},"input_example":{"url":"https://example.com"},"example_url":"https://tdagentutility.co.uk/v1/render-page?url=https%3A%2F%2Fexample.com","limitations":"GET aliases require bounded query parameters, no request body, no duplicate or unknown keys. Target URLs on GET must have no credentials, query string or fragment; use POST for public query-bearing targets and never submit secrets. URL length <=2048; encoded query <=8192 bytes. Email, payer-owned state/runtime and structured/inline/upload inputs are POST-only. GET is paid, not a free sample; each successful newly authorized call is chargeable. Only x402 V2 exact is supported, not V1 signatures, MPP or paid MCP. Use the canonical origin; aliases are the same capability and same price, not new tools."}},{"tool":"verify_page","enabled":true,"title":"Verify website deployment — HTTP, browser and link evidence","description":"Verify a website deployment or release with combined HTTP/DNS/TLS checks, Chromium screenshot and console evidence, and bounded same-origin broken-link checks. Return structured findings for coding agents; implemented checks are not proof every feature works.","tags":["website","verification","deployment","testing","agent-tools","verify-website-deployment","release-verification","broken-link-verification"],"search_terms":["verify website deployment","release verification","broken-link verification"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Public HTTP(S) URL on port 80/443; private networks and unsafe redirects are blocked.","maxLength":2048,"minLength":1}},"required":["url"],"additionalProperties":false},"output_schema":{"type":"object","properties":{"requested_url":{"type":"string"},"final_url":{"type":"string"},"probe":{"type":"object","properties":{"requested_url":{"type":"string"},"final_url":{"type":"string"},"http_status":{"type":"integer"},"redirect_chain":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"status":{"type":"integer"},"location":{"type":"string"}},"required":["url","status","location"],"additionalProperties":false}},"dns_resolution":{"type":"array","items":{"type":"string"}},"tls":{"type":"object","properties":{"present":{"type":"boolean"},"expires_at":{"type":["string","null"]},"days_remaining":{"type":["number","null"]}},"required":["present","expires_at","days_remaining"],"additionalProperties":false},"elapsed_seconds":{"type":"number"},"content_type":{"type":["string","null"]},"headers":{"type":"object","additionalProperties":{"type":"string"}},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","ISSUE","REVIEW"]}},"required":["requested_url","final_url","http_status","redirect_chain","dns_resolution","tls","elapsed_seconds","content_type","headers","checked_at","result_status"],"additionalProperties":false},"render":{"type":"object","properties":{"requested_url":{"type":"string"},"final_url":{"type":"string"},"http_status":{"type":["integer","null"]},"page_title":{"type":"string"},"rendered_successfully":{"type":"boolean"},"console_error_count":{"type":"integer"},"console_error_summaries":{"type":"array","items":{"type":"string"}},"blocked_requests":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"reason":{"type":"string"}},"required":["url","reason"],"additionalProperties":false}},"screenshot_evidence_id":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","ISSUE","REVIEW"]}},"required":["requested_url","final_url","http_status","page_title","rendered_successfully","console_error_count","console_error_summaries","blocked_requests","screenshot_evidence_id","checked_at","result_status"],"additionalProperties":false},"link_checks":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"requested_url":{"type":"string"},"final_url":{"type":"string"},"http_status":{"type":"integer"},"checked_at":{"type":"string"}},"required":["requested_url","final_url","http_status","checked_at"],"additionalProperties":false},{"type":"object","properties":{"url":{"type":"string"},"error":{"type":"string"},"checked_at":{"type":"string"}},"required":["url","error","checked_at"],"additionalProperties":false}]}},"findings":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"evidence":{}},"required":["code","evidence"],"additionalProperties":false}},"screenshot_evidence_id":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","ISSUE","REVIEW"]},"job_id":{"type":"string"}},"required":["requested_url","final_url","probe","render","link_checks","findings","screenshot_evidence_id","checked_at","result_status"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"url":"https://example.com"},"output_example":{"requested_url":"https://example.com","final_url":"https://example.com/","probe":{"requested_url":"https://example.com","final_url":"https://example.com/","http_status":200,"redirect_chain":[],"dns_resolution":["93.184.215.14"],"tls":{"present":true,"expires_at":"2027-01-01T00:00:00Z","days_remaining":78.0},"elapsed_seconds":0.12,"content_type":"text/html","headers":{"content-type":"text/html"},"checked_at":"2026-10-15T00:00:00Z","result_status":"PASS"},"render":{"requested_url":"https://example.com","final_url":"https://example.com/","http_status":200,"page_title":"Example Domain","rendered_successfully":true,"console_error_count":0,"console_error_summaries":[],"blocked_requests":[],"screenshot_evidence_id":"0123456789abcdef0123456789abcdef0123456789abcdef","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS"},"link_checks":[],"findings":[],"screenshot_evidence_id":"0123456789abcdef0123456789abcdef0123456789abcdef","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS"},"examples_are_synthetic":true,"price_usd":"0.05","price_atomic":"50000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/verify-page","method":"POST","resource_profile":{"workload":"browser","initial":["browser"],"phases":["browser"],"worker":["document"]},"methods":["POST","GET"],"method_prices":{"POST":{"price_atomic":"50000","price_usd":"0.05"},"GET":{"price_atomic":"50000","price_usd":"0.05"}},"get_alias":{"capability":"verify_page","input_schema":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":2048,"description":"Public URL without credentials, query or fragment. PDF requires HTTPS."}},"required":["url"],"additionalProperties":false},"input_example":{"url":"https://example.com"},"example_url":"https://tdagentutility.co.uk/v1/verify-page?url=https%3A%2F%2Fexample.com","limitations":"GET aliases require bounded query parameters, no request body, no duplicate or unknown keys. Target URLs on GET must have no credentials, query string or fragment; use POST for public query-bearing targets and never submit secrets. URL length <=2048; encoded query <=8192 bytes. Email, payer-owned state/runtime and structured/inline/upload inputs are POST-only. GET is paid, not a free sample; each successful newly authorized call is chargeable. Only x402 V2 exact is supported, not V1 signatures, MPP or paid MCP. Use the canonical origin; aliases are the same capability and same price, not new tools."}},{"tool":"x402_ping","enabled":true,"title":"x402 payment endpoint test","description":"Test an AI agent's x402 V2 payment path on the configured network (Base mainnet in production). Return a compact JSON acknowledgement with service, timestamp and network; inspect PAYMENT-RESPONSE for settlement. No website check or external work. Tests this endpoint only; does not inspect another API.","tags":["verification","agent-tools","x402-ping","payment-path-test","base-usdc-acknowledgement"],"search_terms":["x402 ping","payment path test","Base USDC acknowledgement"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"additionalProperties":false,"properties":{},"title":"PingInput","type":"object"},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"ok":{"type":"boolean"},"service":{"type":"string"},"timestamp":{"type":"string"},"x402_version":{"type":"integer"},"network":{"type":"string"}},"required":["tool","checked_at","result_status","warnings","ok","service","timestamp","x402_version","network"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{},"output_example":{"tool":"x402_ping","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"ok":true,"service":"TD Agent Utility","timestamp":"2026-10-15T00:00:00Z","x402_version":2,"network":"eip155:8453"},"examples_are_synthetic":true,"price_usd":"0.001","price_atomic":"1000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/x402-ping","method":"POST","resource_profile":{"workload":"interactive","initial":[],"phases":[],"worker":["document"]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"timeout":45.0,"max_input_bytes":8388608,"max_output_bytes":524288,"max_total_bytes":8388608,"max_pages":5,"max_depth":2,"max_urls":200,"max_sitemaps":8,"max_requests":24,"max_document_pages":20,"max_ocr_pages":3,"max_image_pixels":12000000,"ocr_dpi":150,"worker_memory_mb":768,"document_jobs":3,"max_spec_nodes":30000,"max_spec_depth":48,"dns_timeout":3.0,"ocr_timeout":15.0},"methods":["POST","GET"],"method_prices":{"POST":{"price_atomic":"1000","price_usd":"0.001"},"GET":{"price_atomic":"1000","price_usd":"0.001"}},"get_alias":{"capability":"x402_ping","input_schema":{"type":"object","properties":{},"required":[],"additionalProperties":false},"input_example":{},"example_url":"https://tdagentutility.co.uk/v1/x402-ping","limitations":"GET aliases require bounded query parameters, no request body, no duplicate or unknown keys. Target URLs on GET must have no credentials, query string or fragment; use POST for public query-bearing targets and never submit secrets. URL length <=2048; encoded query <=8192 bytes. Email, payer-owned state/runtime and structured/inline/upload inputs are POST-only. GET is paid, not a free sample; each successful newly authorized call is chargeable. Only x402 V2 exact is supported, not V1 signatures, MPP or paid MCP. Use the canonical origin; aliases are the same capability and same price, not new tools."}},{"tool":"read_page","enabled":true,"title":"Read webpage content","description":"Read webpage content from a public URL and extract clean text, Markdown, headings, links and metadata for AI research or RAG. HTML-to-text reading with optional protected JavaScript browser fallback; no agent-hosted browser required.","tags":["web","reading","research","scraping","agent-tools","markdown","webpage-to-markdown","webpage-reader","url-reader","html-to-text","extract-webpage-text"],"search_terms":["webpage reader","URL reader","HTML to text","extract webpage text","webpage to Markdown"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"additionalProperties":false,"properties":{"url":{"maxLength":2048,"minLength":1,"title":"Url","type":"string","description":"Public HTTP(S) URL on port 80/443; private networks and unsafe redirects are blocked."},"browser_fallback":{"default":false,"title":"Browser Fallback","type":"boolean"}},"required":["url"],"title":"ReadInput","type":"object"},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"requested_url":{"type":"string"},"final_url":{"type":"string"},"http_status":{"type":"integer"},"title":{"type":"string"},"meta_description":{"type":"string"},"canonical_url":{"type":["string","null"]},"main_text":{"type":"string"},"markdown":{"type":"string"},"headings":{"type":"array","items":{"type":"object","properties":{"level":{"type":"integer","minimum":1,"maximum":6},"text":{"type":"string"}},"required":["level","text"],"additionalProperties":false}},"links":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"text":{"type":"string"}},"required":["url","text"],"additionalProperties":false}},"content_type":{"type":"string"},"timing_seconds":{"type":"number"},"extraction_method":{"type":"string"},"browser_used":{"type":"boolean"},"bytes_read":{"type":"integer"}},"required":["tool","checked_at","result_status","warnings","requested_url","final_url","http_status","title","meta_description","canonical_url","main_text","markdown","headings","links","content_type","timing_seconds","extraction_method","browser_used","bytes_read"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"url":"https://example.com"},"output_example":{"tool":"read_page","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"requested_url":"https://example.com","final_url":"https://example.com/","http_status":200,"title":"Example Domain","meta_description":"","canonical_url":null,"main_text":"Example Domain","markdown":"# Example Domain","headings":[{"level":1,"text":"Example Domain"}],"links":[{"url":"https://example.com/about","text":"About"}],"content_type":"text/html","timing_seconds":0.12,"extraction_method":"http_html","browser_used":false,"bytes_read":512},"examples_are_synthetic":true,"price_usd":"0.008","price_atomic":"8000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/read-page","method":"POST","resource_profile":{"workload":"network","initial":["document"],"phases":["document","browser"],"worker":["document"]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"timeout":45.0,"max_input_bytes":8388608,"max_output_bytes":524288,"max_total_bytes":8388608,"max_pages":5,"max_depth":2,"max_urls":200,"max_sitemaps":8,"max_requests":24,"max_document_pages":20,"max_ocr_pages":3,"max_image_pixels":12000000,"ocr_dpi":150,"worker_memory_mb":768,"document_jobs":3,"max_spec_nodes":30000,"max_spec_depth":48,"dns_timeout":3.0,"ocr_timeout":15.0},"methods":["POST","GET"],"method_prices":{"POST":{"price_atomic":"8000","price_usd":"0.008"},"GET":{"price_atomic":"8000","price_usd":"0.008"}},"get_alias":{"capability":"read_page","input_schema":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":2048,"description":"Public URL without credentials, query or fragment. PDF requires HTTPS."},"browser_fallback":{"default":false,"title":"Browser Fallback","type":"boolean"}},"required":["url"],"additionalProperties":false},"input_example":{"url":"https://example.com"},"example_url":"https://tdagentutility.co.uk/v1/read-page?url=https%3A%2F%2Fexample.com","limitations":"GET aliases require bounded query parameters, no request body, no duplicate or unknown keys. Target URLs on GET must have no credentials, query string or fragment; use POST for public query-bearing targets and never submit secrets. URL length <=2048; encoded query <=8192 bytes. Email, payer-owned state/runtime and structured/inline/upload inputs are POST-only. GET is paid, not a free sample; each successful newly authorized call is chargeable. Only x402 V2 exact is supported, not V1 signatures, MPP or paid MCP. Use the canonical origin; aliases are the same capability and same price, not new tools."}},{"tool":"site_map","enabled":true,"title":"Discover website URLs — sitemap and link discovery","description":"Discover website URLs before crawling or indexing. Read robots.txt, sitemap indexes and homepage links to return a bounded, deduplicated same-origin URL list with discovery sources and robots hints; not a full content crawl.","tags":["web","sitemap","research","agent-tools","discover-website-urls","sitemap-discovery","website-url-list"],"search_terms":["discover website URLs","sitemap discovery","website URL list"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"additionalProperties":false,"properties":{"url":{"maxLength":2048,"minLength":1,"title":"Url","type":"string","description":"Public HTTP(S) URL on port 80/443; private networks and unsafe redirects are blocked."}},"required":["url"],"title":"MapInput","type":"object"},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"requested_url":{"type":"string"},"urls":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"canonical_url":{"type":"string"},"source":{"type":"string"},"hint":{"type":["string","null"]},"robots_allowed":{"type":"boolean"}},"required":["url","canonical_url","source","hint","robots_allowed"],"additionalProperties":false}},"robots_status":{"type":"integer"},"sitemap_status":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"status":{"type":"integer"}},"required":["url","status"],"additionalProperties":false}},"duplicates_removed":{"type":"integer"},"summary":{"type":"object","properties":{"url_count":{"type":"integer"},"requests":{"type":"integer"},"bytes_read":{"type":"integer"}},"required":["url_count","requests","bytes_read"],"additionalProperties":false}},"required":["tool","checked_at","result_status","warnings","requested_url","urls","robots_status","sitemap_status","duplicates_removed","summary"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"url":"https://example.com"},"output_example":{"tool":"site_map","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"requested_url":"https://example.com","urls":[{"url":"https://example.com/","canonical_url":"https://example.com/","source":"sitemap","hint":null,"robots_allowed":true}],"robots_status":200,"sitemap_status":[{"url":"https://example.com/sitemap.xml","status":200}],"duplicates_removed":0,"summary":{"url_count":1,"requests":3,"bytes_read":512}},"examples_are_synthetic":true,"price_usd":"0.005","price_atomic":"5000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/site-map","method":"POST","resource_profile":{"workload":"network","initial":["document"],"phases":["document"],"worker":["document"]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"timeout":45.0,"max_input_bytes":8388608,"max_output_bytes":524288,"max_total_bytes":8388608,"max_pages":5,"max_depth":2,"max_urls":200,"max_sitemaps":8,"max_requests":24,"max_document_pages":20,"max_ocr_pages":3,"max_image_pixels":12000000,"ocr_dpi":150,"worker_memory_mb":768,"document_jobs":3,"max_spec_nodes":30000,"max_spec_depth":48,"dns_timeout":3.0,"ocr_timeout":15.0},"methods":["POST","GET"],"method_prices":{"POST":{"price_atomic":"5000","price_usd":"0.005"},"GET":{"price_atomic":"5000","price_usd":"0.005"}},"get_alias":{"capability":"site_map","input_schema":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":2048,"description":"Public URL without credentials, query or fragment. PDF requires HTTPS."}},"required":["url"],"additionalProperties":false},"input_example":{"url":"https://example.com"},"example_url":"https://tdagentutility.co.uk/v1/site-map?url=https%3A%2F%2Fexample.com","limitations":"GET aliases require bounded query parameters, no request body, no duplicate or unknown keys. Target URLs on GET must have no credentials, query string or fragment; use POST for public query-bearing targets and never submit secrets. URL length <=2048; encoded query <=8192 bytes. Email, payer-owned state/runtime and structured/inline/upload inputs are POST-only. GET is paid, not a free sample; each successful newly authorized call is chargeable. Only x402 V2 exact is supported, not V1 signatures, MPP or paid MCP. Use the canonical origin; aliases are the same capability and same price, not new tools."}},{"tool":"site_crawl","enabled":true,"title":"Crawl website — multi-page text and Markdown","description":"Crawl a website across multiple same-origin pages and return per-page clean text, Markdown, headings, links and success/error evidence for agent research and indexing. Page, depth, request and byte budgets apply; not an unlimited website crawl.","tags":["web","crawl","reading","research","agent-tools","website-crawl","crawl-site","multi-page-crawl"],"search_terms":["website crawl","crawl site","multi-page crawl"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"additionalProperties":false,"properties":{"url":{"maxLength":2048,"minLength":1,"title":"Url","type":"string","description":"Public HTTP(S) URL on port 80/443; private networks and unsafe redirects are blocked."},"max_pages":{"default":3,"minimum":1,"title":"Max Pages","type":"integer","maximum":5,"description":"Maximum pages for this call, bounded by the current crawl policy."},"depth":{"default":1,"minimum":0,"title":"Depth","type":"integer","maximum":2,"description":"Maximum same-origin link depth, bounded by the current crawl policy."}},"required":["url"],"title":"CrawlInput","type":"object"},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"requested_url":{"type":"string"},"pages":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"url":{"type":"string"},"requested_url":{"type":"string"},"final_url":{"type":"string"},"http_status":{"type":"integer"},"title":{"type":"string"},"meta_description":{"type":"string"},"canonical_url":{"type":["string","null"]},"main_text":{"type":"string"},"markdown":{"type":"string"},"headings":{"type":"array","items":{"type":"object","properties":{"level":{"type":"integer","minimum":1,"maximum":6},"text":{"type":"string"}},"required":["level","text"],"additionalProperties":false}},"links":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"text":{"type":"string"}},"required":["url","text"],"additionalProperties":false}},"content_type":{"type":"string"},"timing_seconds":{"type":"number"},"extraction_method":{"type":"string"},"browser_used":{"type":"boolean"},"bytes_read":{"type":"integer"},"warnings":{"type":"array","items":{"type":"string"}},"result_status":{"enum":["PASS","REVIEW","ISSUE"]}},"required":["url","requested_url","final_url","http_status","title","meta_description","canonical_url","main_text","markdown","headings","links","content_type","timing_seconds","extraction_method","browser_used","bytes_read","warnings","result_status"],"additionalProperties":false},{"type":"object","properties":{"url":{"type":"string"},"error":{"type":"string"}},"required":["url","error"],"additionalProperties":false}]}},"summary":{"type":"object","properties":{"attempted":{"type":"integer"},"successful":{"type":"integer"},"failed":{"type":"integer"},"requested_max_pages":{"type":"integer"},"requests":{"type":"integer"},"bytes_read":{"type":"integer"},"frontier_remaining":{"type":"integer"}},"required":["attempted","successful","failed","requested_max_pages","requests","bytes_read","frontier_remaining"],"additionalProperties":false}},"required":["tool","checked_at","result_status","warnings","requested_url","pages","summary"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"url":"https://example.com","max_pages":3,"depth":1},"output_example":{"tool":"site_crawl","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"requested_url":"https://example.com","pages":[{"url":"https://example.com/","requested_url":"https://example.com","final_url":"https://example.com/","http_status":200,"title":"Example Domain","meta_description":"","canonical_url":null,"main_text":"Example Domain","markdown":"# Example Domain","headings":[{"level":1,"text":"Example Domain"}],"links":[{"url":"https://example.com/about","text":"About"}],"content_type":"text/html","timing_seconds":0.12,"extraction_method":"http_html","browser_used":false,"bytes_read":512,"warnings":[],"result_status":"PASS"}],"summary":{"attempted":1,"successful":1,"failed":0,"requested_max_pages":3,"requests":3,"bytes_read":512,"frontier_remaining":0}},"examples_are_synthetic":true,"price_usd":"0.02","price_atomic":"20000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/site-crawl","method":"POST","resource_profile":{"workload":"crawl","initial":["document"],"phases":["document","browser"],"worker":["document"]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"timeout":45.0,"max_input_bytes":8388608,"max_output_bytes":524288,"max_total_bytes":8388608,"max_pages":5,"max_depth":2,"max_urls":200,"max_sitemaps":8,"max_requests":24,"max_document_pages":20,"max_ocr_pages":3,"max_image_pixels":12000000,"ocr_dpi":150,"worker_memory_mb":768,"document_jobs":3,"max_spec_nodes":30000,"max_spec_depth":48,"dns_timeout":3.0,"ocr_timeout":15.0},"methods":["POST","GET"],"method_prices":{"POST":{"price_atomic":"20000","price_usd":"0.02"},"GET":{"price_atomic":"20000","price_usd":"0.02"}},"get_alias":{"capability":"site_crawl","input_schema":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":2048,"description":"Public URL without credentials, query or fragment. PDF requires HTTPS."},"max_pages":{"default":3,"minimum":1,"title":"Max Pages","type":"integer","maximum":5,"description":"Maximum pages for this call, bounded by the current crawl policy."},"depth":{"default":1,"minimum":0,"title":"Depth","type":"integer","maximum":2,"description":"Maximum same-origin link depth, bounded by the current crawl policy."}},"required":["url"],"additionalProperties":false},"input_example":{"url":"https://example.com","max_pages":3,"depth":1},"example_url":"https://tdagentutility.co.uk/v1/site-crawl?url=https%3A%2F%2Fexample.com&max_pages=3&depth=1","limitations":"GET aliases require bounded query parameters, no request body, no duplicate or unknown keys. Target URLs on GET must have no credentials, query string or fragment; use POST for public query-bearing targets and never submit secrets. URL length <=2048; encoded query <=8192 bytes. Email, payer-owned state/runtime and structured/inline/upload inputs are POST-only. GET is paid, not a free sample; each successful newly authorized call is chargeable. Only x402 V2 exact is supported, not V1 signatures, MPP or paid MCP. Use the canonical origin; aliases are the same capability and same price, not new tools."}},{"tool":"email_verify","enabled":true,"title":"Verify an email address","description":"Verify an email address with deterministic syntax, domain DNS and MX mail-infrastructure checks for automated workflows. Return normalized address, domain and mail-check findings without sending mail; mailbox existence and delivery remain unverified (UNKNOWN).","tags":["email","verification","agent-tools","email-check","email-verification","mx-verification","domain-verification"],"search_terms":["email check","email verification","MX verification","domain verification"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"additionalProperties":false,"properties":{"email":{"maxLength":320,"minLength":3,"title":"Email","type":"string"}},"required":["email"],"title":"EmailInput","type":"object"},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"normalized_email":{"type":["string","null"]},"normalized_domain":{"type":["string","null"]},"syntactically_valid":{"type":"boolean"},"dns_exists":{"type":["boolean","null"]},"mail_infrastructure_valid":{"type":["boolean","null"]},"mx_records":{"type":"array","items":{"type":"object","properties":{"preference":{"type":"integer"},"exchange":{"type":"string"}},"required":["preference","exchange"],"additionalProperties":false}},"null_mx":{"type":"boolean"},"role_address":{"type":"boolean"},"disposable_domain":{"type":["boolean","null"]},"mailbox_existence":{"const":"UNKNOWN"}},"required":["tool","checked_at","result_status","warnings","normalized_email","normalized_domain","syntactically_valid","dns_exists","mail_infrastructure_valid","mx_records","null_mx","role_address","disposable_domain","mailbox_existence"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"email":"agent@example.com"},"output_example":{"tool":"email_verify","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"normalized_email":"agent@example.com","normalized_domain":"example.com","syntactically_valid":true,"dns_exists":true,"mail_infrastructure_valid":true,"mx_records":[{"preference":10,"exchange":"mail.example.com"}],"null_mx":false,"role_address":false,"disposable_domain":null,"mailbox_existence":"UNKNOWN"},"examples_are_synthetic":true,"price_usd":"0.002","price_atomic":"2000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/email-verify","method":"POST","resource_profile":{"workload":"interactive","initial":[],"phases":[],"worker":["document"]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"timeout":45.0,"max_input_bytes":8388608,"max_output_bytes":524288,"max_total_bytes":8388608,"max_pages":5,"max_depth":2,"max_urls":200,"max_sitemaps":8,"max_requests":24,"max_document_pages":20,"max_ocr_pages":3,"max_image_pixels":12000000,"ocr_dpi":150,"worker_memory_mb":768,"document_jobs":3,"max_spec_nodes":30000,"max_spec_depth":48,"dns_timeout":3.0,"ocr_timeout":15.0},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"2000","price_usd":"0.002"}}},{"tool":"openapi_check","enabled":true,"title":"Validate OpenAPI specification — API spec check — document errors","description":"Validate an OpenAPI 3.x specification in JSON or YAML for coding agents and API integrations. Report structural problems, broken internal references, schema issues and operation IDs. Check Swagger-authored OpenAPI 3.x documents; legacy Swagger 2.0 is unsupported. Remote references are not fetched.","tags":["openapi","api","verification","agent-tools","validation","openapi-validation","openapi-validator","swagger-validator-for-openapi-3.x","api-spec-check"],"search_terms":["OpenAPI validator","Swagger validator for OpenAPI 3.x","API spec check"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"additionalProperties":false,"properties":{"url":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"default":null,"title":"Url","description":"Public HTTP(S) URL on port 80/443; private networks and unsafe redirects are blocked."},"document":{"anyOf":[{"type":"string"},{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"title":"Document","description":"Inline OpenAPI 3.x JSON object or JSON/YAML string, not legacy Swagger 2.0. Provide exactly one non-null source: document or url. Remote refs are not fetched."}},"title":"SpecInput","type":"object","oneOf":[{"required":["url"],"properties":{"url":{"maxLength":2048,"type":"string"},"document":{"type":"null"}}},{"required":["document"],"properties":{"url":{"type":"null"},"document":{"not":{"type":"null"}}}}],"description":"Exactly one non-null source: url or document. Existing runtime validation is authoritative."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"parse_valid":{"type":"boolean"},"valid":{"type":"boolean"},"openapi_version":{"type":["string","null"]},"servers":{"type":"array","items":{"type":"object"}},"operation_count":{"type":"integer"},"operations":{"type":"array","items":{"type":"object","properties":{"method":{"type":"string"},"path":{"type":"string"},"operation_id":{"type":["string","null"]}},"required":["method","path","operation_id"],"additionalProperties":false}},"missing_operation_ids":{"type":"array","items":{"type":"string"}},"duplicate_operation_ids":{"type":"array","items":{"type":"string"}},"unresolved_refs":{"type":"array","items":{"type":"string"}},"recursive_refs":{"type":"array","items":{"type":"string"}},"malformed_schemas":{"type":"array","items":{"type":"string"}},"security_schemes":{"type":"object"},"undescribed_operations":{"type":"array","items":{"type":"string"}},"ambiguous_parameters":{"type":"array","items":{"type":"string"}},"errors":{"type":"array","items":{"type":"string"}},"score":{"type":"integer"},"summary":{"type":"string"}},"required":["tool","checked_at","result_status","warnings","parse_valid","valid","openapi_version","servers","operation_count","operations","missing_operation_ids","duplicate_operation_ids","unresolved_refs","recursive_refs","malformed_schemas","security_schemes","undescribed_operations","ambiguous_parameters","errors","score","summary"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"document":{"openapi":"3.1.0","info":{"title":"Example","version":"1"},"paths":{}}},"output_example":{"tool":"openapi_check","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"parse_valid":true,"valid":true,"openapi_version":"3.1.0","servers":[],"operation_count":0,"operations":[],"missing_operation_ids":[],"duplicate_operation_ids":[],"unresolved_refs":[],"recursive_refs":[],"malformed_schemas":[],"security_schemes":{},"undescribed_operations":[],"ambiguous_parameters":[],"errors":[],"score":100,"summary":"Document parsed; no issues found in this synthetic example."},"examples_are_synthetic":true,"price_usd":"0.003","price_atomic":"3000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/openapi-check","method":"POST","resource_profile":{"workload":"interactive","initial":["document"],"phases":["document"],"worker":["document"]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"timeout":45.0,"max_input_bytes":8388608,"max_output_bytes":524288,"max_total_bytes":8388608,"max_pages":5,"max_depth":2,"max_urls":200,"max_sitemaps":8,"max_requests":24,"max_document_pages":20,"max_ocr_pages":3,"max_image_pixels":12000000,"ocr_dpi":150,"worker_memory_mb":768,"document_jobs":3,"max_spec_nodes":30000,"max_spec_depth":48,"dns_timeout":3.0,"ocr_timeout":15.0},"methods":["POST","GET"],"method_prices":{"POST":{"price_atomic":"3000","price_usd":"0.003"},"GET":{"price_atomic":"3000","price_usd":"0.003"}},"get_alias":{"capability":"openapi_check","input_schema":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":2048,"description":"Public URL without credentials, query or fragment. PDF requires HTTPS."}},"required":["url"],"additionalProperties":false},"input_example":{"url":"https://example.com/openapi.json"},"example_url":"https://tdagentutility.co.uk/v1/openapi-check?url=https%3A%2F%2Fexample.com%2Fopenapi.json","limitations":"GET aliases require bounded query parameters, no request body, no duplicate or unknown keys. Target URLs on GET must have no credentials, query string or fragment; use POST for public query-bearing targets and never submit secrets. URL length <=2048; encoded query <=8192 bytes. Email, payer-owned state/runtime and structured/inline/upload inputs are POST-only. GET is paid, not a free sample; each successful newly authorized call is chargeable. Only x402 V2 exact is supported, not V1 signatures, MPP or paid MCP. Use the canonical origin; aliases are the same capability and same price, not new tools."}},{"tool":"pdf_extract","enabled":true,"title":"Extract text from PDF","description":"Extract text from a PDF with embedded readable text for AI agents, RAG and document QA. Return page text, combined text, metadata and an indicator that OCR may be needed. Accept a public HTTPS PDF URL or base64 content; this tool does not perform OCR.","tags":["pdf","document","reading","agent-tools","pdf-text-extraction","document-qa","rag-document-ingestion"],"search_terms":["PDF text extraction","document QA","RAG document ingestion"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"additionalProperties":false,"properties":{"url":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"default":null,"title":"Url","description":"Public HTTPS document URL; no private networks. Provide exactly one non-null source."},"content_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Content Base64","description":"Base64-encoded PDF bytes (PNG/JPEG also accepted by pdf_ocr), not a file path. Provide exactly one non-null source. Decoded size and document budgets are in policy_limits."},"filename":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"title":"Filename"}},"title":"DocumentInput","type":"object","oneOf":[{"required":["url"],"properties":{"url":{"maxLength":2048,"type":"string"},"content_base64":{"type":"null"}}},{"required":["content_base64"],"properties":{"url":{"type":"null"},"content_base64":{"not":{"type":"null"}}}}],"description":"Exactly one non-null source: url or content_base64. Existing runtime validation is authoritative."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"page_count":{"type":"integer"},"metadata":{"type":"object","additionalProperties":{"type":"string"}},"pages":{"type":"array","items":{"type":"object","properties":{"page":{"type":"integer"},"text":{"type":"string"}},"required":["page","text"],"additionalProperties":false}},"combined_text":{"type":"string"},"ocr_appears_necessary":{"type":"boolean"},"extraction_method":{"type":"string"}},"required":["tool","checked_at","result_status","warnings","page_count","metadata","pages","combined_text","ocr_appears_necessary","extraction_method"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"url":"https://example.com/document.pdf"},"output_example":{"tool":"pdf_extract","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"page_count":1,"metadata":{},"pages":[{"page":1,"text":"Example document text"}],"combined_text":"Example document text","ocr_appears_necessary":false,"extraction_method":"pdfium_embedded_text"},"examples_are_synthetic":true,"price_usd":"0.005","price_atomic":"5000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/pdf-extract","method":"POST","resource_profile":{"workload":"document","initial":["document"],"phases":["document"],"worker":["document"]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"timeout":45.0,"max_input_bytes":8388608,"max_output_bytes":524288,"max_total_bytes":8388608,"max_pages":5,"max_depth":2,"max_urls":200,"max_sitemaps":8,"max_requests":24,"max_document_pages":20,"max_ocr_pages":3,"max_image_pixels":12000000,"ocr_dpi":150,"worker_memory_mb":768,"document_jobs":3,"max_spec_nodes":30000,"max_spec_depth":48,"dns_timeout":3.0,"ocr_timeout":15.0},"methods":["POST","GET"],"method_prices":{"POST":{"price_atomic":"5000","price_usd":"0.005"},"GET":{"price_atomic":"5000","price_usd":"0.005"}},"get_alias":{"capability":"pdf_extract","input_schema":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":2048,"description":"Public URL without credentials, query or fragment. PDF requires HTTPS."}},"required":["url"],"additionalProperties":false},"input_example":{"url":"https://example.com/document.pdf"},"example_url":"https://tdagentutility.co.uk/v1/pdf-extract?url=https%3A%2F%2Fexample.com%2Fdocument.pdf","limitations":"GET aliases require bounded query parameters, no request body, no duplicate or unknown keys. Target URLs on GET must have no credentials, query string or fragment; use POST for public query-bearing targets and never submit secrets. URL length <=2048; encoded query <=8192 bytes. Email, payer-owned state/runtime and structured/inline/upload inputs are POST-only. GET is paid, not a free sample; each successful newly authorized call is chargeable. Only x402 V2 exact is supported, not V1 signatures, MPP or paid MCP. Use the canonical origin; aliases are the same capability and same price, not new tools."}},{"tool":"pdf_tables","enabled":true,"title":"Extract tables from PDF","description":"Extract structured tables from a PDF for AI data-processing workflows. Return page/table indexes, cell rows, conservative header candidates and CSV-compatible rows. Uncertain cells stay null; no OCR of scanned tables is performed.","tags":["pdf","tables","document","agent-tools","pdf-table-extraction","pdf-to-csv-rows","structured-table-cells"],"search_terms":["PDF table extraction","PDF to CSV rows","structured table cells"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"additionalProperties":false,"properties":{"url":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"default":null,"title":"Url","description":"Public HTTPS document URL; no private networks. Provide exactly one non-null source."},"content_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Content Base64","description":"Base64-encoded PDF bytes (PNG/JPEG also accepted by pdf_ocr), not a file path. Provide exactly one non-null source. Decoded size and document budgets are in policy_limits."},"filename":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"title":"Filename"}},"title":"DocumentInput","type":"object","oneOf":[{"required":["url"],"properties":{"url":{"maxLength":2048,"type":"string"},"content_base64":{"type":"null"}}},{"required":["content_base64"],"properties":{"url":{"type":"null"},"content_base64":{"not":{"type":"null"}}}}],"description":"Exactly one non-null source: url or content_base64. Existing runtime validation is authoritative."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"page_count":{"type":"integer"},"tables":{"type":"array","items":{"type":"object","properties":{"page":{"type":"integer"},"table_index":{"type":"integer"},"headers":{"type":["array","null"],"items":{"type":["string","null"]}},"header_candidates":{"type":"array","items":{"type":["string","null"]}},"rows":{"type":"array","items":{"type":"array","items":{"type":["string","null"]}}},"csv_rows":{"type":"array","items":{"type":"array","items":{"type":["string","null"]}}},"confidence":{"type":["number","null"]},"warnings":{"type":"array","items":{"type":"string"}}},"required":["page","table_index","headers","header_candidates","rows","csv_rows","confidence","warnings"],"additionalProperties":false}},"extraction_method":{"type":"string"}},"required":["tool","checked_at","result_status","warnings","page_count","tables","extraction_method"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"url":"https://example.com/document.pdf"},"output_example":{"tool":"pdf_tables","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"page_count":1,"tables":[{"page":1,"table_index":0,"headers":["Item","Count"],"header_candidates":["Item","Count"],"rows":[["A","2"]],"csv_rows":[["A","2"]],"confidence":null,"warnings":[]}],"extraction_method":"pdfplumber_lines"},"examples_are_synthetic":true,"price_usd":"0.01","price_atomic":"10000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/pdf-tables","method":"POST","resource_profile":{"workload":"document","initial":["document"],"phases":["document"],"worker":["document"]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"timeout":45.0,"max_input_bytes":8388608,"max_output_bytes":524288,"max_total_bytes":8388608,"max_pages":5,"max_depth":2,"max_urls":200,"max_sitemaps":8,"max_requests":24,"max_document_pages":20,"max_ocr_pages":3,"max_image_pixels":12000000,"ocr_dpi":150,"worker_memory_mb":768,"document_jobs":3,"max_spec_nodes":30000,"max_spec_depth":48,"dns_timeout":3.0,"ocr_timeout":15.0},"methods":["POST","GET"],"method_prices":{"POST":{"price_atomic":"10000","price_usd":"0.01"},"GET":{"price_atomic":"10000","price_usd":"0.01"}},"get_alias":{"capability":"pdf_tables","input_schema":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":2048,"description":"Public URL without credentials, query or fragment. PDF requires HTTPS."}},"required":["url"],"additionalProperties":false},"input_example":{"url":"https://example.com/document.pdf"},"example_url":"https://tdagentutility.co.uk/v1/pdf-tables?url=https%3A%2F%2Fexample.com%2Fdocument.pdf","limitations":"GET aliases require bounded query parameters, no request body, no duplicate or unknown keys. Target URLs on GET must have no credentials, query string or fragment; use POST for public query-bearing targets and never submit secrets. URL length <=2048; encoded query <=8192 bytes. Email, payer-owned state/runtime and structured/inline/upload inputs are POST-only. GET is paid, not a free sample; each successful newly authorized call is chargeable. Only x402 V2 exact is supported, not V1 signatures, MPP or paid MCP. Use the canonical origin; aliases are the same capability and same price, not new tools."}},{"tool":"pdf_ocr","enabled":true,"title":"OCR scanned PDF and images — readable document text","description":"OCR a scanned PDF, image PDF or PNG/JPEG document to readable text for AI agents and document processing. Return per-page and combined text with Tesseract quality indicators. Page, pixel and time limits apply; no searchable-PDF file is generated.","tags":["pdf","ocr","document","reading","agent-tools","scanned-pdf","image-pdf","document-ocr"],"search_terms":["OCR","scanned PDF","image PDF","document OCR"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"additionalProperties":false,"properties":{"url":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"default":null,"title":"Url","description":"Public HTTPS document URL; no private networks. Provide exactly one non-null source."},"content_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Content Base64","description":"Base64-encoded PDF bytes (PNG/JPEG also accepted by pdf_ocr), not a file path. Provide exactly one non-null source. Decoded size and document budgets are in policy_limits."},"filename":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"title":"Filename"}},"title":"DocumentInput","type":"object","oneOf":[{"required":["url"],"properties":{"url":{"maxLength":2048,"type":"string"},"content_base64":{"type":"null"}}},{"required":["content_base64"],"properties":{"url":{"type":"null"},"content_base64":{"not":{"type":"null"}}}}],"description":"Exactly one non-null source: url or content_base64. Existing runtime validation is authoritative."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"page_count":{"type":"integer"},"pages":{"type":"array","items":{"type":"object","properties":{"page":{"type":"integer"},"text":{"type":"string"},"mean_word_confidence":{"type":["number","null"]},"warnings":{"type":"array","items":{"type":"string"}}},"required":["page","text","mean_word_confidence","warnings"],"additionalProperties":false}},"combined_text":{"type":"string"},"ocr_method":{"type":"string"},"language":{"type":"string"}},"required":["tool","checked_at","result_status","warnings","page_count","pages","combined_text","ocr_method","language"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"url":"https://example.com/scan.pdf"},"output_example":{"tool":"pdf_ocr","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"page_count":1,"pages":[{"page":1,"text":"Example scanned text","mean_word_confidence":92.0,"warnings":[]}],"combined_text":"Example scanned text","ocr_method":"tesseract_5_local_pdfium","language":"eng"},"examples_are_synthetic":true,"price_usd":"0.02","price_atomic":"20000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/pdf-ocr","method":"POST","resource_profile":{"workload":"ocr","initial":["document","ocr"],"phases":["document","ocr"],"worker":["document","ocr"]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"timeout":45.0,"max_input_bytes":8388608,"max_output_bytes":524288,"max_total_bytes":8388608,"max_pages":5,"max_depth":2,"max_urls":200,"max_sitemaps":8,"max_requests":24,"max_document_pages":20,"max_ocr_pages":3,"max_image_pixels":12000000,"ocr_dpi":150,"worker_memory_mb":768,"document_jobs":3,"max_spec_nodes":30000,"max_spec_depth":48,"dns_timeout":3.0,"ocr_timeout":15.0},"methods":["POST","GET"],"method_prices":{"POST":{"price_atomic":"20000","price_usd":"0.02"},"GET":{"price_atomic":"20000","price_usd":"0.02"}},"get_alias":{"capability":"pdf_ocr","input_schema":{"type":"object","properties":{"url":{"type":"string","minLength":1,"maxLength":2048,"description":"Public URL without credentials, query or fragment. PDF requires HTTPS."}},"required":["url"],"additionalProperties":false},"input_example":{"url":"https://example.com/scan.pdf"},"example_url":"https://tdagentutility.co.uk/v1/pdf-ocr?url=https%3A%2F%2Fexample.com%2Fscan.pdf","limitations":"GET aliases require bounded query parameters, no request body, no duplicate or unknown keys. Target URLs on GET must have no credentials, query string or fragment; use POST for public query-bearing targets and never submit secrets. URL length <=2048; encoded query <=8192 bytes. Email, payer-owned state/runtime and structured/inline/upload inputs are POST-only. GET is paid, not a free sample; each successful newly authorized call is chargeable. Only x402 V2 exact is supported, not V1 signatures, MPP or paid MCP. Use the canonical origin; aliases are the same capability and same price, not new tools."}},{"tool":"state_put","enabled":true,"title":"Store persistent memory for an AI agent","description":"Store persistent memory for an AI agent across runs as bounded JSON by key, until TTL expiry; optional compare-and-swap. Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","tags":["agent-runtime","payer-owned","agent-tools","persistent-memory","save-agent-state","ai-memory","persistent-state","kv-state","store-agent-memory"],"search_terms":["AI memory","persistent state","KV state","store agent memory"],"stateful":true,"shared_wallet_router_safe":false,"payer_scope":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","input_schema":{"additionalProperties":false,"properties":{"key":{"maxLength":128,"minLength":1,"pattern":"^[a-zA-Z0-9_.:-]+$","title":"Key","type":"string","description":"Key within the verified paying wallet namespace; not an end-user identity or authorization boundary."},"value":{"title":"Value","description":"Structured JSON subject to byte, depth and node quotas in policy_limits; not executable code."},"ttl":{"anyOf":[{"minimum":1,"type":"integer","maximum":604800},{"type":"null"}],"default":null,"title":"Ttl"},"expected_version":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"title":"Expected Version"}},"required":["key","value"],"title":"PutInput","type":"object","description":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented. See policy_limits for TTL, size and storage quotas."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"key":{"type":"string"},"version":{"type":"integer"},"created_at":{"type":"number"},"updated_at":{"type":"number"},"expires_at":{"type":"number"},"size_bytes":{"type":"integer"}},"required":["tool","checked_at","result_status","warnings","key","version","created_at","updated_at","expires_at","size_bytes"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"key":"memory","value":{"stage":"start"}},"output_example":{"tool":"state_put","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"key":"memory","version":1,"created_at":1792022400,"updated_at":1792022400,"expires_at":1792108800,"size_bytes":17},"examples_are_synthetic":true,"price_usd":"0.002","price_atomic":"2000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/state-put","method":"POST","resource_profile":{"workload":"state","initial":["state"],"phases":[],"worker":[]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"value_bytes":65536,"keys":256,"payer_bytes":1048576,"ttl_default":86400,"ttl_max":604800,"checkpoints":32,"checkpoint_bytes":65536,"checkpoint_versions":8,"locks":16,"lock_ttl_max":300,"inboxes":8,"inbox_ttl":3600,"inbox_ttl_max":86400,"event_bytes":16384,"inbox_events":64,"callback_bytes":16777216,"global_bytes":67108864,"global_rows":100000,"db_bytes":268435456,"min_free_bytes":1073741824,"json_depth":32,"json_nodes":10000,"cleanup_batch":100,"cleanup_seconds":10,"callback_per_minute":60,"callback_burst":10,"inbox_per_minute":10,"db_busy_ms":50,"callback_body_seconds":2},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"2000","price_usd":"0.002"}}},{"tool":"state_get","enabled":true,"title":"Retrieve AI memory by key","description":"Retrieve AI memory or persistent agent state by key before TTL expiry. Return found status, stored value, version and expiry metadata. Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","tags":["agent-runtime","payer-owned","agent-tools","persistent-memory","retrieve-agent-state","retrieve-ai-memory","read-persistent-state","kv-lookup"],"search_terms":["retrieve AI memory","read persistent state","KV lookup"],"stateful":true,"shared_wallet_router_safe":false,"payer_scope":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","input_schema":{"additionalProperties":false,"properties":{"key":{"maxLength":128,"minLength":1,"pattern":"^[a-zA-Z0-9_.:-]+$","title":"Key","type":"string","description":"Key within the verified paying wallet namespace; not an end-user identity or authorization boundary."}},"required":["key"],"title":"KeyInput","type":"object","description":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented. See policy_limits for TTL, size and storage quotas."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"found":{"type":"boolean"},"record":{"anyOf":[{"type":"object","properties":{"key":{"type":"string"},"version":{"type":"integer"},"created_at":{"type":"number"},"updated_at":{"type":"number"},"expires_at":{"type":"number"},"size_bytes":{"type":"integer"},"value":{}},"required":["key","version","created_at","updated_at","expires_at","size_bytes","value"],"additionalProperties":false},{"type":"null"}]}},"required":["tool","checked_at","result_status","warnings","found","record"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"key":"memory"},"output_example":{"tool":"state_get","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"found":true,"record":{"key":"memory","version":1,"created_at":1792022400,"updated_at":1792022400,"expires_at":1792108800,"size_bytes":17,"value":{"stage":"start"}}},"examples_are_synthetic":true,"price_usd":"0.001","price_atomic":"1000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/state-get","method":"POST","resource_profile":{"workload":"state","initial":["state"],"phases":[],"worker":[]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"value_bytes":65536,"keys":256,"payer_bytes":1048576,"ttl_default":86400,"ttl_max":604800,"checkpoints":32,"checkpoint_bytes":65536,"checkpoint_versions":8,"locks":16,"lock_ttl_max":300,"inboxes":8,"inbox_ttl":3600,"inbox_ttl_max":86400,"event_bytes":16384,"inbox_events":64,"callback_bytes":16777216,"global_bytes":67108864,"global_rows":100000,"db_bytes":268435456,"min_free_bytes":1073741824,"json_depth":32,"json_nodes":10000,"cleanup_batch":100,"cleanup_seconds":10,"callback_per_minute":60,"callback_burst":10,"inbox_per_minute":10,"db_busy_ms":50,"callback_body_seconds":2},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"1000","price_usd":"0.001"}}},{"tool":"state_delete","enabled":true,"title":"Delete AI agent memory by key","description":"Delete AI agent memory or persistent KV state by key when a workflow ends. Return whether an unexpired stored value was deleted. Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","tags":["agent-runtime","payer-owned","agent-tools","agent-state","delete-agent-memory","remove-kv-state"],"search_terms":["delete agent memory","remove KV state"],"stateful":true,"shared_wallet_router_safe":false,"payer_scope":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","input_schema":{"additionalProperties":false,"properties":{"key":{"maxLength":128,"minLength":1,"pattern":"^[a-zA-Z0-9_.:-]+$","title":"Key","type":"string","description":"Key within the verified paying wallet namespace; not an end-user identity or authorization boundary."}},"required":["key"],"title":"KeyInput","type":"object","description":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented. See policy_limits for TTL, size and storage quotas."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"deleted":{"type":"boolean"}},"required":["tool","checked_at","result_status","warnings","deleted"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"key":"memory"},"output_example":{"tool":"state_delete","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"deleted":true},"examples_are_synthetic":true,"price_usd":"0.001","price_atomic":"1000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/state-delete","method":"POST","resource_profile":{"workload":"state","initial":["state"],"phases":[],"worker":[]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"value_bytes":65536,"keys":256,"payer_bytes":1048576,"ttl_default":86400,"ttl_max":604800,"checkpoints":32,"checkpoint_bytes":65536,"checkpoint_versions":8,"locks":16,"lock_ttl_max":300,"inboxes":8,"inbox_ttl":3600,"inbox_ttl_max":86400,"event_bytes":16384,"inbox_events":64,"callback_bytes":16777216,"global_bytes":67108864,"global_rows":100000,"db_bytes":268435456,"min_free_bytes":1073741824,"json_depth":32,"json_nodes":10000,"cleanup_batch":100,"cleanup_seconds":10,"callback_per_minute":60,"callback_burst":10,"inbox_per_minute":10,"db_busy_ms":50,"callback_body_seconds":2},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"1000","price_usd":"0.001"}}},{"tool":"counter_increment","enabled":true,"title":"Persistent counter — atomic agent coordination","description":"Atomically increment a persistent counter for agent retries, quotas or progress by a signed 64-bit delta. Return value, version and expiry; overflow is rejected. Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","tags":["agent-runtime","payer-owned","agent-tools","atomic-counter","agent-coordination","persistent-counter","atomic-increment","retry-counter"],"search_terms":["persistent counter","atomic increment","retry counter"],"stateful":true,"shared_wallet_router_safe":false,"payer_scope":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","input_schema":{"additionalProperties":false,"properties":{"key":{"maxLength":128,"minLength":1,"pattern":"^[a-zA-Z0-9_.:-]+$","title":"Key","type":"string","description":"Key within the verified paying wallet namespace; not an end-user identity or authorization boundary."},"delta":{"default":1,"title":"Delta","type":"integer","minimum":-9223372036854775808,"maximum":9223372036854775807},"ttl":{"anyOf":[{"minimum":1,"type":"integer","maximum":604800},{"type":"null"}],"default":null,"title":"Ttl"}},"required":["key"],"title":"CounterInput","type":"object","description":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented. See policy_limits for TTL, size and storage quotas."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"key":{"type":"string"},"version":{"type":"integer"},"created_at":{"type":"number"},"updated_at":{"type":"number"},"expires_at":{"type":"number"},"size_bytes":{"type":"integer"},"value":{"type":"integer"}},"required":["tool","checked_at","result_status","warnings","key","version","created_at","updated_at","expires_at","size_bytes","value"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"key":"calls","delta":1},"output_example":{"tool":"counter_increment","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"key":"calls","version":1,"created_at":1792022400,"updated_at":1792022400,"expires_at":1792108800,"size_bytes":1,"value":1},"examples_are_synthetic":true,"price_usd":"0.001","price_atomic":"1000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/counter-increment","method":"POST","resource_profile":{"workload":"state","initial":["state"],"phases":[],"worker":[]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"value_bytes":65536,"keys":256,"payer_bytes":1048576,"ttl_default":86400,"ttl_max":604800,"checkpoints":32,"checkpoint_bytes":65536,"checkpoint_versions":8,"locks":16,"lock_ttl_max":300,"inboxes":8,"inbox_ttl":3600,"inbox_ttl_max":86400,"event_bytes":16384,"inbox_events":64,"callback_bytes":16777216,"global_bytes":67108864,"global_rows":100000,"db_bytes":268435456,"min_free_bytes":1073741824,"json_depth":32,"json_nodes":10000,"cleanup_batch":100,"cleanup_seconds":10,"callback_per_minute":60,"callback_burst":10,"inbox_per_minute":10,"db_busy_ms":50,"callback_body_seconds":2},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"1000","price_usd":"0.001"}}},{"tool":"lock_acquire","enabled":true,"title":"Acquire distributed lock for agents — payer-scoped lease","description":"Acquire a distributed lock for agents as a TTL-limited payer-scoped mutex lease. Return status, expiry and a secret release token; no global/exactly-once guarantee. Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","tags":["agent-runtime","payer-owned","agent-tools","distributed-lock","prevent-duplicate-agent-work","distributed-lock-for-agents","lease","mutex","duplicate-work-prevention"],"search_terms":["distributed lock for agents","lease","mutex","duplicate-work prevention"],"stateful":true,"shared_wallet_router_safe":false,"payer_scope":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","input_schema":{"additionalProperties":false,"properties":{"key":{"maxLength":128,"minLength":1,"pattern":"^[a-zA-Z0-9_.:-]+$","title":"Key","type":"string","description":"Key within the verified paying wallet namespace; not an end-user identity or authorization boundary."},"ttl":{"default":30,"minimum":1,"title":"Ttl","type":"integer","maximum":300}},"required":["key"],"title":"AcquireInput","type":"object","description":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented. See policy_limits for TTL, size and storage quotas."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"acquired":{"type":"boolean"},"lock_token":{"type":["string","null"]},"expires_at":{"type":["number","null"]}},"required":["tool","checked_at","result_status","warnings","acquired","lock_token","expires_at"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"key":"worker","ttl":30},"output_example":{"tool":"lock_acquire","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"acquired":true,"lock_token":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef","expires_at":1792022430},"examples_are_synthetic":true,"price_usd":"0.001","price_atomic":"1000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/lock-acquire","method":"POST","resource_profile":{"workload":"state","initial":["state"],"phases":[],"worker":[]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"value_bytes":65536,"keys":256,"payer_bytes":1048576,"ttl_default":86400,"ttl_max":604800,"checkpoints":32,"checkpoint_bytes":65536,"checkpoint_versions":8,"locks":16,"lock_ttl_max":300,"inboxes":8,"inbox_ttl":3600,"inbox_ttl_max":86400,"event_bytes":16384,"inbox_events":64,"callback_bytes":16777216,"global_bytes":67108864,"global_rows":100000,"db_bytes":268435456,"min_free_bytes":1073741824,"json_depth":32,"json_nodes":10000,"cleanup_batch":100,"cleanup_seconds":10,"callback_per_minute":60,"callback_burst":10,"inbox_per_minute":10,"db_busy_ms":50,"callback_body_seconds":2},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"1000","price_usd":"0.001"}}},{"tool":"lock_release","enabled":true,"title":"Release distributed lock with issued token","description":"Release a distributed lock using its key and the secret release token issued by lock_acquire. Return whether the payer-scoped lease was released before expiry. Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","tags":["agent-runtime","payer-owned","agent-tools","distributed-lock","release-lock","release-distributed-lock","unlock-lease","release-token"],"search_terms":["release distributed lock","unlock lease","release token"],"stateful":true,"shared_wallet_router_safe":false,"payer_scope":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","input_schema":{"additionalProperties":false,"properties":{"key":{"maxLength":128,"minLength":1,"pattern":"^[a-zA-Z0-9_.:-]+$","title":"Key","type":"string","description":"Key within the verified paying wallet namespace; not an end-user identity or authorization boundary."},"lock_token":{"pattern":"^[a-f0-9]{64}$","title":"Lock Token","type":"string","description":"Secret token returned by a successful lock_acquire for this key and paying wallet. Example token is synthetic."}},"required":["key","lock_token"],"title":"ReleaseInput","type":"object","description":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented. See policy_limits for TTL, size and storage quotas."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"released":{"type":"boolean"}},"required":["tool","checked_at","result_status","warnings","released"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"key":"worker","lock_token":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"},"output_example":{"tool":"lock_release","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"released":true},"examples_are_synthetic":true,"price_usd":"0.001","price_atomic":"1000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/lock-release","method":"POST","resource_profile":{"workload":"state","initial":["state"],"phases":[],"worker":[]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"value_bytes":65536,"keys":256,"payer_bytes":1048576,"ttl_default":86400,"ttl_max":604800,"checkpoints":32,"checkpoint_bytes":65536,"checkpoint_versions":8,"locks":16,"lock_ttl_max":300,"inboxes":8,"inbox_ttl":3600,"inbox_ttl_max":86400,"event_bytes":16384,"inbox_events":64,"callback_bytes":16777216,"global_bytes":67108864,"global_rows":100000,"db_bytes":268435456,"min_free_bytes":1073741824,"json_depth":32,"json_nodes":10000,"cleanup_batch":100,"cleanup_seconds":10,"callback_per_minute":60,"callback_burst":10,"inbox_per_minute":10,"db_busy_ms":50,"callback_body_seconds":2},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"1000","price_usd":"0.001"}}},{"tool":"checkpoint_save","enabled":true,"title":"Save workflow checkpoint — agent crash recovery","description":"Save a versioned workflow checkpoint with stage, progress and JSON payload for AI-agent crash recovery. TTL-limited; optional compare-and-swap. Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","tags":["agent-runtime","payer-owned","agent-tools","workflow-checkpoint","save-checkpoint","save-workflow-checkpoint","crash-recovery","agent-continuity"],"search_terms":["save workflow checkpoint","crash recovery","agent continuity"],"stateful":true,"shared_wallet_router_safe":false,"payer_scope":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","input_schema":{"additionalProperties":false,"properties":{"key":{"maxLength":128,"minLength":1,"pattern":"^[a-zA-Z0-9_.:-]+$","title":"Key","type":"string","description":"Key within the verified paying wallet namespace; not an end-user identity or authorization boundary."},"stage":{"maxLength":128,"minLength":1,"title":"Stage","type":"string"},"progress":{"maximum":1,"minimum":0,"title":"Progress","type":"number"},"payload":{"title":"Payload","description":"Structured JSON subject to byte, depth and node quotas in policy_limits; not executable code."},"expected_version":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"title":"Expected Version"},"ttl":{"anyOf":[{"minimum":1,"type":"integer","maximum":604800},{"type":"null"}],"default":null,"title":"Ttl"}},"required":["key","stage","progress","payload"],"title":"SaveInput","type":"object","description":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented. See policy_limits for TTL, size and storage quotas."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"key":{"type":"string"},"version":{"type":"integer"},"created_at":{"type":"number"},"updated_at":{"type":"number"},"expires_at":{"type":"number"},"size_bytes":{"type":"integer"}},"required":["tool","checked_at","result_status","warnings","key","version","created_at","updated_at","expires_at","size_bytes"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"key":"workflow","stage":"start","progress":0.0,"payload":{}},"output_example":{"tool":"checkpoint_save","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"key":"workflow","version":1,"created_at":1792022400,"updated_at":1792022400,"expires_at":1792108800,"size_bytes":50},"examples_are_synthetic":true,"price_usd":"0.002","price_atomic":"2000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/checkpoint-save","method":"POST","resource_profile":{"workload":"state","initial":["state"],"phases":[],"worker":[]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"value_bytes":65536,"keys":256,"payer_bytes":1048576,"ttl_default":86400,"ttl_max":604800,"checkpoints":32,"checkpoint_bytes":65536,"checkpoint_versions":8,"locks":16,"lock_ttl_max":300,"inboxes":8,"inbox_ttl":3600,"inbox_ttl_max":86400,"event_bytes":16384,"inbox_events":64,"callback_bytes":16777216,"global_bytes":67108864,"global_rows":100000,"db_bytes":268435456,"min_free_bytes":1073741824,"json_depth":32,"json_nodes":10000,"cleanup_batch":100,"cleanup_seconds":10,"callback_per_minute":60,"callback_burst":10,"inbox_per_minute":10,"db_busy_ms":50,"callback_body_seconds":2},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"2000","price_usd":"0.002"}}},{"tool":"checkpoint_load","enabled":true,"title":"Restore workflow checkpoint — resume agent work","description":"Restore a workflow checkpoint, latest or retained revision, before TTL expiry. Return stage, progress and payload so the agent can resume its own work. Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","tags":["agent-runtime","payer-owned","agent-tools","workflow-checkpoint","resume-workflow","restore-workflow-checkpoint","checkpoint-revision"],"search_terms":["restore workflow checkpoint","resume workflow","checkpoint revision"],"stateful":true,"shared_wallet_router_safe":false,"payer_scope":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","input_schema":{"additionalProperties":false,"properties":{"key":{"maxLength":128,"minLength":1,"pattern":"^[a-zA-Z0-9_.:-]+$","title":"Key","type":"string","description":"Key within the verified paying wallet namespace; not an end-user identity or authorization boundary."},"revision":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"title":"Revision"}},"required":["key"],"title":"LoadInput","type":"object","description":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented. See policy_limits for TTL, size and storage quotas."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"found":{"type":"boolean"},"record":{"anyOf":[{"type":"object","properties":{"key":{"type":"string"},"version":{"type":"integer"},"created_at":{"type":"number"},"updated_at":{"type":"number"},"expires_at":{"type":"number"},"size_bytes":{"type":"integer"},"value":{"type":"object","properties":{"stage":{"type":"string"},"progress":{"type":"number"},"payload":{}},"required":["stage","progress","payload"],"additionalProperties":false}},"required":["key","version","created_at","updated_at","expires_at","size_bytes","value"],"additionalProperties":false},{"type":"null"}]}},"required":["tool","checked_at","result_status","warnings","found","record"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"key":"workflow"},"output_example":{"tool":"checkpoint_load","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"found":true,"record":{"key":"workflow","version":1,"created_at":1792022400,"updated_at":1792022400,"expires_at":1792108800,"size_bytes":17,"value":{"stage":"fetch","progress":0.5,"payload":{"next":"parse"}}}},"examples_are_synthetic":true,"price_usd":"0.001","price_atomic":"1000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/checkpoint-load","method":"POST","resource_profile":{"workload":"state","initial":["state"],"phases":[],"worker":[]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"value_bytes":65536,"keys":256,"payer_bytes":1048576,"ttl_default":86400,"ttl_max":604800,"checkpoints":32,"checkpoint_bytes":65536,"checkpoint_versions":8,"locks":16,"lock_ttl_max":300,"inboxes":8,"inbox_ttl":3600,"inbox_ttl_max":86400,"event_bytes":16384,"inbox_events":64,"callback_bytes":16777216,"global_bytes":67108864,"global_rows":100000,"db_bytes":268435456,"min_free_bytes":1073741824,"json_depth":32,"json_nodes":10000,"cleanup_batch":100,"cleanup_seconds":10,"callback_per_minute":60,"callback_burst":10,"inbox_per_minute":10,"db_busy_ms":50,"callback_body_seconds":2},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"1000","price_usd":"0.001"}}},{"tool":"inbox_create","enabled":true,"title":"Create callback inbox — temporary webhook receiver","description":"Create a callback inbox for async agent jobs. Return a secret write-only webhook URL, inbox ID, expiry and limits; JSON/text events, not email. Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","tags":["agent-runtime","payer-owned","agent-tools","temporary-webhook","callback-inbox","async-callback-receiver","create-callback-inbox","webhook-inbox","async-result-receiver"],"search_terms":["create callback inbox","webhook inbox","async result receiver"],"stateful":true,"shared_wallet_router_safe":false,"payer_scope":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","input_schema":{"additionalProperties":false,"properties":{"ttl":{"anyOf":[{"minimum":1,"type":"integer","maximum":86400},{"type":"null"}],"default":null,"title":"Ttl"}},"title":"CreateInput","type":"object","description":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented. See policy_limits for TTL, size and storage quotas."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"inbox_id":{"type":"string"},"callback_url":{"type":"string"},"expires_at":{"type":"number"},"max_event_size":{"type":"integer"},"max_event_count":{"type":"integer"}},"required":["tool","checked_at","result_status","warnings","inbox_id","callback_url","expires_at","max_event_size","max_event_count"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{},"output_example":{"tool":"inbox_create","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"inbox_id":"0123456789abcdef0123456789abcdef","callback_url":"https://tdagentutility.co.uk/callbacks/0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef","expires_at":1792026000,"max_event_size":16384,"max_event_count":64},"examples_are_synthetic":true,"price_usd":"0.003","price_atomic":"3000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/inbox-create","method":"POST","resource_profile":{"workload":"state","initial":["state"],"phases":[],"worker":[]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"value_bytes":65536,"keys":256,"payer_bytes":1048576,"ttl_default":86400,"ttl_max":604800,"checkpoints":32,"checkpoint_bytes":65536,"checkpoint_versions":8,"locks":16,"lock_ttl_max":300,"inboxes":8,"inbox_ttl":3600,"inbox_ttl_max":86400,"event_bytes":16384,"inbox_events":64,"callback_bytes":16777216,"global_bytes":67108864,"global_rows":100000,"db_bytes":268435456,"min_free_bytes":1073741824,"json_depth":32,"json_nodes":10000,"cleanup_batch":100,"cleanup_seconds":10,"callback_per_minute":60,"callback_burst":10,"inbox_per_minute":10,"db_busy_ms":50,"callback_body_seconds":2},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"3000","price_usd":"0.003"}}},{"tool":"inbox_read","enabled":true,"title":"Read callback inbox — asynchronous job events","description":"Read callback inbox events by ID: timestamped JSON/text with optional atomic consume-on-read. For async job results, not email. Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","tags":["agent-runtime","payer-owned","agent-tools","callback-inbox","asynchronous-api-result","read-callback-inbox","poll-webhook-events","async-job-results"],"search_terms":["read callback inbox","poll webhook events","async job results"],"stateful":true,"shared_wallet_router_safe":false,"payer_scope":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","input_schema":{"additionalProperties":false,"properties":{"inbox_id":{"pattern":"^[a-f0-9]{32}$","title":"Inbox Id","type":"string","description":"ID from inbox_create using the same paying wallet. Example ID is synthetic."},"limit":{"default":16,"maximum":64,"minimum":1,"title":"Limit","type":"integer"},"consume":{"default":false,"title":"Consume","type":"boolean"}},"required":["inbox_id"],"title":"ReadInboxInput","type":"object","description":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented. See policy_limits for TTL, size and storage quotas."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"found":{"type":"boolean"},"events":{"type":"array","items":{"type":"object","properties":{"event_id":{"type":"string"},"timestamp":{"type":"number"},"content_type":{"enum":["application/json","text/plain"]},"data":{}},"required":["event_id","timestamp","content_type","data"],"additionalProperties":false}}},"required":["tool","checked_at","result_status","warnings","found","events"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"inbox_id":"0123456789abcdef0123456789abcdef"},"output_example":{"tool":"inbox_read","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"found":true,"events":[{"event_id":"0123456789abcdef0123456789abcdef","timestamp":1792022410,"content_type":"application/json","data":{"status":"complete","result":42}}]},"examples_are_synthetic":true,"price_usd":"0.001","price_atomic":"1000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/inbox-read","method":"POST","resource_profile":{"workload":"state","initial":["state"],"phases":[],"worker":[]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"value_bytes":65536,"keys":256,"payer_bytes":1048576,"ttl_default":86400,"ttl_max":604800,"checkpoints":32,"checkpoint_bytes":65536,"checkpoint_versions":8,"locks":16,"lock_ttl_max":300,"inboxes":8,"inbox_ttl":3600,"inbox_ttl_max":86400,"event_bytes":16384,"inbox_events":64,"callback_bytes":16777216,"global_bytes":67108864,"global_rows":100000,"db_bytes":268435456,"min_free_bytes":1073741824,"json_depth":32,"json_nodes":10000,"cleanup_batch":100,"cleanup_seconds":10,"callback_per_minute":60,"callback_burst":10,"inbox_per_minute":10,"db_busy_ms":50,"callback_body_seconds":2},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"1000","price_usd":"0.001"}}},{"tool":"inbox_delete","enabled":true,"title":"Delete callback inbox — revoke webhook endpoint","description":"Delete a callback inbox after an AI-agent workflow completes and revoke its secret webhook endpoint. Return whether the inbox was deleted. Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","tags":["agent-runtime","payer-owned","agent-tools","temporary-webhook","callback-inbox","delete-callback-inbox","revoke-webhook","inbox-cleanup"],"search_terms":["delete callback inbox","revoke webhook","inbox cleanup"],"stateful":true,"shared_wallet_router_safe":false,"payer_scope":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","input_schema":{"additionalProperties":false,"properties":{"inbox_id":{"pattern":"^[a-f0-9]{32}$","title":"Inbox Id","type":"string","description":"ID from inbox_create using the same paying wallet. Example ID is synthetic."}},"required":["inbox_id"],"title":"InboxInput","type":"object","description":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented. See policy_limits for TTL, size and storage quotas."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"deleted":{"type":"boolean"}},"required":["tool","checked_at","result_status","warnings","deleted"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"inbox_id":"0123456789abcdef0123456789abcdef"},"output_example":{"tool":"inbox_delete","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"deleted":true},"examples_are_synthetic":true,"price_usd":"0.001","price_atomic":"1000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/inbox-delete","method":"POST","resource_profile":{"workload":"state","initial":["state"],"phases":[],"worker":[]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"value_bytes":65536,"keys":256,"payer_bytes":1048576,"ttl_default":86400,"ttl_max":604800,"checkpoints":32,"checkpoint_bytes":65536,"checkpoint_versions":8,"locks":16,"lock_ttl_max":300,"inboxes":8,"inbox_ttl":3600,"inbox_ttl_max":86400,"event_bytes":16384,"inbox_events":64,"callback_bytes":16777216,"global_bytes":67108864,"global_rows":100000,"db_bytes":268435456,"min_free_bytes":1073741824,"json_depth":32,"json_nodes":10000,"cleanup_batch":100,"cleanup_seconds":10,"callback_per_minute":60,"callback_burst":10,"inbox_per_minute":10,"db_busy_ms":50,"callback_body_seconds":2},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"1000","price_usd":"0.001"}}},{"tool":"change_check","enabled":true,"title":"Monitor webpage changes — stored fingerprint comparison","description":"Monitor webpage changes using stored fingerprints. Return change flags and field differences. Repeated caller checks; no background subscription or semantic diff. Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","tags":["agent-runtime","payer-owned","agent-tools","webpage-change-detection","website-change-monitoring","monitor-page-changes","webpage-diff","change-detection"],"search_terms":["monitor page changes","webpage diff","change detection"],"stateful":true,"shared_wallet_router_safe":false,"payer_scope":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented.","input_schema":{"additionalProperties":false,"properties":{"key":{"maxLength":128,"minLength":1,"pattern":"^[a-zA-Z0-9_.:-]+$","title":"Key","type":"string","description":"Key within the verified paying wallet namespace; not an end-user identity or authorization boundary."},"url":{"maxLength":2048,"minLength":1,"title":"Url","type":"string","description":"Public HTTP(S) URL on port 80/443; private networks and unsafe redirects are blocked."},"policy":{"default":"all","enum":["all","content"],"title":"Policy","type":"string"},"ttl":{"anyOf":[{"minimum":1,"type":"integer","maximum":604800},{"type":"null"}],"default":null,"title":"Ttl"}},"required":["key","url"],"title":"ChangeInput","type":"object","description":"Namespace is the verified paying wallet. Direct buyers using their own wallet are isolated; reuse it. A shared-wallet intermediary shares state, not independent-user isolation. Secure delegated end-user identity is not implemented. See policy_limits for TTL, size and storage quotas."},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"tool":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"result_status":{"enum":["PASS","REVIEW","ISSUE"]},"warnings":{"type":"array","items":{"type":"string"}},"first_seen":{"type":"boolean"},"changed":{"type":"boolean"},"previous":{"anyOf":[{"type":"object","properties":{"url":{"type":"string"},"policy":{"enum":["all","content"]},"http_status":{"type":"integer"},"title":{"type":"string"},"main_content":{"type":"string"},"meta_description":{"type":"string"},"canonical_url":{"type":["string","null"]},"final_url":{"type":"string"},"content_type":{"type":"string"},"fingerprint":{"type":"string"},"timestamp":{"type":"number"}},"required":["url","policy","http_status","title","main_content","meta_description","canonical_url","final_url","content_type","fingerprint","timestamp"],"additionalProperties":false},{"type":"null"}]},"current":{"type":"object","properties":{"url":{"type":"string"},"policy":{"enum":["all","content"]},"http_status":{"type":"integer"},"title":{"type":"string"},"main_content":{"type":"string"},"meta_description":{"type":"string"},"canonical_url":{"type":["string","null"]},"final_url":{"type":"string"},"content_type":{"type":"string"},"fingerprint":{"type":"string"},"timestamp":{"type":"number"}},"required":["url","policy","http_status","title","main_content","meta_description","canonical_url","final_url","content_type","fingerprint","timestamp"],"additionalProperties":false},"differences":{"type":"object","properties":{"http_status":{"type":"boolean"},"title":{"type":"boolean"},"main_content":{"type":"boolean"},"canonical_url":{"type":"boolean"},"final_url":{"type":"boolean"},"content_type":{"type":"boolean"},"meta_description":{"type":"boolean"}},"required":["http_status","title","main_content","canonical_url","final_url","content_type","meta_description"],"additionalProperties":false},"version":{"type":"integer"}},"required":["tool","checked_at","result_status","warnings","first_seen","changed","previous","current","differences","version"],"additionalProperties":false,"description":"Declared result structure. The accompanying example is synthetic documentation, not execution or settlement evidence."},"input_example":{"key":"homepage","url":"https://example.com"},"output_example":{"tool":"change_check","checked_at":"2026-10-15T00:00:00Z","result_status":"PASS","warnings":[],"first_seen":false,"changed":true,"previous":{"url":"https://example.com","policy":"all","http_status":200,"title":"Example Domain","main_content":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","meta_description":"Example page","canonical_url":null,"final_url":"https://example.com/","content_type":"text/html","fingerprint":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","timestamp":1792022400},"current":{"url":"https://example.com","policy":"all","http_status":200,"title":"Example Domain","main_content":"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc","meta_description":"Example page","canonical_url":null,"final_url":"https://example.com/","content_type":"text/html","fingerprint":"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd","timestamp":1792022460},"differences":{"http_status":false,"title":false,"main_content":true,"canonical_url":false,"final_url":false,"content_type":false,"meta_description":false},"version":2},"examples_are_synthetic":true,"price_usd":"0.006","price_atomic":"6000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/change-check","method":"POST","resource_profile":{"workload":"network","initial":["document"],"phases":["document","state"],"worker":["document"]},"candidate_price":false,"pricing_policy":"fixed_bounded_v1","policy_limits":{"value_bytes":65536,"keys":256,"payer_bytes":1048576,"ttl_default":86400,"ttl_max":604800,"checkpoints":32,"checkpoint_bytes":65536,"checkpoint_versions":8,"locks":16,"lock_ttl_max":300,"inboxes":8,"inbox_ttl":3600,"inbox_ttl_max":86400,"event_bytes":16384,"inbox_events":64,"callback_bytes":16777216,"global_bytes":67108864,"global_rows":100000,"db_bytes":268435456,"min_free_bytes":1073741824,"json_depth":32,"json_nodes":10000,"cleanup_batch":100,"cleanup_seconds":10,"callback_per_minute":60,"callback_burst":10,"inbox_per_minute":10,"db_busy_ms":50,"callback_body_seconds":2},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"6000","price_usd":"0.006"}}},{"tool":"structured_web_extract","enabled":true,"title":"Extract structured fields from a known webpage","description":"Fixed bounded deterministic operation; no AI inference, customer code or remote schema references. Schema validity is not factual accuracy. Extract explicitly selected fields from a known public URL with hashes and normalized-text provenance. Not general web search; browser fallback disabled.","tags":["agent-tools","deterministic-work"],"search_terms":["known URL extraction","field provenance"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"additionalProperties":false,"properties":{"url":{"maxLength":2048,"minLength":1,"title":"Url","type":"string"},"browser_fallback":{"const":false,"default":false,"title":"Browser Fallback","type":"boolean"},"fields":{"additionalProperties":{"additionalProperties":false,"properties":{"source":{"enum":["title","meta_description","main_text","headings","links"],"title":"Source","type":"string"},"line_prefix":{"anyOf":[{"maxLength":128,"minLength":1,"type":"string"},{"type":"null"}],"default":null,"title":"Line Prefix"},"conversion":{"default":"keep","enum":["keep","integer","number","boolean"],"title":"Conversion","type":"string"}},"required":["source"],"title":"FieldRule","type":"object"},"maxProperties":32,"minProperties":1,"title":"Fields","type":"object"},"output_schema":{"additionalProperties":true,"title":"Output Schema","type":"object"}},"required":["url","fields","output_schema"],"title":"StagingExtractInput","type":"object","description":"Fixed bounded deterministic operation; no AI inference, customer code or remote schema references. Schema validity is not factual accuracy. Extract explicitly selected fields from a known public URL with hashes and normalized-text provenance. Not general web search; browser fallback disabled.Runtime source-XOR and policy validation remain authoritative; see policy_limits."},"output_schema":{"additionalProperties":false,"properties":{"tool":{"const":"structured_web_extract"},"checked_at":{"format":"date-time","title":"Checked At","type":"string"},"result_status":{"const":"REVIEW","title":"Result Status","type":"string"},"requested_url":{"title":"Requested Url","type":"string"},"final_url":{"title":"Final Url","type":"string"},"extraction_method":{"enum":["http_html","http_text","chromium_html"],"title":"Extraction Method","type":"string"},"candidate":{"additionalProperties":true,"title":"Candidate","type":"object"},"validated_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Validated Data"},"valid":{"title":"Valid","type":"boolean"},"confidence":{"title":"Confidence","type":"null"},"field_evidence":{"items":{"additionalProperties":false,"properties":{"field":{"title":"Field","type":"string"},"source":{"title":"Source","type":"string"},"normalized_text_span":{"anyOf":[{"additionalProperties":false,"properties":{"start":{"minimum":0,"title":"Start","type":"integer"},"end":{"minimum":0,"title":"End","type":"integer"}},"required":["start","end"],"title":"Span","type":"object"},{"type":"null"}]},"source_sha256":{"pattern":"^[0-9a-f]{64}$","title":"Source Sha256","type":"string"}},"required":["field","source","normalized_text_span","source_sha256"],"title":"FieldEvidence","type":"object"},"maxItems":32,"title":"Field Evidence","type":"array"},"extraction_errors":{"items":{"additionalProperties":false,"properties":{"field":{"title":"Field","type":"string"},"code":{"enum":["TEXT_SOURCE_REQUIRED","FIELD_NOT_FOUND","AMBIGUOUS_FIELD","CONVERSION_FAILED"],"title":"Code","type":"string"}},"required":["field","code"],"title":"ExtractionError","type":"object"},"maxItems":32,"title":"Extraction Errors","type":"array"},"validation_errors":{"items":{"additionalProperties":false,"properties":{"instance_path":{"title":"Instance Path","type":"string"},"schema_path":{"title":"Schema Path","type":"string"},"keyword":{"title":"Keyword","type":"string"},"code":{"const":"SCHEMA_CONSTRAINT_FAILED","title":"Code","type":"string"}},"required":["instance_path","schema_path","keyword","code"],"title":"ValidationErrorReport","type":"object"},"maxItems":100,"title":"Validation Errors","type":"array"},"errors_truncated":{"title":"Errors Truncated","type":"boolean"},"limitations":{"items":{"type":"string"},"title":"Limitations","type":"array"},"warnings":{"items":{"type":"string"},"title":"Warnings","type":"array"},"observations":{"items":{"additionalProperties":false,"properties":{"requested_url":{"title":"Requested Url","type":"string"},"final_url":{"title":"Final Url","type":"string"},"started_at":{"format":"date-time","title":"Started At","type":"string"},"observed_at":{"format":"date-time","title":"Observed At","type":"string"},"http_status":{"maximum":599,"minimum":100,"title":"Http Status","type":"integer"},"bytes":{"minimum":0,"title":"Bytes","type":"integer"},"body_sha256":{"pattern":"^[0-9a-f]{64}$","title":"Body Sha256","type":"string"}},"required":["requested_url","final_url","started_at","observed_at","http_status","bytes","body_sha256"],"title":"Observation","type":"object"},"title":"Observations","type":"array"},"requests":{"minimum":0,"title":"Requests","type":"integer"},"bytes_read":{"minimum":0,"title":"Bytes Read","type":"integer"},"job_id":{"type":"string"}},"required":["tool","checked_at","result_status","requested_url","final_url","extraction_method","candidate","validated_data","valid","confidence","field_evidence","extraction_errors","validation_errors","errors_truncated","limitations","warnings","observations","requests","bytes_read"],"title":"ExtractResult","type":"object"},"input_example":{"url":"https://example.com","fields":{"title":{"source":"title"}},"output_schema":{"type":"object","properties":{"title":{"type":"string"}},"required":["title"],"additionalProperties":false}},"output_example":{"tool":"structured_web_extract","checked_at":"2026-10-15T00:00:00Z","result_status":"REVIEW","requested_url":"","final_url":"","extraction_method":"http_html","candidate":{},"validated_data":null,"valid":false,"confidence":null,"field_evidence":[],"extraction_errors":[],"validation_errors":[],"errors_truncated":false,"limitations":[],"warnings":[],"observations":[],"requests":0,"bytes_read":0},"examples_are_synthetic":true,"staging_only":false,"price_approval_required":false,"price_usd":"0.008","price_atomic":"8000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/structured-web-extract","method":"POST","resource_profile":{"workload":"network","initial":["document"],"phases":["document"],"worker":["document"]},"candidate_price":false,"pricing_policy":"fixed_bounded_owner_approved_v1","policy_limits":{"timeout":45.0,"max_input_bytes":8388608,"max_output_bytes":524288,"max_total_bytes":8388608,"max_pages":5,"max_depth":2,"max_urls":200,"max_sitemaps":8,"max_requests":24,"max_document_pages":20,"max_ocr_pages":3,"max_image_pixels":12000000,"ocr_dpi":150,"worker_memory_mb":768,"document_jobs":3,"max_spec_nodes":30000,"max_spec_depth":48,"dns_timeout":3.0,"ocr_timeout":15.0},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"8000","price_usd":"0.008"}}},{"tool":"structured_document","enabled":true,"title":"Extract literal fields from text or documents","description":"Fixed bounded deterministic operation; no AI inference, customer code or remote schema references. Schema validity is not factual accuracy. Extract literal-prefixed fields from supplied text, PDF embedded text or local OCR. Missing/ambiguous fields remain errors; OCR can be inaccurate.","tags":["agent-tools","deterministic-work"],"search_terms":["document field extraction","literal text extraction"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"additionalProperties":false,"properties":{"source":{"enum":["text","pdf_extract","pdf_ocr"],"title":"Source","type":"string"},"text":{"anyOf":[{"maxLength":262144,"type":"string"},{"type":"null"}],"default":null,"title":"Text"},"document":{"anyOf":[{"additionalProperties":false,"properties":{"url":{"anyOf":[{"maxLength":2048,"type":"string"},{"type":"null"}],"default":null,"title":"Url"},"content_base64":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Content Base64"},"filename":{"anyOf":[{"maxLength":255,"type":"string"},{"type":"null"}],"default":null,"title":"Filename"}},"title":"DocumentInput","type":"object","oneOf":[{"required":["url"],"properties":{"url":{"type":"string"},"content_base64":{"type":"null"}}},{"required":["content_base64"],"properties":{"url":{"type":"null"},"content_base64":{"type":"string"}}}]},{"type":"null"}],"default":null},"fields":{"additionalProperties":{"additionalProperties":false,"properties":{"source":{"enum":["title","meta_description","main_text","headings","links"],"title":"Source","type":"string"},"line_prefix":{"anyOf":[{"maxLength":128,"minLength":1,"type":"string"},{"type":"null"}],"default":null,"title":"Line Prefix"},"conversion":{"default":"keep","enum":["keep","integer","number","boolean"],"title":"Conversion","type":"string"}},"required":["source"],"title":"FieldRule","type":"object"},"maxProperties":32,"minProperties":1,"title":"Fields","type":"object"},"output_schema":{"additionalProperties":true,"title":"Output Schema","type":"object"}},"required":["source","fields","output_schema"],"title":"StructuredWorkInput","type":"object","description":"Fixed bounded deterministic operation; no AI inference, customer code or remote schema references. Schema validity is not factual accuracy. Extract literal-prefixed fields from supplied text, PDF embedded text or local OCR. Missing/ambiguous fields remain errors; OCR can be inaccurate.Runtime source-XOR and policy validation remain authoritative; see policy_limits.","oneOf":[{"required":["text"],"properties":{"source":{"const":"text"},"text":{"type":"string"},"document":{"type":"null"}}},{"required":["document"],"properties":{"source":{"enum":["pdf_extract","pdf_ocr"]},"text":{"type":"null"},"document":{"type":"object"}}}]},"output_schema":{"type":"object","properties":{"checked_at":{"type":"string","format":"date-time"},"confidence":{"type":"null"},"result_status":{"const":"REVIEW"},"candidate":{"additionalProperties":true,"title":"Candidate","type":"object"},"validated_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Validated Data"},"valid":{"title":"Valid","type":"boolean"},"field_evidence":{"items":{"additionalProperties":false,"properties":{"field":{"title":"Field","type":"string"},"source":{"title":"Source","type":"string"},"normalized_text_span":{"anyOf":[{"additionalProperties":false,"properties":{"start":{"minimum":0,"title":"Start","type":"integer"},"end":{"minimum":0,"title":"End","type":"integer"}},"required":["start","end"],"title":"Span","type":"object"},{"type":"null"}]},"source_sha256":{"pattern":"^[0-9a-f]{64}$","title":"Source Sha256","type":"string"}},"required":["field","source","normalized_text_span","source_sha256"],"title":"FieldEvidence","type":"object"},"maxItems":32,"title":"Field Evidence","type":"array"},"extraction_errors":{"items":{"additionalProperties":false,"properties":{"field":{"title":"Field","type":"string"},"code":{"enum":["TEXT_SOURCE_REQUIRED","FIELD_NOT_FOUND","AMBIGUOUS_FIELD","CONVERSION_FAILED"],"title":"Code","type":"string"}},"required":["field","code"],"title":"ExtractionError","type":"object"},"maxItems":32,"title":"Extraction Errors","type":"array"},"validation_errors":{"items":{"additionalProperties":false,"properties":{"instance_path":{"title":"Instance Path","type":"string"},"schema_path":{"title":"Schema Path","type":"string"},"keyword":{"title":"Keyword","type":"string"},"code":{"const":"SCHEMA_CONSTRAINT_FAILED","title":"Code","type":"string"}},"required":["instance_path","schema_path","keyword","code"],"title":"ValidationErrorReport","type":"object"},"maxItems":100,"title":"Validation Errors","type":"array"},"errors_truncated":{"title":"Errors Truncated","type":"boolean"},"limitations":{"items":{"type":"string"},"title":"Limitations","type":"array"},"capability":{"const":"structured_document"},"source":{"type":"object","properties":{"kind":{"enum":["text","pdf_extract","pdf_ocr"]},"url":{"type":["string","null"]},"content_sha256":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{64}$"},{"type":"null"}]},"method":{"type":"string"},"ocr_appears_necessary":{"type":["boolean","null"]}},"required":["kind","url","content_sha256","method","ocr_appears_necessary"],"additionalProperties":false},"pages":{"type":"array","items":{"type":"object","properties":{"page":{"type":"integer","minimum":1},"start":{"type":"integer","minimum":0},"end":{"type":"integer","minimum":0},"text_sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"mean_word_confidence":{"type":["number","null"]},"warnings":{"type":"array","items":{"type":"string"}}},"required":["page","start","end","text_sha256","mean_word_confidence","warnings"],"additionalProperties":false}},"text_sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"},"warnings":{"type":"array","items":{"type":"string"}},"tool":{"const":"structured_document"},"job_id":{"type":"string"}},"required":["checked_at","confidence","result_status","candidate","validated_data","valid","field_evidence","extraction_errors","validation_errors","errors_truncated","limitations","capability","source","pages","text_sha256","warnings","tool"],"additionalProperties":false},"input_example":{"source":"text","text":"Title: Example","fields":{"title":{"source":"main_text","line_prefix":"Title:"}},"output_schema":{"type":"object","properties":{"title":{"type":"string"}},"required":["title"],"additionalProperties":false}},"output_example":{"checked_at":"2026-10-15T00:00:00Z","confidence":null,"result_status":"REVIEW","candidate":{},"validated_data":null,"valid":false,"field_evidence":[],"extraction_errors":[],"validation_errors":[],"errors_truncated":false,"limitations":[],"capability":"structured_document","source":{"kind":"text","url":null,"content_sha256":null,"method":"","ocr_appears_necessary":null},"pages":[],"text_sha256":"0000000000000000000000000000000000000000000000000000000000000000","warnings":[],"tool":"structured_document"},"examples_are_synthetic":true,"staging_only":false,"price_approval_required":false,"price_usd":"0.009","price_atomic":"9000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/structured-document","method":"POST","resource_profile":{"workload":"document","initial":["document"],"phases":["document","ocr"],"worker":["document"]},"candidate_price":false,"pricing_policy":"fixed_bounded_owner_approved_v1","policy_limits":{"timeout":45.0,"max_input_bytes":8388608,"max_output_bytes":524288,"max_total_bytes":8388608,"max_pages":5,"max_depth":2,"max_urls":200,"max_sitemaps":8,"max_requests":24,"max_document_pages":20,"max_ocr_pages":3,"max_image_pixels":12000000,"ocr_dpi":150,"worker_memory_mb":768,"document_jobs":3,"max_spec_nodes":30000,"max_spec_depth":48,"dns_timeout":3.0,"ocr_timeout":15.0},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"9000","price_usd":"0.009"}}},{"tool":"validate_json","enabled":true,"title":"Validate bounded JSON against a schema subset","description":"Fixed bounded deterministic operation; no AI inference, customer code or remote schema references. Schema validity is not factual accuracy. Validate supplied JSON against the documented bounded JSON Schema subset and return redacted JSON-pointer errors. Refs, regex, composition and formats rejected.","tags":["agent-tools","deterministic-work"],"search_terms":["JSON validation","schema constraint report"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"additionalProperties":false,"properties":{"document":{"title":"Document"},"output_schema":{"additionalProperties":true,"title":"Output Schema","type":"object"}},"required":["document","output_schema"],"title":"ValidateInput","type":"object","description":"Fixed bounded deterministic operation; no AI inference, customer code or remote schema references. Schema validity is not factual accuracy. Validate supplied JSON against the documented bounded JSON Schema subset and return redacted JSON-pointer errors. Refs, regex, composition and formats rejected.Runtime source-XOR and policy validation remain authoritative; see policy_limits."},"output_schema":{"type":"object","properties":{"checked_at":{"type":"string","format":"date-time"},"confidence":{"type":"null"},"result_status":{"const":"REVIEW"},"capability":{"const":"validate_json"},"valid":{"type":"boolean"},"errors":{"type":"array","maxItems":100,"items":{"additionalProperties":false,"properties":{"instance_path":{"title":"Instance Path","type":"string"},"schema_path":{"title":"Schema Path","type":"string"},"keyword":{"title":"Keyword","type":"string"},"code":{"const":"SCHEMA_CONSTRAINT_FAILED","title":"Code","type":"string"}},"required":["instance_path","schema_path","keyword","code"],"title":"ValidationErrorReport","type":"object"}},"errors_truncated":{"type":"boolean"},"limitations":{"type":"array","items":{"type":"string"}},"tool":{"const":"validate_json"},"job_id":{"type":"string"},"warnings":{"type":"array","items":{"type":"string"}}},"required":["checked_at","confidence","result_status","capability","valid","errors","errors_truncated","limitations","tool","warnings"],"additionalProperties":false},"input_example":{"document":{"title":"Example"},"output_schema":{"type":"object","properties":{"title":{"type":"string"}},"required":["title"],"additionalProperties":false}},"output_example":{"checked_at":"2026-10-15T00:00:00Z","confidence":null,"result_status":"REVIEW","capability":"validate_json","valid":false,"errors":[],"errors_truncated":false,"limitations":[],"tool":"validate_json","warnings":[]},"examples_are_synthetic":true,"staging_only":false,"price_approval_required":false,"price_usd":"0.002","price_atomic":"2000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/validate-json","method":"POST","resource_profile":{"workload":"document","initial":["document"],"phases":["document"],"worker":["document"]},"candidate_price":false,"pricing_policy":"fixed_bounded_owner_approved_v1","policy_limits":{"timeout":45.0,"max_input_bytes":8388608,"max_output_bytes":524288,"max_total_bytes":8388608,"max_pages":5,"max_depth":2,"max_urls":200,"max_sitemaps":8,"max_requests":24,"max_document_pages":20,"max_ocr_pages":3,"max_image_pixels":12000000,"ocr_dpi":150,"worker_memory_mb":768,"document_jobs":3,"max_spec_nodes":30000,"max_spec_depth":48,"dns_timeout":3.0,"ocr_timeout":15.0},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"2000","price_usd":"0.002"}}},{"tool":"transform_data","enabled":true,"title":"Convert and transform bounded CSV/JSON rows","description":"Fixed bounded deterministic operation; no AI inference, customer code or remote schema references. Schema validity is not factual accuracy. Convert bounded rectangular CSV/JSON rows, project/rename columns and sort homogeneous values. CSV input remains strings; export neutralises formulas and loses null/type distinctions.","tags":["agent-tools","deterministic-work"],"search_terms":["CSV to JSON","JSON to CSV","column projection"],"stateful":false,"shared_wallet_router_safe":true,"payer_scope":null,"input_schema":{"additionalProperties":false,"properties":{"input_format":{"enum":["csv","json"],"title":"Input Format","type":"string"},"output_format":{"enum":["csv","json"],"title":"Output Format","type":"string"},"csv_text":{"anyOf":[{"maxLength":262144,"type":"string"},{"type":"null"}],"default":null,"title":"Csv Text"},"rows":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"maxItems":1000,"type":"array"},{"type":"null"}],"default":null,"title":"Rows"},"select":{"anyOf":[{"items":{"type":"string"},"maxItems":64,"minItems":1,"type":"array"},{"type":"null"}],"default":null,"title":"Select"},"rename":{"additionalProperties":{"type":"string"},"maxProperties":64,"title":"Rename","type":"object"},"sort_by":{"anyOf":[{"maxLength":128,"type":"string"},{"type":"null"}],"default":null,"title":"Sort By"},"descending":{"default":false,"title":"Descending","type":"boolean"}},"required":["input_format","output_format"],"title":"TransformInput","type":"object","description":"Fixed bounded deterministic operation; no AI inference, customer code or remote schema references. Schema validity is not factual accuracy. Convert bounded rectangular CSV/JSON rows, project/rename columns and sort homogeneous values. CSV input remains strings; export neutralises formulas and loses null/type distinctions.Runtime source-XOR and policy validation remain authoritative; see policy_limits.","oneOf":[{"required":["csv_text"],"properties":{"input_format":{"const":"csv"},"csv_text":{"type":"string"},"rows":{"type":"null"}}},{"required":["rows"],"properties":{"input_format":{"const":"json"},"rows":{"type":"array"},"csv_text":{"type":"null"}}}]},"output_schema":{"type":"object","properties":{"checked_at":{"type":"string","format":"date-time"},"confidence":{"type":"null"},"result_status":{"const":"REVIEW"},"capability":{"const":"transform_data"},"output_format":{"enum":["csv","json"]},"columns":{"type":"array","items":{"type":"string"}},"row_count":{"type":"integer","minimum":0},"rows":{"type":["array","null"],"items":{"type":"object","additionalProperties":{"type":["string","number","boolean","null"]}}},"csv_text":{"type":["string","null"]},"neutralised_csv_cells":{"type":"integer","minimum":0},"null_cells_encoded_empty":{"type":"integer","minimum":0},"limitations":{"type":"array","items":{"type":"string"}},"tool":{"const":"transform_data"},"job_id":{"type":"string"},"warnings":{"type":"array","items":{"type":"string"}}},"required":["checked_at","confidence","result_status","capability","output_format","columns","row_count","rows","csv_text","neutralised_csv_cells","null_cells_encoded_empty","limitations","tool","warnings"],"additionalProperties":false},"input_example":{"input_format":"csv","output_format":"json","csv_text":"title\r\nExample\r\n"},"output_example":{"checked_at":"2026-10-15T00:00:00Z","confidence":null,"result_status":"REVIEW","capability":"transform_data","output_format":"csv","columns":[],"row_count":0,"rows":null,"csv_text":null,"neutralised_csv_cells":0,"null_cells_encoded_empty":0,"limitations":[],"tool":"transform_data","warnings":[]},"examples_are_synthetic":true,"staging_only":false,"price_approval_required":false,"price_usd":"0.003","price_atomic":"3000","payment_required":true,"network":"eip155:8453","endpoint":"/v1/transform-data","method":"POST","resource_profile":{"workload":"document","initial":["document"],"phases":["document"],"worker":["document"]},"candidate_price":false,"pricing_policy":"fixed_bounded_owner_approved_v1","policy_limits":{"timeout":45.0,"max_input_bytes":8388608,"max_output_bytes":524288,"max_total_bytes":8388608,"max_pages":5,"max_depth":2,"max_urls":200,"max_sitemaps":8,"max_requests":24,"max_document_pages":20,"max_ocr_pages":3,"max_image_pixels":12000000,"ocr_dpi":150,"worker_memory_mb":768,"document_jobs":3,"max_spec_nodes":30000,"max_spec_depth":48,"dns_timeout":3.0,"ocr_timeout":15.0},"methods":["POST"],"method_prices":{"POST":{"price_atomic":"3000","price_usd":"0.003"}}}],"compatibility":{"payment_versions":[2],"limitations":"GET aliases require bounded query parameters, no request body, no duplicate or unknown keys. Target URLs on GET must have no credentials, query string or fragment; use POST for public query-bearing targets and never submit secrets. URL length <=2048; encoded query <=8192 bytes. Email, payer-owned state/runtime and structured/inline/upload inputs are POST-only. GET is paid, not a free sample; each successful newly authorized call is chargeable. Only x402 V2 exact is supported, not V1 signatures, MPP or paid MCP. Use the canonical origin; aliases are the same capability and same price, not new tools.","challenge_transport":["PAYMENT-REQUIRED","JSON body (identical V2 object)"]}}