{"schema_version":1,"service":"SignalHarness.ai x402 service factory","x402_versions":[2,1],"x402_v1_compatible_count":230,"visibility":"public","count":230,"endpoints":{"list":"https://signalharness.ai/api/agent/services","status":"https://signalharness.ai/api/agent/services/status","detail_template":"https://signalharness.ai/api/agent/services/{serviceId}","invoke_template":"https://signalharness.ai/api/agent/services/{serviceId}/invoke","receipt_template":"https://signalharness.ai/api/agent/service-receipts/{receiptId}","artifact_template":"https://signalharness.ai/api/agent/service-artifacts/{artifactId}","mcp":"https://signalharness.ai/mcp"},"services":[{"service_id":"url_to_markdown","name":"URL to Markdown","machineName":"url_to_markdown","machine_name":"url_to_markdown","title":"URL to Markdown","serviceName":"URL to Markdown","tags":["content-conversion","url-markdown","ai-agents","x402"],"metadata":{"name":"url_to_markdown","machineName":"url_to_markdown","machine_name":"url_to_markdown","title":"URL to Markdown","serviceName":"URL to Markdown","description":"Fetches one public HTTPS HTML resource without JavaScript execution and returns cleaned Markdown with source integrity metadata.","tags":["content-conversion","url-markdown","ai-agents","x402"]},"description":"Use this service when you need this capability: fetches one public HTTPS HTML resource without JavaScript execution and returns cleaned Markdown with source integrity metadata.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/url_to_markdown","invoke_url":"https://signalharness.ai/api/agent/services/url_to_markdown/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["url"],"properties":{"url":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":6,"required":["markdown","sourceUrl","contentType","byteCount","sha256"],"properties":{"markdown":{"type":"string","minLength":0,"maxLength":65536},"title":{"type":"string","minLength":0,"maxLength":1024},"sourceUrl":{"type":"string","minLength":9,"maxLength":2048},"contentType":{"type":"string","minLength":1,"maxLength":256},"byteCount":{"type":"integer","minimum":0,"maximum":10485760},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$","minLength":64,"maxLength":64}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"web_extract","name":"Web Extract","machineName":"web_extract","machine_name":"web_extract","title":"Web Extract","serviceName":"Web Extract","tags":["web-extraction","web-extract","ai-agents","x402"],"metadata":{"name":"web_extract","machineName":"web_extract","machine_name":"web_extract","title":"Web Extract","serviceName":"Web Extract","description":"Fetches one public HTTPS HTML resource without JavaScript execution and returns deterministic normalized page structure and metadata.","tags":["web-extraction","web-extract","ai-agents","x402"]},"description":"Use this service when you need this capability: fetches one public HTTPS HTML resource without JavaScript execution and returns deterministic normalized page structure and metadata.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/web_extract","invoke_url":"https://signalharness.ai/api/agent/services/web_extract/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["url"],"properties":{"url":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":8,"maxProperties":12,"required":["sourceUrl","headings","links","images","metadata","openGraph","jsonLd","visibleText"],"properties":{"sourceUrl":{"type":"string","minLength":9,"maxLength":2048},"title":{"type":"string","minLength":0,"maxLength":1024},"description":{"type":"string","minLength":0,"maxLength":4096},"canonicalUrl":{"type":"string","minLength":1,"maxLength":2048},"headings":{"type":"array","minItems":0,"maxItems":128,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["level","text"],"properties":{"level":{"type":"integer","minimum":1,"maximum":6},"text":{"type":"string","minLength":0,"maxLength":2048}}}},"links":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["text","href"],"properties":{"text":{"type":"string","minLength":0,"maxLength":2048},"href":{"type":"string","minLength":1,"maxLength":2048}}}},"images":{"type":"array","minItems":0,"maxItems":128,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":3,"required":["alt","src"],"properties":{"alt":{"type":"string","minLength":0,"maxLength":2048},"src":{"type":"string","minLength":1,"maxLength":2048},"title":{"type":"string","minLength":0,"maxLength":2048}}}},"metadata":{"type":"array","minItems":0,"maxItems":128,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["name","value"],"properties":{"name":{"type":"string","minLength":1,"maxLength":256},"value":{"type":"string","minLength":0,"maxLength":8192}}}},"openGraph":{"type":"array","minItems":0,"maxItems":128,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["name","value"],"properties":{"name":{"type":"string","minLength":1,"maxLength":256},"value":{"type":"string","minLength":0,"maxLength":8192}}}},"jsonLd":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":32768}},"visibleText":{"type":"string","minLength":0,"maxLength":65536},"warnings":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":1024}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"structured_extract","name":"Structured Extract","machineName":"structured_extract","machine_name":"structured_extract","title":"Structured Extract","serviceName":"Structured Extract","tags":["deterministic-extraction","structured-extract","ai-agents","x402"],"metadata":{"name":"structured_extract","machineName":"structured_extract","machine_name":"structured_extract","title":"Structured Extract","serviceName":"Structured Extract","description":"Fetches one public HTTPS HTML resource and performs explicit deterministic selector, attribute, metadata, or JSON-LD path extraction.","tags":["deterministic-extraction","structured-extract","ai-agents","x402"]},"description":"Use this service when you need this capability: fetches one public HTTPS HTML resource and performs explicit deterministic selector, attribute, metadata, or JSON-LD path extraction.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/structured_extract","invoke_url":"https://signalharness.ai/api/agent/services/structured_extract/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["url","fields"],"properties":{"url":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"fields":{"type":"array","minItems":1,"maxItems":32,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":7,"required":["name","kind"],"properties":{"name":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,63}$","minLength":1,"maxLength":64},"kind":{"type":"string","enum":["text","attribute","metadata","json_ld"],"minLength":4,"maxLength":9},"selector":{"type":"string","minLength":1,"maxLength":256},"attribute":{"type":"string","minLength":1,"maxLength":128},"metadataKey":{"type":"string","minLength":1,"maxLength":256},"path":{"type":"string","minLength":1,"maxLength":256},"all":{"type":"boolean"}}}}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["sourceUrl","results","warnings"],"properties":{"sourceUrl":{"type":"string","minLength":9,"maxLength":2048},"results":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["name","kind","matched","values"],"properties":{"name":{"type":"string","minLength":1,"maxLength":64},"kind":{"type":"string","enum":["text","attribute","metadata","json_ld"],"minLength":4,"maxLength":9},"matched":{"type":"integer","minimum":0,"maximum":256},"values":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"string","minLength":0,"maxLength":32768}}}}},"warnings":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":1024}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"pdf_extract","name":"PDF Extract","machineName":"pdf_extract","machine_name":"pdf_extract","title":"PDF Extract","serviceName":"PDF Extract","tags":["document-extraction","pdf-extract","ai-agents","x402"],"metadata":{"name":"pdf_extract","machineName":"pdf_extract","machine_name":"pdf_extract","title":"PDF Extract","serviceName":"PDF Extract","description":"Fetches one bounded public HTTPS PDF and extracts text and metadata without OCR or executing embedded content.","tags":["document-extraction","pdf-extract","ai-agents","x402"]},"description":"Use this service when you need this capability: fetches one bounded public HTTPS PDF and extracts text and metadata without OCR or executing embedded content.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/pdf_extract","invoke_url":"https://signalharness.ai/api/agent/services/pdf_extract/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["url"],"properties":{"url":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":10,"maxProperties":10,"required":["status","text","markdown","pageCount","metadata","sourceUrl","contentType","byteCount","sha256","warnings"],"properties":{"status":{"type":"string","enum":["OK","OCR_REQUIRED"],"minLength":2,"maxLength":12},"text":{"type":"string","minLength":0,"maxLength":65536},"markdown":{"type":"string","minLength":0,"maxLength":65536},"pageCount":{"type":"integer","minimum":0,"maximum":100},"metadata":{"type":"object","additionalProperties":false,"minProperties":0,"maxProperties":8,"required":[],"properties":{"title":{"type":"string","minLength":0,"maxLength":1024},"author":{"type":"string","minLength":0,"maxLength":1024},"subject":{"type":"string","minLength":0,"maxLength":2048},"keywords":{"type":"string","minLength":0,"maxLength":4096},"creator":{"type":"string","minLength":0,"maxLength":1024},"producer":{"type":"string","minLength":0,"maxLength":1024},"creationDate":{"type":"string","minLength":0,"maxLength":128},"modificationDate":{"type":"string","minLength":0,"maxLength":128}}},"sourceUrl":{"type":"string","minLength":9,"maxLength":2048},"contentType":{"type":"string","minLength":1,"maxLength":256},"byteCount":{"type":"integer","minimum":0,"maximum":10485760},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$","minLength":64,"maxLength":64},"warnings":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":1024}}}},"amount_atomic":"30000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"json_schema_validate","name":"JSON Schema Validate","machineName":"json_schema_validate","machine_name":"json_schema_validate","title":"JSON Schema Validate","serviceName":"JSON Schema Validate","tags":["data-validation","json-schema-validate","ai-agents","x402"],"metadata":{"name":"json_schema_validate","machineName":"json_schema_validate","machine_name":"json_schema_validate","title":"JSON Schema Validate","serviceName":"JSON Schema Validate","description":"Validates a supplied canonical JSON value against a supplied bounded JSON Schema locally with normalized deterministic errors.","tags":["data-validation","json-schema-validate","ai-agents","x402"]},"description":"Use this service when you need this capability: validates a supplied canonical JSON value against a supplied bounded JSON Schema locally with normalized deterministic errors.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/json_schema_validate","invoke_url":"https://signalharness.ai/api/agent/services/json_schema_validate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["value","schema"],"properties":{"value":{"description":"The bounded JSON value to validate.","type":["object","array","string","number","boolean","null"]},"schema":{"description":"The bounded JSON Schema object or boolean schema.","type":["object","boolean"]}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["valid","errors","failingPaths","schemaPaths"],"properties":{"valid":{"type":"boolean"},"errors":{"type":"array","minItems":0,"maxItems":64,"items":{"type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["keyword","instancePath","schemaPath","message","paramsJson"],"properties":{"keyword":{"type":"string","minLength":1,"maxLength":128},"instancePath":{"type":"string","minLength":0,"maxLength":2048},"schemaPath":{"type":"string","minLength":0,"maxLength":2048},"message":{"type":"string","minLength":1,"maxLength":2048},"paramsJson":{"type":"string","minLength":2,"maxLength":8192}}}},"failingPaths":{"type":"array","minItems":0,"maxItems":64,"items":{"type":"string","minLength":0,"maxLength":2048}},"schemaPaths":{"type":"array","minItems":0,"maxItems":64,"items":{"type":"string","minLength":0,"maxLength":2048}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"artifact_verify","name":"Artifact Verify","machineName":"artifact_verify","machine_name":"artifact_verify","title":"Artifact Verify","serviceName":"Artifact Verify","tags":["artifact-verification","artifact-verify","ai-agents","x402"],"metadata":{"name":"artifact_verify","machineName":"artifact_verify","machine_name":"artifact_verify","title":"Artifact Verify","serviceName":"Artifact Verify","description":"Fetches one public HTTPS artifact without executing it and verifies its SHA-256, MIME type, and byte size against supplied expectations.","tags":["artifact-verification","artifact-verify","ai-agents","x402"]},"description":"Use this service when you need this capability: fetches one public HTTPS artifact without executing it and verifies its SHA-256, MIME type, and byte size against supplied expectations.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/artifact_verify","invoke_url":"https://signalharness.ai/api/agent/services/artifact_verify/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":4,"required":["url"],"properties":{"url":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"expectedSha256":{"type":"string","pattern":"^[0-9a-fA-F]{64}$","minLength":64,"maxLength":64},"expectedMimeType":{"type":"string","pattern":"^[A-Za-z0-9!#$&^_.+-]+/[A-Za-z0-9!#$&^_.+-]+$","minLength":3,"maxLength":256},"expectedByteSize":{"type":"integer","minimum":0,"maximum":10485760}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":3,"maxProperties":8,"required":["status","calculatedSha256","byteSize"],"properties":{"status":{"type":"string","enum":["VERIFIED","MISMATCH","INSPECTED"],"minLength":8,"maxLength":9},"sourceUrl":{"type":"string","minLength":9,"maxLength":2048},"calculatedSha256":{"type":"string","pattern":"^[0-9a-f]{64}$","minLength":64,"maxLength":64},"hashMatch":{"type":"boolean"},"mimeType":{"type":"string","minLength":1,"maxLength":256},"mimeMatch":{"type":"boolean"},"byteSize":{"type":"integer","minimum":0,"maximum":10485760},"byteSizeMatch":{"type":"boolean"}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"web_metadata_extract","name":"Web Metadata Extract","machineName":"web_metadata_extract","machine_name":"web_metadata_extract","title":"Web Metadata Extract","serviceName":"Web Metadata Extract","tags":["web-metadata","web-metadata-extract","ai-agents","x402"],"metadata":{"name":"web_metadata_extract","machineName":"web_metadata_extract","machine_name":"web_metadata_extract","title":"Web Metadata Extract","serviceName":"Web Metadata Extract","description":"Extracts bounded document metadata, social cards, canonical links, robots directives, language alternates, icons, and JSON-LD from public HTTPS or supplied HTML.","tags":["web-metadata","web-metadata-extract","ai-agents","x402"]},"description":"Use this service when you need this capability: extracts bounded document metadata, social cards, canonical links, robots directives, language alternates, icons, and JSON-LD from public HTTPS or supplied HTML.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/web_metadata_extract","invoke_url":"https://signalharness.ai/api/agent/services/web_metadata_extract/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":2,"required":[],"properties":{"url":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"html":{"type":"string","minLength":1,"maxLength":65536},"baseUrl":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":8,"maxProperties":13,"required":["contentType","robots","openGraph","twitter","jsonLd","alternateLanguages","icons","warnings"],"properties":{"sourceUrl":{"type":"string","minLength":9,"maxLength":2048},"contentType":{"type":"string","minLength":3,"maxLength":256},"title":{"type":"string","minLength":1,"maxLength":1024},"description":{"type":"string","minLength":1,"maxLength":4096},"canonicalUrl":{"type":"string","minLength":1,"maxLength":2048},"language":{"type":"string","minLength":1,"maxLength":64},"robots":{"type":"array","minItems":0,"maxItems":128,"items":{"type":"string","minLength":1,"maxLength":256}},"openGraph":{"type":"array","minItems":0,"maxItems":128,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["name","value"],"properties":{"name":{"type":"string","minLength":1,"maxLength":256},"value":{"type":"string","minLength":1,"maxLength":8192}}}},"twitter":{"type":"array","minItems":0,"maxItems":128,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["name","value"],"properties":{"name":{"type":"string","minLength":1,"maxLength":256},"value":{"type":"string","minLength":1,"maxLength":8192}}}},"jsonLd":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":32768}},"alternateLanguages":{"type":"array","minItems":0,"maxItems":128,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["language","href"],"properties":{"language":{"type":"string","minLength":1,"maxLength":64},"href":{"type":"string","minLength":1,"maxLength":2048}}}},"icons":{"type":"array","minItems":0,"maxItems":128,"items":{"type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["relation","sizes","href"],"properties":{"relation":{"type":"string","minLength":1,"maxLength":64},"sizes":{"type":"string","minLength":0,"maxLength":128},"href":{"type":"string","minLength":1,"maxLength":2048}}}},"warnings":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":1024}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"structured_diff","name":"Structured Diff","machineName":"structured_diff","machine_name":"structured_diff","title":"Structured Diff","serviceName":"Structured Diff","tags":["data-comparison","structured-diff","ai-agents","x402"],"metadata":{"name":"structured_diff","machineName":"structured_diff","machine_name":"structured_diff","title":"Structured Diff","serviceName":"Structured Diff","description":"Computes a deterministic bounded structural difference between two JSON values using escaped JSON Pointer paths and index-based array comparison.","tags":["data-comparison","structured-diff","ai-agents","x402"]},"description":"Use this service when you need this capability: computes a deterministic bounded structural difference between two JSON values using escaped JSON Pointer paths and index-based array comparison.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/structured_diff","invoke_url":"https://signalharness.ai/api/agent/services/structured_diff/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["before","after"],"properties":{"before":{"type":["object","array","string","number","boolean","null"]},"after":{"type":["object","array","string","number","boolean","null"]}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["added","removed","changed","unchangedCount","summary"],"properties":{"added":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["path","value"],"properties":{"path":{"type":"string","minLength":0,"maxLength":2048},"value":{"type":["object","array","string","number","boolean","null"]}}}},"removed":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["path","value"],"properties":{"path":{"type":"string","minLength":0,"maxLength":2048},"value":{"type":["object","array","string","number","boolean","null"]}}}},"changed":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["path","before","after"],"properties":{"path":{"type":"string","minLength":0,"maxLength":2048},"before":{"type":["object","array","string","number","boolean","null"]},"after":{"type":["object","array","string","number","boolean","null"]}}}},"unchangedCount":{"type":"integer","minimum":0,"maximum":8192},"summary":{"type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["added","removed","changed","total"],"properties":{"added":{"type":"integer","minimum":0,"maximum":2048},"removed":{"type":"integer","minimum":0,"maximum":2048},"changed":{"type":"integer","minimum":0,"maximum":2048},"total":{"type":"integer","minimum":0,"maximum":2048}}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"json_repair_normalize","name":"JSON Repair Normalize","machineName":"json_repair_normalize","machine_name":"json_repair_normalize","title":"JSON Repair Normalize","serviceName":"JSON Repair Normalize","tags":["data-normalization","json-repair-normalize","ai-agents","x402"],"metadata":{"name":"json_repair_normalize","machineName":"json_repair_normalize","machine_name":"json_repair_normalize","title":"JSON Repair Normalize","serviceName":"JSON Repair Normalize","description":"Conservatively repairs common JSON formatting defects, rejects ambiguous duplicate or unsafe keys, and emits deterministic canonical JSON.","tags":["data-normalization","json-repair-normalize","ai-agents","x402"]},"description":"Use this service when you need this capability: conservatively repairs common JSON formatting defects, rejects ambiguous duplicate or unsafe keys, and emits deterministic canonical JSON.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/json_repair_normalize","invoke_url":"https://signalharness.ai/api/agent/services/json_repair_normalize/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["text"],"properties":{"text":{"type":"string","minLength":1,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["normalized","value","repairs","duplicateKeys"],"properties":{"normalized":{"type":"string","minLength":1,"maxLength":65536},"value":{"type":["object","array","string","number","boolean","null"]},"repairs":{"type":"array","minItems":0,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":64}},"duplicateKeys":{"type":"array","minItems":0,"maxItems":64,"items":{"type":"string","minLength":1,"maxLength":256}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"html_table_extract","name":"HTML Table Extract","machineName":"html_table_extract","machine_name":"html_table_extract","title":"HTML Table Extract","serviceName":"HTML Table Extract","tags":["web-structure","html-table-extract","ai-agents","x402"],"metadata":{"name":"html_table_extract","machineName":"html_table_extract","machine_name":"html_table_extract","title":"HTML Table Extract","serviceName":"HTML Table Extract","description":"Extracts bounded HTML tables into deterministic normalized rows with captions, inferred headers, spans, text, and links.","tags":["web-structure","html-table-extract","ai-agents","x402"]},"description":"Use this service when you need this capability: extracts bounded HTML tables into deterministic normalized rows with captions, inferred headers, spans, text, and links.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/html_table_extract","invoke_url":"https://signalharness.ai/api/agent/services/html_table_extract/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":2,"required":[],"properties":{"url":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"html":{"type":"string","minLength":1,"maxLength":65536},"baseUrl":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["tableCount","tables","warnings"],"properties":{"tableCount":{"type":"integer","minimum":0,"maximum":64},"tables":{"type":"array","minItems":0,"maxItems":64,"items":{"type":["object"]}},"warnings":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":1024}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"document_diff","name":"Document Diff","machineName":"document_diff","machine_name":"document_diff","title":"Document Diff","serviceName":"Document Diff","tags":["document-comparison","document-diff","ai-agents","x402"],"metadata":{"name":"document_diff","machineName":"document_diff","machine_name":"document_diff","title":"Document Diff","serviceName":"Document Diff","description":"Compares text or Markdown by deterministic heading-aware sections without semantic inference or an LLM.","tags":["document-comparison","document-diff","ai-agents","x402"]},"description":"Use this service when you need this capability: compares text or Markdown by deterministic heading-aware sections without semantic inference or an LLM.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/document_diff","invoke_url":"https://signalharness.ai/api/agent/services/document_diff/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["before","after"],"properties":{"before":{"type":"string","minLength":0,"maxLength":65536},"after":{"type":"string","minLength":0,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":10,"maxProperties":10,"required":["beforeHash","afterHash","beforeLineCount","afterLineCount","beforeSectionCount","afterSectionCount","addedSections","removedSections","changedSections","summary"],"properties":{"beforeHash":{"type":"string","pattern":"^[0-9a-f]{64}$","minLength":64,"maxLength":64},"afterHash":{"type":"string","pattern":"^[0-9a-f]{64}$","minLength":64,"maxLength":64},"beforeLineCount":{"type":"integer","minimum":0,"maximum":100000},"afterLineCount":{"type":"integer","minimum":0,"maximum":100000},"beforeSectionCount":{"type":"integer","minimum":0,"maximum":2000},"afterSectionCount":{"type":"integer","minimum":0,"maximum":2000},"addedSections":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["heading","text","hash","lineCount"],"properties":{"heading":{"type":"string","minLength":1,"maxLength":8192},"text":{"type":"string","minLength":0,"maxLength":65536},"hash":{"type":"string","minLength":64,"maxLength":64},"lineCount":{"type":"integer","minimum":0,"maximum":100000}}}},"removedSections":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["heading","text","hash","lineCount"],"properties":{"heading":{"type":"string","minLength":1,"maxLength":8192},"text":{"type":"string","minLength":0,"maxLength":65536},"hash":{"type":"string","minLength":64,"maxLength":64},"lineCount":{"type":"integer","minimum":0,"maximum":100000}}}},"changedSections":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["heading","beforeHash","afterHash","beforeText","afterText"],"properties":{"heading":{"type":"string","minLength":1,"maxLength":8192},"beforeHash":{"type":"string","minLength":64,"maxLength":64},"afterHash":{"type":"string","minLength":64,"maxLength":64},"beforeText":{"type":"string","minLength":0,"maxLength":65536},"afterText":{"type":"string","minLength":0,"maxLength":65536}}}},"summary":{"type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["added","removed","changed"],"properties":{"added":{"type":"integer","minimum":0,"maximum":2000},"removed":{"type":"integer","minimum":0,"maximum":2000},"changed":{"type":"integer","minimum":0,"maximum":2000}}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"url_discovery_audit","name":"URL Discovery Audit","machineName":"url_discovery_audit","machine_name":"url_discovery_audit","title":"URL Discovery Audit","serviceName":"URL Discovery Audit","tags":["discovery-audit","url-discovery-audit","ai-agents","x402"],"metadata":{"name":"url_discovery_audit","machineName":"url_discovery_audit","machine_name":"url_discovery_audit","title":"URL Discovery Audit","serviceName":"URL Discovery Audit","description":"Performs a bounded deterministic audit of autonomous-agent and search discovery resources for a public HTTPS URL.","tags":["discovery-audit","url-discovery-audit","ai-agents","x402"]},"description":"Use this service when you need this capability: performs a bounded deterministic audit of autonomous-agent and search discovery resources for a public HTTPS URL.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/url_discovery_audit","invoke_url":"https://signalharness.ai/api/agent/services/url_discovery_audit/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["url"],"properties":{"url":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["url","checks","discoveredResourceUrls","summary"],"properties":{"url":{"type":"string","minLength":9,"maxLength":2048},"checks":{"type":"array","minItems":1,"maxItems":32,"items":{"type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["id","status","detail","url"],"properties":{"id":{"type":"string","minLength":1,"maxLength":128},"status":{"type":"string","enum":["pass","warn","fail"],"minLength":4,"maxLength":4},"detail":{"type":"string","minLength":1,"maxLength":1024},"url":{"type":["string","null"]}}}},"discoveredResourceUrls":{"type":"array","minItems":0,"maxItems":16,"items":{"type":"string","minLength":9,"maxLength":2048}},"summary":{"type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["pass","warn","fail"],"properties":{"pass":{"type":"integer","minimum":0,"maximum":32},"warn":{"type":"integer","minimum":0,"maximum":32},"fail":{"type":"integer","minimum":0,"maximum":32}}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"sitemap_extract","name":"Sitemap Extract","machineName":"sitemap_extract","machine_name":"sitemap_extract","title":"Sitemap Extract","serviceName":"Sitemap Extract","tags":["web-discovery","sitemap-extract","ai-agents","x402"],"metadata":{"name":"sitemap_extract","machineName":"sitemap_extract","machine_name":"sitemap_extract","title":"Sitemap Extract","serviceName":"Sitemap Extract","description":"Parses bounded XML sitemap urlsets and indexes without entity expansion or recursive fetching.","tags":["web-discovery","sitemap-extract","ai-agents","x402"]},"description":"Use this service when you need this capability: parses bounded XML sitemap urlsets and indexes without entity expansion or recursive fetching.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/sitemap_extract","invoke_url":"https://signalharness.ai/api/agent/services/sitemap_extract/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":[],"properties":{"url":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"xml":{"type":"string","minLength":1,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["kind","urls","childSitemaps","counts","warnings"],"properties":{"kind":{"type":"string","enum":["urlset","sitemapindex"],"minLength":6,"maxLength":12},"urls":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["url","lastmod","changefreq","priority","alternates"],"properties":{"url":{"type":"string","minLength":9,"maxLength":2048},"lastmod":{"type":["string","null"]},"changefreq":{"type":["string","null"]},"priority":{"type":["string","null"]},"alternates":{"type":"array","minItems":0,"maxItems":64,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["language","href"],"properties":{"language":{"type":"string","minLength":0,"maxLength":64},"href":{"type":"string","minLength":9,"maxLength":2048}}}}}}},"childSitemaps":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["url","lastmod"],"properties":{"url":{"type":"string","minLength":9,"maxLength":2048},"lastmod":{"type":["string","null"]}}}},"counts":{"type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["urls","childSitemaps","malformed"],"properties":{"urls":{"type":"integer","minimum":0,"maximum":10000},"childSitemaps":{"type":"integer","minimum":0,"maximum":256},"malformed":{"type":"integer","minimum":0,"maximum":10000}}},"warnings":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":1024}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"robots_policy_parse","name":"Robots Policy Parse","machineName":"robots_policy_parse","machine_name":"robots_policy_parse","title":"Robots Policy Parse","serviceName":"Robots Policy Parse","tags":["web-policy","robots-policy-parse","ai-agents","x402"],"metadata":{"name":"robots_policy_parse","machineName":"robots_policy_parse","machine_name":"robots_policy_parse","title":"Robots Policy Parse","serviceName":"Robots Policy Parse","description":"Parses robots.txt groups and applies deterministic longest-match allow and disallow semantics.","tags":["web-policy","robots-policy-parse","ai-agents","x402"]},"description":"Use this service when you need this capability: parses robots.txt groups and applies deterministic longest-match allow and disallow semantics.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/robots_policy_parse","invoke_url":"https://signalharness.ai/api/agent/services/robots_policy_parse/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":3,"required":[],"properties":{"url":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"text":{"type":"string","minLength":0,"maxLength":65536},"userAgent":{"type":"string","minLength":1,"maxLength":256},"targetPath":{"type":"string","minLength":1,"maxLength":2048}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":7,"maxProperties":7,"required":["groups","matchedGroup","matchedRule","crawlAllowed","sitemaps","crawlDelay","warnings"],"properties":{"groups":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["userAgents","rules","crawlDelay"],"properties":{"userAgents":{"type":"array","minItems":1,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":256}},"rules":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["directive","path"],"properties":{"directive":{"type":"string","enum":["allow","disallow"],"minLength":5,"maxLength":8},"path":{"type":"string","minLength":0,"maxLength":2048}}}},"crawlDelay":{"type":["number","null"]}}}},"matchedGroup":{"type":["array","null"]},"matchedRule":{"type":["object","null"]},"crawlAllowed":{"type":["boolean","null"]},"sitemaps":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"string","minLength":1,"maxLength":2048}},"crawlDelay":{"type":["number","null"]},"warnings":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":1024}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"schema_org_extract","name":"Schema.org Extract","machineName":"schema_org_extract","machine_name":"schema_org_extract","title":"Schema.org Extract","serviceName":"Schema.org Extract","tags":["structured-metadata","schema-org-extract","ai-agents","x402"],"metadata":{"name":"schema_org_extract","machineName":"schema_org_extract","machine_name":"schema_org_extract","title":"Schema.org Extract","serviceName":"Schema.org Extract","description":"Extracts bounded JSON-LD Schema.org entities, type indexes, and explicit relationships without inventing values.","tags":["structured-metadata","schema-org-extract","ai-agents","x402"]},"description":"Use this service when you need this capability: extracts bounded JSON-LD Schema.org entities, type indexes, and explicit relationships without inventing values.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/schema_org_extract","invoke_url":"https://signalharness.ai/api/agent/services/schema_org_extract/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":2,"required":[],"properties":{"url":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"html":{"type":"string","minLength":1,"maxLength":65536},"baseUrl":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["entityCount","typeIndex","entities","relationships","warnings"],"properties":{"entityCount":{"type":"integer","minimum":0,"maximum":2000},"typeIndex":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["type","ids"],"properties":{"type":{"type":"string","minLength":1,"maxLength":256},"ids":{"type":"array","minItems":1,"maxItems":256,"items":{"type":"string","minLength":1,"maxLength":2048}}}}},"entities":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["id","types","valueJson"],"properties":{"id":{"type":"string","minLength":1,"maxLength":2048},"types":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":256}},"valueJson":{"type":"string","minLength":2,"maxLength":65536}}}},"relationships":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["from","to","kind"],"properties":{"from":{"type":"string","minLength":1,"maxLength":2048},"to":{"type":"string","minLength":1,"maxLength":2048},"kind":{"type":"string","minLength":1,"maxLength":256}}}},"warnings":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":1024}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"csv_normalize_validate","name":"CSV Normalize Validate","machineName":"csv_normalize_validate","machine_name":"csv_normalize_validate","title":"CSV Normalize Validate","serviceName":"CSV Normalize Validate","tags":["data-normalization","csv-normalize-validate","ai-agents","x402"],"metadata":{"name":"csv_normalize_validate","machineName":"csv_normalize_validate","machine_name":"csv_normalize_validate","title":"CSV Normalize Validate","serviceName":"CSV Normalize Validate","description":"Parses and normalizes bounded CSV, TSV, or semicolon data while retaining malformed rows and validation issues.","tags":["data-normalization","csv-normalize-validate","ai-agents","x402"]},"description":"Use this service when you need this capability: parses and normalizes bounded CSV, TSV, or semicolon data while retaining malformed rows and validation issues.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/csv_normalize_validate","invoke_url":"https://signalharness.ai/api/agent/services/csv_normalize_validate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":3,"required":["text"],"properties":{"text":{"type":"string","minLength":1,"maxLength":65536},"delimiter":{"type":"string","enum":[",","\t",";"],"minLength":1,"maxLength":1},"hasHeader":{"type":"boolean"}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":7,"maxProperties":7,"required":["headers","delimiter","rowCount","rows","validationIssues","rejectedRows","normalized"],"properties":{"headers":{"type":"array","minItems":1,"maxItems":256,"items":{"type":"string","minLength":0,"maxLength":8192}},"delimiter":{"type":"string","enum":[",",";","tab"],"minLength":1,"maxLength":3},"rowCount":{"type":"integer","minimum":0,"maximum":10000},"rows":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"string","minLength":0,"maxLength":65536}}},"validationIssues":{"type":"array","minItems":0,"maxItems":256,"items":{"type":["object"]}},"rejectedRows":{"type":"array","minItems":0,"maxItems":256,"items":{"type":["object"]}},"normalized":{"type":"string","minLength":0,"maxLength":65536}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"content_fingerprint","name":"Content Fingerprint","machineName":"content_fingerprint","machine_name":"content_fingerprint","title":"Content Fingerprint","serviceName":"Content Fingerprint","tags":["content-integrity","content-fingerprint","ai-agents","x402"],"metadata":{"name":"content_fingerprint","machineName":"content_fingerprint","machine_name":"content_fingerprint","title":"Content Fingerprint","serviceName":"Content Fingerprint","description":"Produces exact and explicitly normalized SHA-256 fingerprints for bounded text, JSON, HTML, or base64 bytes.","tags":["content-integrity","content-fingerprint","ai-agents","x402"]},"description":"Use this service when you need this capability: produces exact and explicitly normalized SHA-256 fingerprints for bounded text, JSON, HTML, or base64 bytes.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/content_fingerprint","invoke_url":"https://signalharness.ai/api/agent/services/content_fingerprint/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":2,"required":[],"properties":{"text":{"type":"string","minLength":0,"maxLength":65536},"json":{"type":["object","array","string","number","boolean","null"]},"html":{"type":"string","minLength":1,"maxLength":65536},"base64":{"type":"string","pattern":"^[A-Za-z0-9+/]*={0,2}$","minLength":0,"maxLength":65536},"type":{"type":"string","minLength":1,"maxLength":128}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":6,"maxProperties":6,"required":["sha256","normalizedSha256","byteCount","normalizedLength","type","normalization"],"properties":{"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$","minLength":64,"maxLength":64},"normalizedSha256":{"type":"string","pattern":"^[0-9a-f]{64}$","minLength":64,"maxLength":64},"byteCount":{"type":"integer","minimum":0,"maximum":1048576},"normalizedLength":{"type":"integer","minimum":0,"maximum":1048576},"type":{"type":"string","minLength":1,"maxLength":128},"normalization":{"type":"string","minLength":1,"maxLength":128}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"text_chunk_structure","name":"Text Chunk Structure","machineName":"text_chunk_structure","machine_name":"text_chunk_structure","title":"Text Chunk Structure","serviceName":"Text Chunk Structure","tags":["text-structure","text-chunk-structure","ai-agents","x402"],"metadata":{"name":"text_chunk_structure","machineName":"text_chunk_structure","machine_name":"text_chunk_structure","title":"Text Chunk Structure","serviceName":"Text Chunk Structure","description":"Creates deterministic source-ordered chunks from text or Markdown using headings, paragraphs, lists, and code blocks.","tags":["text-structure","text-chunk-structure","ai-agents","x402"]},"description":"Use this service when you need this capability: creates deterministic source-ordered chunks from text or Markdown using headings, paragraphs, lists, and code blocks.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/text_chunk_structure","invoke_url":"https://signalharness.ai/api/agent/services/text_chunk_structure/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":2,"required":["text"],"properties":{"text":{"type":"string","minLength":1,"maxLength":65536},"maxChunkChars":{"type":"integer","minimum":256,"maximum":16000}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["chunkCount","chunks","sourceHash"],"properties":{"chunkCount":{"type":"integer","minimum":0,"maximum":512},"chunks":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":8,"maxProperties":8,"required":["id","headingHierarchy","text","start","end","estimatedTokens","hash","ordinal"],"properties":{"id":{"type":"string","minLength":10,"maxLength":16},"headingHierarchy":{"type":"array","minItems":0,"maxItems":6,"items":{"type":"string","minLength":1,"maxLength":8192}},"text":{"type":"string","minLength":1,"maxLength":16000},"start":{"type":"integer","minimum":0,"maximum":1048576},"end":{"type":"integer","minimum":0,"maximum":1048576},"estimatedTokens":{"type":"integer","minimum":1,"maximum":100000},"hash":{"type":"string","pattern":"^[0-9a-f]{64}$","minLength":64,"maxLength":64},"ordinal":{"type":"integer","minimum":0,"maximum":511}}}},"sourceHash":{"type":"string","pattern":"^[0-9a-f]{64}$","minLength":64,"maxLength":64}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"markdown_outline_extract","name":"Markdown Outline Extract","machineName":"markdown_outline_extract","machine_name":"markdown_outline_extract","title":"Markdown Outline Extract","serviceName":"Markdown Outline Extract","tags":["text-structure","markdown-outline-extract","ai-agents","x402"],"metadata":{"name":"markdown_outline_extract","machineName":"markdown_outline_extract","machine_name":"markdown_outline_extract","title":"Markdown Outline Extract","serviceName":"Markdown Outline Extract","description":"Extracts a deterministic source-ordered Markdown heading outline with stable anchors, parent ordinals, offsets, and section ranges.","tags":["text-structure","markdown-outline-extract","ai-agents","x402"]},"description":"Use this service when you need this capability: extracts a deterministic source-ordered Markdown heading outline with stable anchors, parent ordinals, offsets, and section ranges.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/markdown_outline_extract","invoke_url":"https://signalharness.ai/api/agent/services/markdown_outline_extract/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":3,"required":[],"properties":{"markdown":{"type":"string","minLength":1,"maxLength":65536},"text":{"type":"string","minLength":1,"maxLength":65536},"maximumHeadingDepth":{"type":"integer","minimum":1,"maximum":6},"includeSectionRanges":{"type":"boolean"}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["title","headingCount","headings","warnings"],"properties":{"title":{"type":"string","minLength":0,"maxLength":8192},"headingCount":{"type":"integer","minimum":0,"maximum":256},"headings":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":9,"maxProperties":9,"required":["level","text","anchor","ordinal","start","end","sectionStart","sectionEnd","parentOrdinal"],"properties":{"level":{"type":"integer","minimum":1,"maximum":6},"text":{"type":"string","minLength":0,"maxLength":8192},"anchor":{"type":"string","minLength":1,"maxLength":8192},"ordinal":{"type":"integer","minimum":0,"maximum":255},"start":{"type":"integer","minimum":0,"maximum":524288},"end":{"type":"integer","minimum":0,"maximum":524288},"sectionStart":{"type":"integer","minimum":0,"maximum":524288},"sectionEnd":{"type":"integer","minimum":0,"maximum":524288},"parentOrdinal":{"type":"integer","minimum":-1,"maximum":255}}}},"warnings":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":1024}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"link_graph_extract","name":"Link Graph Extract","machineName":"link_graph_extract","machine_name":"link_graph_extract","title":"Link Graph Extract","serviceName":"Link Graph Extract","tags":["web-structure","link-graph-extract","ai-agents","x402"],"metadata":{"name":"link_graph_extract","machineName":"link_graph_extract","machine_name":"link_graph_extract","title":"Link Graph Extract","serviceName":"Link Graph Extract","description":"Extracts bounded normalized internal, external, and anchor relationships from supplied HTML or one safely fetched URL without crawling.","tags":["web-structure","link-graph-extract","ai-agents","x402"]},"description":"Use this service when you need this capability: extracts bounded normalized internal, external, and anchor relationships from supplied HTML or one safely fetched URL without crawling.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/link_graph_extract","invoke_url":"https://signalharness.ai/api/agent/services/link_graph_extract/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":2,"required":[],"properties":{"url":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"html":{"type":"string","minLength":1,"maxLength":65536},"baseUrl":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":9,"maxProperties":9,"required":["baseUrl","linkCount","uniqueDestinationCount","duplicateCount","internalLinks","externalLinks","anchors","nodes","edges"],"properties":{"baseUrl":{"type":"string","minLength":9,"maxLength":2048},"linkCount":{"type":"integer","minimum":0,"maximum":512},"uniqueDestinationCount":{"type":"integer","minimum":0,"maximum":512},"duplicateCount":{"type":"integer","minimum":0,"maximum":512},"internalLinks":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"string","minLength":2,"maxLength":16384}},"externalLinks":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"string","minLength":2,"maxLength":16384}},"anchors":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"string","minLength":2,"maxLength":16384}},"nodes":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"string","minLength":2,"maxLength":4096}},"edges":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"string","minLength":2,"maxLength":4096}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"url_normalize_canonicalize","name":"URL Normalize Canonicalize","machineName":"url_normalize_canonicalize","machine_name":"url_normalize_canonicalize","title":"URL Normalize Canonicalize","serviceName":"URL Normalize Canonicalize","tags":["url-normalization","url-normalize-canonicalize","ai-agents","x402"],"metadata":{"name":"url_normalize_canonicalize","machineName":"url_normalize_canonicalize","machine_name":"url_normalize_canonicalize","title":"URL Normalize Canonicalize","serviceName":"URL Normalize Canonicalize","description":"Normalizes HTTP and HTTPS URL syntax deterministically without guessing an HTML canonical URL.","tags":["url-normalization","url-normalize-canonicalize","ai-agents","x402"]},"description":"Use this service when you need this capability: normalizes HTTP and HTTPS URL syntax deterministically without guessing an HTML canonical URL.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/url_normalize_canonicalize","invoke_url":"https://signalharness.ai/api/agent/services/url_normalize_canonicalize/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":3,"required":["url"],"properties":{"url":{"type":"string","minLength":1,"maxLength":2048},"baseUrl":{"type":"string","minLength":1,"maxLength":2048},"removeTrackingParameters":{"type":"boolean"}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":7,"maxProperties":7,"required":["original","normalized","origin","path","query","fragment","transformations"],"properties":{"original":{"type":"string","minLength":1,"maxLength":2048},"normalized":{"type":"string","minLength":1,"maxLength":2048},"origin":{"type":"string","minLength":1,"maxLength":2048},"path":{"type":"string","minLength":1,"maxLength":2048},"query":{"type":"string","minLength":0,"maxLength":2048},"fragment":{"type":"string","minLength":0,"maxLength":2048},"transformations":{"type":"array","minItems":0,"maxItems":16,"items":{"type":"string","minLength":1,"maxLength":128}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"jsonl_normalize_validate","name":"JSONL Normalize Validate","machineName":"jsonl_normalize_validate","machine_name":"jsonl_normalize_validate","title":"JSONL Normalize Validate","serviceName":"JSONL Normalize Validate","tags":["data-normalization","jsonl-normalize-validate","ai-agents","x402"],"metadata":{"name":"jsonl_normalize_validate","machineName":"jsonl_normalize_validate","machine_name":"jsonl_normalize_validate","title":"JSONL Normalize Validate","serviceName":"JSONL Normalize Validate","description":"Parses bounded JSON Lines deterministically, retains rejected lines, and emits canonical JSON records with source line numbers.","tags":["data-normalization","jsonl-normalize-validate","ai-agents","x402"]},"description":"Use this service when you need this capability: parses bounded JSON Lines deterministically, retains rejected lines, and emits canonical JSON records with source line numbers.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/jsonl_normalize_validate","invoke_url":"https://signalharness.ai/api/agent/services/jsonl_normalize_validate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":2,"required":["text"],"properties":{"text":{"type":"string","minLength":1,"maxLength":65536},"blankLinePolicy":{"type":"string","enum":["ignore","reject"],"minLength":6,"maxLength":6}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":6,"maxProperties":6,"required":["recordCount","validCount","invalidCount","records","rejectedLines","normalized"],"properties":{"recordCount":{"type":"integer","minimum":0,"maximum":256},"validCount":{"type":"integer","minimum":0,"maximum":256},"invalidCount":{"type":"integer","minimum":0,"maximum":256},"records":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["line","value","canonical"],"properties":{"line":{"type":"integer","minimum":1,"maximum":4096},"value":{"type":["object","array","string","number","boolean","null"]},"canonical":{"type":"string","minLength":1,"maxLength":65536}}}},"rejectedLines":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["line","text","error"],"properties":{"line":{"type":"integer","minimum":1,"maximum":4096},"text":{"type":"string","minLength":0,"maxLength":1024},"error":{"type":"string","minLength":1,"maxLength":128}}}},"normalized":{"type":"string","minLength":0,"maxLength":65536}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"xml_normalize_validate","name":"XML Normalize Validate","machineName":"xml_normalize_validate","machine_name":"xml_normalize_validate","title":"XML Normalize Validate","serviceName":"XML Normalize Validate","tags":["data-normalization","xml-normalize-validate","ai-agents","x402"],"metadata":{"name":"xml_normalize_validate","machineName":"xml_normalize_validate","machine_name":"xml_normalize_validate","title":"XML Normalize Validate","serviceName":"XML Normalize Validate","description":"Safely validates and normalizes bounded XML into a deterministic structural representation without entity resolution or network access.","tags":["data-normalization","xml-normalize-validate","ai-agents","x402"]},"description":"Use this service when you need this capability: safely validates and normalizes bounded XML into a deterministic structural representation without entity resolution or network access.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/xml_normalize_validate","invoke_url":"https://signalharness.ai/api/agent/services/xml_normalize_validate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["xml"],"properties":{"xml":{"type":"string","minLength":1,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":7,"maxProperties":7,"required":["wellFormed","root","namespaces","nodeCount","structure","warnings","errors"],"properties":{"wellFormed":{"type":"boolean"},"root":{"type":"string","minLength":1,"maxLength":256},"namespaces":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["name","value"],"properties":{"name":{"type":"string","minLength":5,"maxLength":256},"value":{"type":"string","minLength":0,"maxLength":4096}}}},"nodeCount":{"type":"integer","minimum":1,"maximum":4096},"structure":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":1024}},"errors":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":1024}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"text_deduplicate","name":"Text Deduplicate","machineName":"text_deduplicate","machine_name":"text_deduplicate","title":"Text Deduplicate","serviceName":"Text Deduplicate","tags":["text-analysis","text-deduplicate","ai-agents","x402"],"metadata":{"name":"text_deduplicate","machineName":"text_deduplicate","machine_name":"text_deduplicate","title":"Text Deduplicate","serviceName":"Text Deduplicate","description":"Detects exact and normalized duplicate text blocks using deterministic hashes while retaining canonical representatives and source order.","tags":["text-analysis","text-deduplicate","ai-agents","x402"]},"description":"Use this service when you need this capability: detects exact and normalized duplicate text blocks using deterministic hashes while retaining canonical representatives and source order.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/text_deduplicate","invoke_url":"https://signalharness.ai/api/agent/services/text_deduplicate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":2,"required":[],"properties":{"items":{"type":"array","minItems":1,"maxItems":256,"items":{"type":"string","minLength":0,"maxLength":65536}},"document":{"type":"string","minLength":1,"maxLength":65536},"caseSensitive":{"type":"boolean"}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["itemCount","exactDuplicateGroups","normalizedDuplicateGroups","canonicalRepresentatives","retainedOrder"],"properties":{"itemCount":{"type":"integer","minimum":1,"maximum":256},"exactDuplicateGroups":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"string","minLength":2,"maxLength":8192}},"normalizedDuplicateGroups":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"string","minLength":2,"maxLength":8192}},"canonicalRepresentatives":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["ordinal","text","exactHash","normalizedHash"],"properties":{"ordinal":{"type":"integer","minimum":0,"maximum":255},"text":{"type":"string","minLength":0,"maxLength":65536},"exactHash":{"type":"string","pattern":"^[0-9a-f]{64}$","minLength":64,"maxLength":64},"normalizedHash":{"type":"string","pattern":"^[0-9a-f]{64}$","minLength":64,"maxLength":64}}}},"retainedOrder":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"integer","minimum":0,"maximum":255}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"content_type_detect","name":"Content Type Detect","machineName":"content_type_detect","machine_name":"content_type_detect","title":"Content Type Detect","serviceName":"Content Type Detect","tags":["content-analysis","content-type-detect","ai-agents","x402"],"metadata":{"name":"content_type_detect","machineName":"content_type_detect","machine_name":"content_type_detect","title":"Content Type Detect","serviceName":"Content Type Detect","description":"Detects likely bounded content types from inert text or base64 bytes using deterministic signatures and structural signals without execution.","tags":["content-analysis","content-type-detect","ai-agents","x402"]},"description":"Use this service when you need this capability: detects likely bounded content types from inert text or base64 bytes using deterministic signatures and structural signals without execution.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/content_type_detect","invoke_url":"https://signalharness.ai/api/agent/services/content_type_detect/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":4,"required":[],"properties":{"text":{"type":"string","minLength":1,"maxLength":65536},"base64":{"type":"string","pattern":"^[A-Za-z0-9+/]*={0,2}$","minLength":1,"maxLength":65536},"declaredContentType":{"type":"string","minLength":1,"maxLength":256},"filename":{"type":"string","minLength":1,"maxLength":1024}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":6,"maxProperties":6,"required":["detectedMime","declaredMime","charset","confidence","structuralSignals","warnings"],"properties":{"detectedMime":{"type":"string","minLength":1,"maxLength":256},"declaredMime":{"type":"string","minLength":0,"maxLength":256},"charset":{"type":"string","minLength":0,"maxLength":64},"confidence":{"type":"string","enum":["low","medium","high"],"minLength":3,"maxLength":6},"structuralSignals":{"type":"array","minItems":1,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":128}},"warnings":{"type":"array","minItems":0,"maxItems":32,"items":{"type":"string","minLength":1,"maxLength":1024}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"heading_structure_audit","name":"Heading Structure Audit","machineName":"heading_structure_audit","machine_name":"heading_structure_audit","title":"Heading Structure Audit","serviceName":"Heading Structure Audit","tags":["content-quality","heading-structure-audit","ai-agents","x402"],"metadata":{"name":"heading_structure_audit","machineName":"heading_structure_audit","machine_name":"heading_structure_audit","title":"Heading Structure Audit","serviceName":"Heading Structure Audit","description":"Audits bounded HTML or Markdown heading hierarchy, duplicates, IDs, skipped levels, and empty headings deterministically.","tags":["content-quality","heading-structure-audit","ai-agents","x402"]},"description":"Use this service when you need this capability: audits bounded HTML or Markdown heading hierarchy, duplicates, IDs, skipped levels, and empty headings deterministically.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/heading_structure_audit","invoke_url":"https://signalharness.ai/api/agent/services/heading_structure_audit/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":[],"properties":{"html":{"type":"string","minLength":1,"maxLength":65536},"markdown":{"type":"string","minLength":1,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["format","status","outline","findings","summary"],"properties":{"format":{"type":"string","enum":["html","markdown"],"minLength":4,"maxLength":8},"status":{"type":"string","enum":["pass","warn","fail"],"minLength":4,"maxLength":4},"outline":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["level","text","id","ordinal"],"properties":{"level":{"type":"integer","minimum":1,"maximum":6},"text":{"type":"string","minLength":0,"maxLength":8192},"id":{"type":"string","minLength":0,"maxLength":256},"ordinal":{"type":"integer","minimum":0,"maximum":255}}}},"findings":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["code","severity","ordinal"],"properties":{"code":{"type":"string","enum":["empty_heading","skipped_level","duplicate_id","duplicate_heading"],"minLength":11,"maxLength":17},"severity":{"type":"string","enum":["warn","fail"],"minLength":4,"maxLength":4},"ordinal":{"type":"integer","minimum":0,"maximum":255}}}},"summary":{"type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["headingCount","h1Count","failCount","warnCount"],"properties":{"headingCount":{"type":"integer","minimum":0,"maximum":256},"h1Count":{"type":"integer","minimum":0,"maximum":256},"failCount":{"type":"integer","minimum":0,"maximum":256},"warnCount":{"type":"integer","minimum":0,"maximum":256}}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"http_header_audit","name":"HTTP Header Audit","machineName":"http_header_audit","machine_name":"http_header_audit","title":"HTTP Header Audit","serviceName":"HTTP Header Audit","tags":["web-security","http-header-audit","ai-agents","x402"],"metadata":{"name":"http_header_audit","machineName":"http_header_audit","machine_name":"http_header_audit","title":"HTTP Header Audit","serviceName":"HTTP Header Audit","description":"Audits bounded supplied or safely fetched HTTP headers for caching, security, discovery, CORS, and x402 signals.","tags":["web-security","http-header-audit","ai-agents","x402"]},"description":"Use this service when you need this capability: audits bounded supplied or safely fetched HTTP headers for caching, security, discovery, CORS, and x402 signals.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/http_header_audit","invoke_url":"https://signalharness.ai/api/agent/services/http_header_audit/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":2,"required":[],"properties":{"url":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"headers":{"type":"array","minItems":1,"maxItems":128,"items":{"type":"array","minItems":2,"maxItems":2,"items":{"type":"string","minLength":0,"maxLength":8192}}},"status":{"type":"integer","minimum":100,"maximum":599}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":8,"maxProperties":8,"required":["sourceUrl","status","normalizedHeaders","findings","result","cacheSummary","securitySummary","discoverySummary"],"properties":{"sourceUrl":{"type":"string","minLength":0,"maxLength":2048},"status":{"type":"integer","minimum":0,"maximum":599},"normalizedHeaders":{"type":"array","minItems":1,"maxItems":128,"items":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["name","values"],"properties":{"name":{"type":"string","minLength":1,"maxLength":256},"values":{"type":"array","minItems":1,"maxItems":128,"items":{"type":"string","minLength":0,"maxLength":8192}}}}},"findings":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["code","severity","header"],"properties":{"code":{"type":"string","enum":["duplicate_header","missing_header","cors_wildcard_credentials"],"minLength":14,"maxLength":25},"severity":{"type":"string","enum":["info","warn","fail"],"minLength":4,"maxLength":4},"header":{"type":"string","minLength":1,"maxLength":256}}}},"result":{"type":"string","enum":["pass","warn","fail"],"minLength":4,"maxLength":4},"cacheSummary":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["present","missing"],"properties":{"present":{"type":"array","minItems":0,"maxItems":16,"items":{"type":"string","minLength":1,"maxLength":256}},"missing":{"type":"array","minItems":0,"maxItems":16,"items":{"type":"string","minLength":1,"maxLength":256}}}},"securitySummary":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["present","missing"],"properties":{"present":{"type":"array","minItems":0,"maxItems":16,"items":{"type":"string","minLength":1,"maxLength":256}},"missing":{"type":"array","minItems":0,"maxItems":16,"items":{"type":"string","minLength":1,"maxLength":256}}}},"discoverySummary":{"type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["present","missing"],"properties":{"present":{"type":"array","minItems":0,"maxItems":16,"items":{"type":"string","minLength":1,"maxLength":256}},"missing":{"type":"array","minItems":0,"maxItems":16,"items":{"type":"string","minLength":1,"maxLength":256}}}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"fx_pair_list","name":"Daily ECB FX Pair List","machineName":"fx_pair_list","machine_name":"fx_pair_list","title":"Daily ECB FX Pair List","serviceName":"Daily ECB FX Pair List","tags":["market-data","fx-pair-list","ai-agents","x402"],"metadata":{"name":"fx_pair_list","machineName":"fx_pair_list","machine_name":"fx_pair_list","title":"Daily ECB FX Pair List","serviceName":"Daily ECB FX Pair List","description":"Lists bounded daily ECB EUR foreign-exchange reference-rate pairs, not real-time quotes. ECB source data is free; the price covers SignalHarness normalization and delivery. Every result includes source attribution and freshness warnings.","tags":["market-data","fx-pair-list","ai-agents","x402"]},"description":"Use this service when you need this capability: lists bounded daily ECB EUR foreign-exchange reference-rate pairs, not real-time quotes. ECB source data is free; the price covers SignalHarness normalization and delivery. Every result includes source attribution and freshness warnings.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/fx_pair_list","invoke_url":"https://signalharness.ai/api/agent/services/fx_pair_list/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":0,"maxProperties":2,"required":[],"properties":{"query":{"type":"string","minLength":0,"maxLength":32},"limit":{"type":"integer","minimum":1,"maximum":256}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["count","pairs","retrievedAt","source","warnings"],"properties":{"count":{"type":"integer","minimum":0,"maximum":256},"pairs":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["base","quote","symbol","name","asOf"],"properties":{"base":{"type":"string","pattern":"^[A-Z]{3}$","minLength":3,"maxLength":3},"quote":{"type":"string","pattern":"^[A-Z]{3}$","minLength":3,"maxLength":3},"symbol":{"type":"string","pattern":"^[A-Z]{3}/[A-Z]{3}$","minLength":7,"maxLength":7},"name":{"type":"string","minLength":1,"maxLength":256},"asOf":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","minLength":10,"maxLength":10}}}},"retrievedAt":{"type":"string","minLength":20,"maxLength":32},"source":{"type":"object","additionalProperties":false,"minProperties":7,"maxProperties":7,"required":["provider","dataset","sourceUrl","freeAccessUrl","retrievedAt","attribution","notice"],"properties":{"provider":{"type":"string","minLength":1,"maxLength":128},"dataset":{"type":"string","minLength":1,"maxLength":256},"sourceUrl":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"freeAccessUrl":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"retrievedAt":{"type":"string","minLength":20,"maxLength":32},"attribution":{"type":"string","minLength":1,"maxLength":256},"notice":{"type":"string","minLength":1,"maxLength":512}}},"warnings":{"type":"array","minItems":0,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":128}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"fx_rate","name":"Latest Daily ECB FX Reference Rate","machineName":"fx_rate","machine_name":"fx_rate","title":"Latest Daily ECB FX Reference Rate","serviceName":"Latest Daily ECB FX Reference Rate","tags":["market-data","fx-rate","ai-agents","x402"],"metadata":{"name":"fx_rate","machineName":"fx_rate","machine_name":"fx_rate","title":"Latest Daily ECB FX Reference Rate","serviceName":"Latest Daily ECB FX Reference Rate","description":"Returns the latest daily ECB EUR foreign-exchange reference rate, not a real-time quote. ECB source data is free; the price covers SignalHarness normalization and delivery. Every result identifies the observation date, source, and freshness.","tags":["market-data","fx-rate","ai-agents","x402"]},"description":"Use this service when you need this capability: returns the latest daily ECB EUR foreign-exchange reference rate, not a real-time quote. ECB source data is free; the price covers SignalHarness normalization and delivery. Every result identifies the observation date, source, and freshness.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/fx_rate","invoke_url":"https://signalharness.ai/api/agent/services/fx_rate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":2,"maxProperties":2,"required":["base","quote"],"properties":{"base":{"type":"string","enum":["EUR"],"minLength":3,"maxLength":3},"quote":{"type":"string","pattern":"^[A-Z]{3}$","minLength":3,"maxLength":3}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":8,"maxProperties":8,"required":["base","quote","symbol","rate","asOf","retrievedAt","source","warnings"],"properties":{"base":{"type":"string","pattern":"^[A-Z]{3}$","minLength":3,"maxLength":3},"quote":{"type":"string","pattern":"^[A-Z]{3}$","minLength":3,"maxLength":3},"symbol":{"type":"string","pattern":"^[A-Z]{3}/[A-Z]{3}$","minLength":7,"maxLength":7},"rate":{"type":"number","minimum":1e-8,"maximum":1000000000},"asOf":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","minLength":10,"maxLength":10},"retrievedAt":{"type":"string","minLength":20,"maxLength":32},"source":{"type":"object","additionalProperties":false,"minProperties":7,"maxProperties":7,"required":["provider","dataset","sourceUrl","freeAccessUrl","retrievedAt","attribution","notice"],"properties":{"provider":{"type":"string","minLength":1,"maxLength":128},"dataset":{"type":"string","minLength":1,"maxLength":256},"sourceUrl":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"freeAccessUrl":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"retrievedAt":{"type":"string","minLength":20,"maxLength":32},"attribution":{"type":"string","minLength":1,"maxLength":256},"notice":{"type":"string","minLength":1,"maxLength":512}}},"warnings":{"type":"array","minItems":0,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":128}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"fx_rate_history","name":"Daily ECB FX Reference Rate History","machineName":"fx_rate_history","machine_name":"fx_rate_history","title":"Daily ECB FX Reference Rate History","serviceName":"Daily ECB FX Reference Rate History","tags":["market-data","fx-rate-history","ai-agents","x402"],"metadata":{"name":"fx_rate_history","machineName":"fx_rate_history","machine_name":"fx_rate_history","title":"Daily ECB FX Reference Rate History","serviceName":"Daily ECB FX Reference Rate History","description":"Returns up to 256 daily ECB EUR reference-rate observations across a bounded date range, not real-time quotes. ECB source data is free; the price covers SignalHarness normalization and delivery. Every result includes source attribution and freshness warnings.","tags":["market-data","fx-rate-history","ai-agents","x402"]},"description":"Use this service when you need this capability: returns up to 256 daily ECB EUR reference-rate observations across a bounded date range, not real-time quotes. ECB source data is free; the price covers SignalHarness normalization and delivery. Every result includes source attribution and freshness warnings.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/fx_rate_history","invoke_url":"https://signalharness.ai/api/agent/services/fx_rate_history/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":5,"required":["base","quote","startDate","endDate"],"properties":{"base":{"type":"string","enum":["EUR"],"minLength":3,"maxLength":3},"quote":{"type":"string","pattern":"^[A-Z]{3}$","minLength":3,"maxLength":3},"startDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","minLength":10,"maxLength":10},"endDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","minLength":10,"maxLength":10},"limit":{"type":"integer","minimum":1,"maximum":256}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":10,"maxProperties":10,"required":["base","quote","symbol","startDate","endDate","count","points","retrievedAt","source","warnings"],"properties":{"base":{"type":"string","pattern":"^[A-Z]{3}$","minLength":3,"maxLength":3},"quote":{"type":"string","pattern":"^[A-Z]{3}$","minLength":3,"maxLength":3},"symbol":{"type":"string","pattern":"^[A-Z]{3}/[A-Z]{3}$","minLength":7,"maxLength":7},"startDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","minLength":10,"maxLength":10},"endDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","minLength":10,"maxLength":10},"count":{"type":"integer","minimum":0,"maximum":256},"points":{"type":"array","minItems":0,"maxItems":256,"items":{"type":"object","additionalProperties":false,"minProperties":3,"maxProperties":3,"required":["date","rate","status"],"properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","minLength":10,"maxLength":10},"rate":{"type":"number","minimum":1e-8,"maximum":1000000000},"status":{"type":"string","minLength":1,"maxLength":32}}}},"retrievedAt":{"type":"string","minLength":20,"maxLength":32},"source":{"type":"object","additionalProperties":false,"minProperties":7,"maxProperties":7,"required":["provider","dataset","sourceUrl","freeAccessUrl","retrievedAt","attribution","notice"],"properties":{"provider":{"type":"string","minLength":1,"maxLength":128},"dataset":{"type":"string","minLength":1,"maxLength":256},"sourceUrl":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"freeAccessUrl":{"type":"string","pattern":"^https://","minLength":9,"maxLength":2048},"retrievedAt":{"type":"string","minLength":20,"maxLength":32},"attribution":{"type":"string","minLength":1,"maxLength":256},"notice":{"type":"string","minLength":1,"maxLength":512}}},"warnings":{"type":"array","minItems":0,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":128}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base"},{"service_id":"address_validate","name":"Address Validate","machineName":"address_validate","machine_name":"address_validate","title":"Address Validate","serviceName":"Address Validate","tags":["address-and-chain-identifiers","address-validate","ai-agents","x402"],"metadata":{"name":"address_validate","machineName":"address_validate","machine_name":"address_validate","title":"Address Validate","serviceName":"Address Validate","description":"Validate one caller-supplied EVM, Solana, or Bitcoin address for the explicitly selected format.","tags":["address-and-chain-identifiers","address-validate","ai-agents","x402"]},"description":"Use this service when you need this capability: validate one caller-supplied EVM, Solana, or Bitcoin address for the explicitly selected format.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/address_validate","invoke_url":"https://signalharness.ai/api/agent/services/address_validate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["address_validation_request"],"properties":{"address_validation_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","address_validation","warnings"],"properties":{"service_id":{"type":"string","const":"address_validate","minLength":16,"maxLength":16},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"address_validation":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"address_checksum","name":"EVM Address Checksum","machineName":"address_checksum","machine_name":"address_checksum","title":"EVM Address Checksum","serviceName":"EVM Address Checksum","tags":["address-and-chain-identifiers","address-checksum","ai-agents","x402"],"metadata":{"name":"address_checksum","machineName":"address_checksum","machine_name":"address_checksum","title":"EVM Address Checksum","serviceName":"EVM Address Checksum","description":"Normalize one caller-supplied EVM address to its EIP-55 checksum representation.","tags":["address-and-chain-identifiers","address-checksum","ai-agents","x402"]},"description":"Use this service when you need this capability: normalize one caller-supplied EVM address to its EIP-55 checksum representation.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/address_checksum","invoke_url":"https://signalharness.ai/api/agent/services/address_checksum/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["address_checksum_request"],"properties":{"address_checksum_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","checksummed_address","warnings"],"properties":{"service_id":{"type":"string","const":"address_checksum","minLength":16,"maxLength":16},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"checksummed_address":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"chain_identifier_normalize","name":"Chain Identifier Normalize","machineName":"chain_identifier_normalize","machine_name":"chain_identifier_normalize","title":"Chain Identifier Normalize","serviceName":"Chain Identifier Normalize","tags":["address-and-chain-identifiers","chain-identifier-normalize","ai-agents","x402"],"metadata":{"name":"chain_identifier_normalize","machineName":"chain_identifier_normalize","machine_name":"chain_identifier_normalize","title":"Chain Identifier Normalize","serviceName":"Chain Identifier Normalize","description":"Normalize and validate an explicitly supplied CAIP-2 chain identifier.","tags":["address-and-chain-identifiers","chain-identifier-normalize","ai-agents","x402"]},"description":"Use this service when you need this capability: normalize and validate an explicitly supplied CAIP-2 chain identifier.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/chain_identifier_normalize","invoke_url":"https://signalharness.ai/api/agent/services/chain_identifier_normalize/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["chain_identifier_request"],"properties":{"chain_identifier_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","normalized_chain_identifier","warnings"],"properties":{"service_id":{"type":"string","const":"chain_identifier_normalize","minLength":26,"maxLength":26},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"normalized_chain_identifier":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"caip10_compare","name":"CAIP-10 Account Compare","machineName":"caip10_compare","machine_name":"caip10_compare","title":"CAIP-10 Account Compare","serviceName":"CAIP-10 Account Compare","tags":["address-and-chain-identifiers","caip10-compare","ai-agents","x402"],"metadata":{"name":"caip10_compare","machineName":"caip10_compare","machine_name":"caip10_compare","title":"CAIP-10 Account Compare","serviceName":"CAIP-10 Account Compare","description":"Compare two supplied CAIP-10 identifiers after deterministic normalization.","tags":["address-and-chain-identifiers","caip10-compare","ai-agents","x402"]},"description":"Use this service when you need this capability: compare two supplied CAIP-10 identifiers after deterministic normalization.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/caip10_compare","invoke_url":"https://signalharness.ai/api/agent/services/caip10_compare/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["account_comparison_request"],"properties":{"account_comparison_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","account_comparison","warnings"],"properties":{"service_id":{"type":"string","const":"caip10_compare","minLength":14,"maxLength":14},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"account_comparison":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"payment_uri_parse","name":"Crypto Payment URI Parse","machineName":"payment_uri_parse","machine_name":"payment_uri_parse","title":"Crypto Payment URI Parse","serviceName":"Crypto Payment URI Parse","tags":["address-and-chain-identifiers","payment-uri-parse","ai-agents","x402"],"metadata":{"name":"payment_uri_parse","machineName":"payment_uri_parse","machine_name":"payment_uri_parse","title":"Crypto Payment URI Parse","serviceName":"Crypto Payment URI Parse","description":"Parse bounded EIP-681, bitcoin, or solana payment URI fields without initiating payment.","tags":["address-and-chain-identifiers","payment-uri-parse","ai-agents","x402"]},"description":"Use this service when you need this capability: parse bounded EIP-681, bitcoin, or solana payment URI fields without initiating payment.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/payment_uri_parse","invoke_url":"https://signalharness.ai/api/agent/services/payment_uri_parse/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["payment_uri_request"],"properties":{"payment_uri_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","parsed_payment_uri","warnings"],"properties":{"service_id":{"type":"string","const":"payment_uri_parse","minLength":17,"maxLength":17},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"parsed_payment_uri":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"create2_address_compute","name":"CREATE2 Address Compute","machineName":"create2_address_compute","machine_name":"create2_address_compute","title":"CREATE2 Address Compute","serviceName":"CREATE2 Address Compute","tags":["address-and-chain-identifiers","create2-address-compute","ai-agents","x402"],"metadata":{"name":"create2_address_compute","machineName":"create2_address_compute","machine_name":"create2_address_compute","title":"CREATE2 Address Compute","serviceName":"CREATE2 Address Compute","description":"Compute an EVM CREATE2 contract address from supplied deployer, salt, and init code.","tags":["address-and-chain-identifiers","create2-address-compute","ai-agents","x402"]},"description":"Use this service when you need this capability: compute an EVM CREATE2 contract address from supplied deployer, salt, and init code.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/create2_address_compute","invoke_url":"https://signalharness.ai/api/agent/services/create2_address_compute/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["create2_request"],"properties":{"create2_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","create2_address","warnings"],"properties":{"service_id":{"type":"string","const":"create2_address_compute","minLength":23,"maxLength":23},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"create2_address":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"create_address_compute","name":"CREATE Address Compute","machineName":"create_address_compute","machine_name":"create_address_compute","title":"CREATE Address Compute","serviceName":"CREATE Address Compute","tags":["address-and-chain-identifiers","create-address-compute","ai-agents","x402"],"metadata":{"name":"create_address_compute","machineName":"create_address_compute","machine_name":"create_address_compute","title":"CREATE Address Compute","serviceName":"CREATE Address Compute","description":"Compute an EVM CREATE contract address from supplied deployer and nonce.","tags":["address-and-chain-identifiers","create-address-compute","ai-agents","x402"]},"description":"Use this service when you need this capability: compute an EVM CREATE contract address from supplied deployer and nonce.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/create_address_compute","invoke_url":"https://signalharness.ai/api/agent/services/create_address_compute/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["create_request"],"properties":{"create_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","create_address","warnings"],"properties":{"service_id":{"type":"string","const":"create_address_compute","minLength":22,"maxLength":22},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"create_address":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"multichain_address_profile","name":"Multichain Address Profile","machineName":"multichain_address_profile","machine_name":"multichain_address_profile","title":"Multichain Address Profile","serviceName":"Multichain Address Profile","tags":["address-and-chain-identifiers","multichain-address-profile","ai-agents","x402"],"metadata":{"name":"multichain_address_profile","machineName":"multichain_address_profile","machine_name":"multichain_address_profile","title":"Multichain Address Profile","serviceName":"Multichain Address Profile","description":"Classify bounded caller-supplied addresses by explicit chain format and report validation results.","tags":["address-and-chain-identifiers","multichain-address-profile","ai-agents","x402"]},"description":"Use this service when you need this capability: classify bounded caller-supplied addresses by explicit chain format and report validation results.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/multichain_address_profile","invoke_url":"https://signalharness.ai/api/agent/services/multichain_address_profile/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["multichain_profile_request"],"properties":{"multichain_profile_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","multichain_address_profile","warnings"],"properties":{"service_id":{"type":"string","const":"multichain_address_profile","minLength":26,"maxLength":26},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"multichain_address_profile":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"abi_function_encode","name":"ABI Function Encode","machineName":"abi_function_encode","machine_name":"abi_function_encode","title":"ABI Function Encode","serviceName":"ABI Function Encode","tags":["smart-contract-abi-tools","abi-function-encode","ai-agents","x402"],"metadata":{"name":"abi_function_encode","machineName":"abi_function_encode","machine_name":"abi_function_encode","title":"ABI Function Encode","serviceName":"ABI Function Encode","description":"Encode function calldata from a supplied ABI, function name, and arguments.","tags":["smart-contract-abi-tools","abi-function-encode","ai-agents","x402"]},"description":"Use this service when you need this capability: encode function calldata from a supplied ABI, function name, and arguments.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/abi_function_encode","invoke_url":"https://signalharness.ai/api/agent/services/abi_function_encode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["abi_function_encode_request"],"properties":{"abi_function_encode_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","encoded_function_data","warnings"],"properties":{"service_id":{"type":"string","const":"abi_function_encode","minLength":19,"maxLength":19},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"encoded_function_data":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"abi_function_decode","name":"ABI Function Decode","machineName":"abi_function_decode","machine_name":"abi_function_decode","title":"ABI Function Decode","serviceName":"ABI Function Decode","tags":["smart-contract-abi-tools","abi-function-decode","ai-agents","x402"],"metadata":{"name":"abi_function_decode","machineName":"abi_function_decode","machine_name":"abi_function_decode","title":"ABI Function Decode","serviceName":"ABI Function Decode","description":"Decode supplied function calldata against a supplied ABI.","tags":["smart-contract-abi-tools","abi-function-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: decode supplied function calldata against a supplied ABI.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/abi_function_decode","invoke_url":"https://signalharness.ai/api/agent/services/abi_function_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["abi_function_decode_request"],"properties":{"abi_function_decode_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","decoded_function_call","warnings"],"properties":{"service_id":{"type":"string","const":"abi_function_decode","minLength":19,"maxLength":19},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"decoded_function_call":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"abi_result_decode","name":"ABI Result Decode","machineName":"abi_result_decode","machine_name":"abi_result_decode","title":"ABI Result Decode","serviceName":"ABI Result Decode","tags":["smart-contract-abi-tools","abi-result-decode","ai-agents","x402"],"metadata":{"name":"abi_result_decode","machineName":"abi_result_decode","machine_name":"abi_result_decode","title":"ABI Result Decode","serviceName":"ABI Result Decode","description":"Decode supplied function return bytes against a supplied ABI and function name.","tags":["smart-contract-abi-tools","abi-result-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: decode supplied function return bytes against a supplied ABI and function name.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/abi_result_decode","invoke_url":"https://signalharness.ai/api/agent/services/abi_result_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["abi_result_decode_request"],"properties":{"abi_result_decode_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","decoded_function_result","warnings"],"properties":{"service_id":{"type":"string","const":"abi_result_decode","minLength":17,"maxLength":17},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"decoded_function_result":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"abi_event_decode","name":"ABI Event Decode","machineName":"abi_event_decode","machine_name":"abi_event_decode","title":"ABI Event Decode","serviceName":"ABI Event Decode","tags":["smart-contract-abi-tools","abi-event-decode","ai-agents","x402"],"metadata":{"name":"abi_event_decode","machineName":"abi_event_decode","machine_name":"abi_event_decode","title":"ABI Event Decode","serviceName":"ABI Event Decode","description":"Decode supplied EVM log topics and data against a supplied ABI.","tags":["smart-contract-abi-tools","abi-event-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: decode supplied EVM log topics and data against a supplied ABI.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/abi_event_decode","invoke_url":"https://signalharness.ai/api/agent/services/abi_event_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["abi_event_decode_request"],"properties":{"abi_event_decode_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","decoded_event","warnings"],"properties":{"service_id":{"type":"string","const":"abi_event_decode","minLength":16,"maxLength":16},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"decoded_event":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"abi_event_topics","name":"ABI Event Topics","machineName":"abi_event_topics","machine_name":"abi_event_topics","title":"ABI Event Topics","serviceName":"ABI Event Topics","tags":["smart-contract-abi-tools","abi-event-topics","ai-agents","x402"],"metadata":{"name":"abi_event_topics","machineName":"abi_event_topics","machine_name":"abi_event_topics","title":"ABI Event Topics","serviceName":"ABI Event Topics","description":"Construct event filter topics from a supplied ABI, event name, and indexed arguments.","tags":["smart-contract-abi-tools","abi-event-topics","ai-agents","x402"]},"description":"Use this service when you need this capability: construct event filter topics from a supplied ABI, event name, and indexed arguments.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/abi_event_topics","invoke_url":"https://signalharness.ai/api/agent/services/abi_event_topics/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["abi_event_topics_request"],"properties":{"abi_event_topics_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","event_topics","warnings"],"properties":{"service_id":{"type":"string","const":"abi_event_topics","minLength":16,"maxLength":16},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"event_topics":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"abi_custom_error_decode","name":"ABI Custom Error Decode","machineName":"abi_custom_error_decode","machine_name":"abi_custom_error_decode","title":"ABI Custom Error Decode","serviceName":"ABI Custom Error Decode","tags":["smart-contract-abi-tools","abi-custom-error-decode","ai-agents","x402"],"metadata":{"name":"abi_custom_error_decode","machineName":"abi_custom_error_decode","machine_name":"abi_custom_error_decode","title":"ABI Custom Error Decode","serviceName":"ABI Custom Error Decode","description":"Decode supplied revert data against custom errors in a supplied ABI.","tags":["smart-contract-abi-tools","abi-custom-error-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: decode supplied revert data against custom errors in a supplied ABI.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/abi_custom_error_decode","invoke_url":"https://signalharness.ai/api/agent/services/abi_custom_error_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["abi_error_decode_request"],"properties":{"abi_error_decode_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","decoded_custom_error","warnings"],"properties":{"service_id":{"type":"string","const":"abi_custom_error_decode","minLength":23,"maxLength":23},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"decoded_custom_error":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"abi_interface_compare","name":"ABI Interface Compare","machineName":"abi_interface_compare","machine_name":"abi_interface_compare","title":"ABI Interface Compare","serviceName":"ABI Interface Compare","tags":["smart-contract-abi-tools","abi-interface-compare","ai-agents","x402"],"metadata":{"name":"abi_interface_compare","machineName":"abi_interface_compare","machine_name":"abi_interface_compare","title":"ABI Interface Compare","serviceName":"ABI Interface Compare","description":"Compare canonical function, event, and error signatures across two supplied ABIs.","tags":["smart-contract-abi-tools","abi-interface-compare","ai-agents","x402"]},"description":"Use this service when you need this capability: compare canonical function, event, and error signatures across two supplied ABIs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/abi_interface_compare","invoke_url":"https://signalharness.ai/api/agent/services/abi_interface_compare/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["abi_interface_compare_request"],"properties":{"abi_interface_compare_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","abi_interface_comparison","warnings"],"properties":{"service_id":{"type":"string","const":"abi_interface_compare","minLength":21,"maxLength":21},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"abi_interface_comparison":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"abi_selector_collisions","name":"ABI Selector Collision Detect","machineName":"abi_selector_collisions","machine_name":"abi_selector_collisions","title":"ABI Selector Collision Detect","serviceName":"ABI Selector Collision Detect","tags":["smart-contract-abi-tools","abi-selector-collisions","ai-agents","x402"],"metadata":{"name":"abi_selector_collisions","machineName":"abi_selector_collisions","machine_name":"abi_selector_collisions","title":"ABI Selector Collision Detect","serviceName":"ABI Selector Collision Detect","description":"Detect four-byte function-selector collisions inside supplied ABI entries.","tags":["smart-contract-abi-tools","abi-selector-collisions","ai-agents","x402"]},"description":"Use this service when you need this capability: detect four-byte function-selector collisions inside supplied ABI entries.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/abi_selector_collisions","invoke_url":"https://signalharness.ai/api/agent/services/abi_selector_collisions/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["abi_collision_request"],"properties":{"abi_collision_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","selector_collisions","warnings"],"properties":{"service_id":{"type":"string","const":"abi_selector_collisions","minLength":23,"maxLength":23},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"selector_collisions":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"evm_transaction_inspect","name":"EVM Transaction Inspect","machineName":"evm_transaction_inspect","machine_name":"evm_transaction_inspect","title":"EVM Transaction Inspect","serviceName":"EVM Transaction Inspect","tags":["evm-transactions-receipts-blocks","evm-transaction-inspect","ai-agents","x402"],"metadata":{"name":"evm_transaction_inspect","machineName":"evm_transaction_inspect","machine_name":"evm_transaction_inspect","title":"EVM Transaction Inspect","serviceName":"EVM Transaction Inspect","description":"Normalize and summarize a caller-supplied EVM transaction record.","tags":["evm-transactions-receipts-blocks","evm-transaction-inspect","ai-agents","x402"]},"description":"Use this service when you need this capability: normalize and summarize a caller-supplied EVM transaction record.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/evm_transaction_inspect","invoke_url":"https://signalharness.ai/api/agent/services/evm_transaction_inspect/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["evm_transaction_request"],"properties":{"evm_transaction_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","transaction_inspection","warnings"],"properties":{"service_id":{"type":"string","const":"evm_transaction_inspect","minLength":23,"maxLength":23},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"transaction_inspection":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"evm_receipt_summary","name":"EVM Receipt Summary","machineName":"evm_receipt_summary","machine_name":"evm_receipt_summary","title":"EVM Receipt Summary","serviceName":"EVM Receipt Summary","tags":["evm-transactions-receipts-blocks","evm-receipt-summary","ai-agents","x402"],"metadata":{"name":"evm_receipt_summary","machineName":"evm_receipt_summary","machine_name":"evm_receipt_summary","title":"EVM Receipt Summary","serviceName":"EVM Receipt Summary","description":"Summarize status, gas, logs, and contract creation fields from a supplied receipt.","tags":["evm-transactions-receipts-blocks","evm-receipt-summary","ai-agents","x402"]},"description":"Use this service when you need this capability: summarize status, gas, logs, and contract creation fields from a supplied receipt.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/evm_receipt_summary","invoke_url":"https://signalharness.ai/api/agent/services/evm_receipt_summary/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["evm_receipt_request"],"properties":{"evm_receipt_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","receipt_summary","warnings"],"properties":{"service_id":{"type":"string","const":"evm_receipt_summary","minLength":19,"maxLength":19},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"receipt_summary":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"evm_fee_breakdown","name":"EVM Fee Breakdown","machineName":"evm_fee_breakdown","machine_name":"evm_fee_breakdown","title":"EVM Fee Breakdown","serviceName":"EVM Fee Breakdown","tags":["evm-transactions-receipts-blocks","evm-fee-breakdown","ai-agents","x402"],"metadata":{"name":"evm_fee_breakdown","machineName":"evm_fee_breakdown","machine_name":"evm_fee_breakdown","title":"EVM Fee Breakdown","serviceName":"EVM Fee Breakdown","description":"Calculate exact execution, base-fee, and priority-fee amounts from supplied gas fields.","tags":["evm-transactions-receipts-blocks","evm-fee-breakdown","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate exact execution, base-fee, and priority-fee amounts from supplied gas fields.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/evm_fee_breakdown","invoke_url":"https://signalharness.ai/api/agent/services/evm_fee_breakdown/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["evm_fee_request"],"properties":{"evm_fee_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","fee_breakdown","warnings"],"properties":{"service_id":{"type":"string","const":"evm_fee_breakdown","minLength":17,"maxLength":17},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"fee_breakdown":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"evm_transaction_receipt_match","name":"Transaction Receipt Match","machineName":"evm_transaction_receipt_match","machine_name":"evm_transaction_receipt_match","title":"Transaction Receipt Match","serviceName":"Transaction Receipt Match","tags":["evm-transactions-receipts-blocks","evm-transaction-receipt-match","ai-agents","x402"],"metadata":{"name":"evm_transaction_receipt_match","machineName":"evm_transaction_receipt_match","machine_name":"evm_transaction_receipt_match","title":"Transaction Receipt Match","serviceName":"Transaction Receipt Match","description":"Check transaction and receipt identity fields for deterministic consistency.","tags":["evm-transactions-receipts-blocks","evm-transaction-receipt-match","ai-agents","x402"]},"description":"Use this service when you need this capability: check transaction and receipt identity fields for deterministic consistency.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/evm_transaction_receipt_match","invoke_url":"https://signalharness.ai/api/agent/services/evm_transaction_receipt_match/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["transaction_receipt_match_request"],"properties":{"transaction_receipt_match_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","transaction_receipt_match","warnings"],"properties":{"service_id":{"type":"string","const":"evm_transaction_receipt_match","minLength":29,"maxLength":29},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"transaction_receipt_match":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"evm_access_list_analyze","name":"EVM Access List Analyze","machineName":"evm_access_list_analyze","machine_name":"evm_access_list_analyze","title":"EVM Access List Analyze","serviceName":"EVM Access List Analyze","tags":["evm-transactions-receipts-blocks","evm-access-list-analyze","ai-agents","x402"],"metadata":{"name":"evm_access_list_analyze","machineName":"evm_access_list_analyze","machine_name":"evm_access_list_analyze","title":"EVM Access List Analyze","serviceName":"EVM Access List Analyze","description":"Summarize unique addresses, storage keys, duplicates, and intrinsic gas for a supplied access list.","tags":["evm-transactions-receipts-blocks","evm-access-list-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: summarize unique addresses, storage keys, duplicates, and intrinsic gas for a supplied access list.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/evm_access_list_analyze","invoke_url":"https://signalharness.ai/api/agent/services/evm_access_list_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["access_list_request"],"properties":{"access_list_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","access_list_analysis","warnings"],"properties":{"service_id":{"type":"string","const":"evm_access_list_analyze","minLength":23,"maxLength":23},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"access_list_analysis":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"evm_block_analyze","name":"EVM Block Analyze","machineName":"evm_block_analyze","machine_name":"evm_block_analyze","title":"EVM Block Analyze","serviceName":"EVM Block Analyze","tags":["evm-transactions-receipts-blocks","evm-block-analyze","ai-agents","x402"],"metadata":{"name":"evm_block_analyze","machineName":"evm_block_analyze","machine_name":"evm_block_analyze","title":"EVM Block Analyze","serviceName":"EVM Block Analyze","description":"Summarize a supplied EVM block and bounded transaction collection.","tags":["evm-transactions-receipts-blocks","evm-block-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: summarize a supplied EVM block and bounded transaction collection.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/evm_block_analyze","invoke_url":"https://signalharness.ai/api/agent/services/evm_block_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["evm_block_request"],"properties":{"evm_block_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","block_analysis","warnings"],"properties":{"service_id":{"type":"string","const":"evm_block_analyze","minLength":17,"maxLength":17},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"block_analysis":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"evm_block_continuity","name":"EVM Block Continuity Check","machineName":"evm_block_continuity","machine_name":"evm_block_continuity","title":"EVM Block Continuity Check","serviceName":"EVM Block Continuity Check","tags":["evm-transactions-receipts-blocks","evm-block-continuity","ai-agents","x402"],"metadata":{"name":"evm_block_continuity","machineName":"evm_block_continuity","machine_name":"evm_block_continuity","title":"EVM Block Continuity Check","serviceName":"EVM Block Continuity Check","description":"Check number and parent-hash continuity across a supplied ordered block sequence.","tags":["evm-transactions-receipts-blocks","evm-block-continuity","ai-agents","x402"]},"description":"Use this service when you need this capability: check number and parent-hash continuity across a supplied ordered block sequence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/evm_block_continuity","invoke_url":"https://signalharness.ai/api/agent/services/evm_block_continuity/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["block_continuity_request"],"properties":{"block_continuity_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","block_continuity","warnings"],"properties":{"service_id":{"type":"string","const":"evm_block_continuity","minLength":20,"maxLength":20},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"block_continuity":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"evm_transaction_cost_compare","name":"EVM Transaction Cost Compare","machineName":"evm_transaction_cost_compare","machine_name":"evm_transaction_cost_compare","title":"EVM Transaction Cost Compare","serviceName":"EVM Transaction Cost Compare","tags":["evm-transactions-receipts-blocks","evm-transaction-cost-compare","ai-agents","x402"],"metadata":{"name":"evm_transaction_cost_compare","machineName":"evm_transaction_cost_compare","machine_name":"evm_transaction_cost_compare","title":"EVM Transaction Cost Compare","serviceName":"EVM Transaction Cost Compare","description":"Compare exact supplied gas cost scenarios in atomic units.","tags":["evm-transactions-receipts-blocks","evm-transaction-cost-compare","ai-agents","x402"]},"description":"Use this service when you need this capability: compare exact supplied gas cost scenarios in atomic units.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/evm_transaction_cost_compare","invoke_url":"https://signalharness.ai/api/agent/services/evm_transaction_cost_compare/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["transaction_cost_compare_request"],"properties":{"transaction_cost_compare_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","transaction_cost_comparison","warnings"],"properties":{"service_id":{"type":"string","const":"evm_transaction_cost_compare","minLength":28,"maxLength":28},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"transaction_cost_comparison":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"evm_log_inventory","name":"EVM Log Inventory","machineName":"evm_log_inventory","machine_name":"evm_log_inventory","title":"EVM Log Inventory","serviceName":"EVM Log Inventory","tags":["evm-transactions-receipts-blocks","evm-log-inventory","ai-agents","x402"],"metadata":{"name":"evm_log_inventory","machineName":"evm_log_inventory","machine_name":"evm_log_inventory","title":"EVM Log Inventory","serviceName":"EVM Log Inventory","description":"Inventory supplied receipt logs by address and topic zero.","tags":["evm-transactions-receipts-blocks","evm-log-inventory","ai-agents","x402"]},"description":"Use this service when you need this capability: inventory supplied receipt logs by address and topic zero.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/evm_log_inventory","invoke_url":"https://signalharness.ai/api/agent/services/evm_log_inventory/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["evm_log_inventory_request"],"properties":{"evm_log_inventory_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","log_inventory","warnings"],"properties":{"service_id":{"type":"string","const":"evm_log_inventory","minLength":17,"maxLength":17},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"log_inventory":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"erc20_transfer_decode","name":"ERC-20 Transfer Decode","machineName":"erc20_transfer_decode","machine_name":"erc20_transfer_decode","title":"ERC-20 Transfer Decode","serviceName":"ERC-20 Transfer Decode","tags":["tokens-and-transfers","erc20-transfer-decode","ai-agents","x402"],"metadata":{"name":"erc20_transfer_decode","machineName":"erc20_transfer_decode","machine_name":"erc20_transfer_decode","title":"ERC-20 Transfer Decode","serviceName":"ERC-20 Transfer Decode","description":"Decode supplied ERC-20 transfer calldata or log data.","tags":["tokens-and-transfers","erc20-transfer-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: decode supplied ERC-20 transfer calldata or log data.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/erc20_transfer_decode","invoke_url":"https://signalharness.ai/api/agent/services/erc20_transfer_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["erc20_transfer_request"],"properties":{"erc20_transfer_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","decoded_erc20_transfer","warnings"],"properties":{"service_id":{"type":"string","const":"erc20_transfer_decode","minLength":21,"maxLength":21},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"decoded_erc20_transfer":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"token_units_convert","name":"Token Unit Convert","machineName":"token_units_convert","machine_name":"token_units_convert","title":"Token Unit Convert","serviceName":"Token Unit Convert","tags":["tokens-and-transfers","token-units-convert","ai-agents","x402"],"metadata":{"name":"token_units_convert","machineName":"token_units_convert","machine_name":"token_units_convert","title":"Token Unit Convert","serviceName":"Token Unit Convert","description":"Convert exact atomic and decimal token quantities using caller-supplied decimals.","tags":["tokens-and-transfers","token-units-convert","ai-agents","x402"]},"description":"Use this service when you need this capability: convert exact atomic and decimal token quantities using caller-supplied decimals.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/token_units_convert","invoke_url":"https://signalharness.ai/api/agent/services/token_units_convert/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["token_units_request"],"properties":{"token_units_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","token_unit_conversion","warnings"],"properties":{"service_id":{"type":"string","const":"token_units_convert","minLength":19,"maxLength":19},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"token_unit_conversion":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"token_metadata_validate","name":"Token Metadata Validate","machineName":"token_metadata_validate","machine_name":"token_metadata_validate","title":"Token Metadata Validate","serviceName":"Token Metadata Validate","tags":["tokens-and-transfers","token-metadata-validate","ai-agents","x402"],"metadata":{"name":"token_metadata_validate","machineName":"token_metadata_validate","machine_name":"token_metadata_validate","title":"Token Metadata Validate","serviceName":"Token Metadata Validate","description":"Validate bounded supplied token metadata for type, length, decimals, and address consistency.","tags":["tokens-and-transfers","token-metadata-validate","ai-agents","x402"]},"description":"Use this service when you need this capability: validate bounded supplied token metadata for type, length, decimals, and address consistency.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/token_metadata_validate","invoke_url":"https://signalharness.ai/api/agent/services/token_metadata_validate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["token_metadata_request"],"properties":{"token_metadata_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","token_metadata_validation","warnings"],"properties":{"service_id":{"type":"string","const":"token_metadata_validate","minLength":23,"maxLength":23},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"token_metadata_validation":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"token_balance_changes","name":"Token Balance Changes","machineName":"token_balance_changes","machine_name":"token_balance_changes","title":"Token Balance Changes","serviceName":"Token Balance Changes","tags":["tokens-and-transfers","token-balance-changes","ai-agents","x402"],"metadata":{"name":"token_balance_changes","machineName":"token_balance_changes","machine_name":"token_balance_changes","title":"Token Balance Changes","serviceName":"Token Balance Changes","description":"Calculate per-account token balance deltas from supplied before and after atomic balances.","tags":["tokens-and-transfers","token-balance-changes","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate per-account token balance deltas from supplied before and after atomic balances.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/token_balance_changes","invoke_url":"https://signalharness.ai/api/agent/services/token_balance_changes/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["token_balance_changes_request"],"properties":{"token_balance_changes_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","token_balance_changes","warnings"],"properties":{"service_id":{"type":"string","const":"token_balance_changes","minLength":21,"maxLength":21},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"token_balance_changes":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"token_transfer_flow","name":"Token Transfer Flow","machineName":"token_transfer_flow","machine_name":"token_transfer_flow","title":"Token Transfer Flow","serviceName":"Token Transfer Flow","tags":["tokens-and-transfers","token-transfer-flow","ai-agents","x402"],"metadata":{"name":"token_transfer_flow","machineName":"token_transfer_flow","machine_name":"token_transfer_flow","title":"Token Transfer Flow","serviceName":"Token Transfer Flow","description":"Aggregate supplied token transfers into inbound, outbound, and net atomic flows.","tags":["tokens-and-transfers","token-transfer-flow","ai-agents","x402"]},"description":"Use this service when you need this capability: aggregate supplied token transfers into inbound, outbound, and net atomic flows.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/token_transfer_flow","invoke_url":"https://signalharness.ai/api/agent/services/token_transfer_flow/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["token_transfer_flow_request"],"properties":{"token_transfer_flow_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","token_transfer_flow","warnings"],"properties":{"service_id":{"type":"string","const":"token_transfer_flow","minLength":19,"maxLength":19},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"token_transfer_flow":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"token_holder_concentration","name":"Token Holder Concentration","machineName":"token_holder_concentration","machine_name":"token_holder_concentration","title":"Token Holder Concentration","serviceName":"Token Holder Concentration","tags":["tokens-and-transfers","token-holder-concentration","ai-agents","x402"],"metadata":{"name":"token_holder_concentration","machineName":"token_holder_concentration","machine_name":"token_holder_concentration","title":"Token Holder Concentration","serviceName":"Token Holder Concentration","description":"Calculate holder shares and concentration metrics from supplied balances.","tags":["tokens-and-transfers","token-holder-concentration","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate holder shares and concentration metrics from supplied balances.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/token_holder_concentration","invoke_url":"https://signalharness.ai/api/agent/services/token_holder_concentration/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["token_holder_request"],"properties":{"token_holder_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","holder_concentration","warnings"],"properties":{"service_id":{"type":"string","const":"token_holder_concentration","minLength":26,"maxLength":26},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"holder_concentration":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"token_vesting_schedule","name":"Token Vesting Schedule","machineName":"token_vesting_schedule","machine_name":"token_vesting_schedule","title":"Token Vesting Schedule","serviceName":"Token Vesting Schedule","tags":["tokens-and-transfers","token-vesting-schedule","ai-agents","x402"],"metadata":{"name":"token_vesting_schedule","machineName":"token_vesting_schedule","machine_name":"token_vesting_schedule","title":"Token Vesting Schedule","serviceName":"Token Vesting Schedule","description":"Calculate vested and unvested atomic amounts for a supplied linear vesting schedule.","tags":["tokens-and-transfers","token-vesting-schedule","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate vested and unvested atomic amounts for a supplied linear vesting schedule.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/token_vesting_schedule","invoke_url":"https://signalharness.ai/api/agent/services/token_vesting_schedule/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["vesting_schedule_request"],"properties":{"vesting_schedule_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","vesting_schedule","warnings"],"properties":{"service_id":{"type":"string","const":"token_vesting_schedule","minLength":22,"maxLength":22},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"vesting_schedule":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"token_unlock_calculate","name":"Token Unlock Calculate","machineName":"token_unlock_calculate","machine_name":"token_unlock_calculate","title":"Token Unlock Calculate","serviceName":"Token Unlock Calculate","tags":["tokens-and-transfers","token-unlock-calculate","ai-agents","x402"],"metadata":{"name":"token_unlock_calculate","machineName":"token_unlock_calculate","machine_name":"token_unlock_calculate","title":"Token Unlock Calculate","serviceName":"Token Unlock Calculate","description":"Calculate aggregate unlocked token amounts across supplied cliff and linear grants.","tags":["tokens-and-transfers","token-unlock-calculate","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate aggregate unlocked token amounts across supplied cliff and linear grants.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/token_unlock_calculate","invoke_url":"https://signalharness.ai/api/agent/services/token_unlock_calculate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["token_unlock_request"],"properties":{"token_unlock_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","token_unlock_calculation","warnings"],"properties":{"service_id":{"type":"string","const":"token_unlock_calculate","minLength":22,"maxLength":22},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"token_unlock_calculation":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"token_allowance_change","name":"Token Allowance Change","machineName":"token_allowance_change","machine_name":"token_allowance_change","title":"Token Allowance Change","serviceName":"Token Allowance Change","tags":["tokens-and-transfers","token-allowance-change","ai-agents","x402"],"metadata":{"name":"token_allowance_change","machineName":"token_allowance_change","machine_name":"token_allowance_change","title":"Token Allowance Change","serviceName":"Token Allowance Change","description":"Compare supplied token allowances and identify increases, decreases, and unlimited approvals.","tags":["tokens-and-transfers","token-allowance-change","ai-agents","x402"]},"description":"Use this service when you need this capability: compare supplied token allowances and identify increases, decreases, and unlimited approvals.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/token_allowance_change","invoke_url":"https://signalharness.ai/api/agent/services/token_allowance_change/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["allowance_change_request"],"properties":{"allowance_change_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","allowance_change_analysis","warnings"],"properties":{"service_id":{"type":"string","const":"token_allowance_change","minLength":22,"maxLength":22},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"allowance_change_analysis":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"erc721_transfer_decode","name":"ERC-721 Transfer Decode","machineName":"erc721_transfer_decode","machine_name":"erc721_transfer_decode","title":"ERC-721 Transfer Decode","serviceName":"ERC-721 Transfer Decode","tags":["nft-data-tools","erc721-transfer-decode","ai-agents","x402"],"metadata":{"name":"erc721_transfer_decode","machineName":"erc721_transfer_decode","machine_name":"erc721_transfer_decode","title":"ERC-721 Transfer Decode","serviceName":"ERC-721 Transfer Decode","description":"Decode supplied ERC-721 transfer calldata or event log.","tags":["nft-data-tools","erc721-transfer-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: decode supplied ERC-721 transfer calldata or event log.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/erc721_transfer_decode","invoke_url":"https://signalharness.ai/api/agent/services/erc721_transfer_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["erc721_transfer_request"],"properties":{"erc721_transfer_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","decoded_erc721_transfer","warnings"],"properties":{"service_id":{"type":"string","const":"erc721_transfer_decode","minLength":22,"maxLength":22},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"decoded_erc721_transfer":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"erc1155_transfer_decode","name":"ERC-1155 Transfer Decode","machineName":"erc1155_transfer_decode","machine_name":"erc1155_transfer_decode","title":"ERC-1155 Transfer Decode","serviceName":"ERC-1155 Transfer Decode","tags":["nft-data-tools","erc1155-transfer-decode","ai-agents","x402"],"metadata":{"name":"erc1155_transfer_decode","machineName":"erc1155_transfer_decode","machine_name":"erc1155_transfer_decode","title":"ERC-1155 Transfer Decode","serviceName":"ERC-1155 Transfer Decode","description":"Decode supplied ERC-1155 single or batch transfer calldata or event log.","tags":["nft-data-tools","erc1155-transfer-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: decode supplied ERC-1155 single or batch transfer calldata or event log.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/erc1155_transfer_decode","invoke_url":"https://signalharness.ai/api/agent/services/erc1155_transfer_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["erc1155_transfer_request"],"properties":{"erc1155_transfer_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","decoded_erc1155_transfer","warnings"],"properties":{"service_id":{"type":"string","const":"erc1155_transfer_decode","minLength":23,"maxLength":23},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"decoded_erc1155_transfer":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"nft_metadata_validate","name":"NFT Metadata Validate","machineName":"nft_metadata_validate","machine_name":"nft_metadata_validate","title":"NFT Metadata Validate","serviceName":"NFT Metadata Validate","tags":["nft-data-tools","nft-metadata-validate","ai-agents","x402"],"metadata":{"name":"nft_metadata_validate","machineName":"nft_metadata_validate","machine_name":"nft_metadata_validate","title":"NFT Metadata Validate","serviceName":"NFT Metadata Validate","description":"Validate supplied NFT metadata fields, URI forms, and bounded attribute records.","tags":["nft-data-tools","nft-metadata-validate","ai-agents","x402"]},"description":"Use this service when you need this capability: validate supplied NFT metadata fields, URI forms, and bounded attribute records.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/nft_metadata_validate","invoke_url":"https://signalharness.ai/api/agent/services/nft_metadata_validate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["nft_metadata_request"],"properties":{"nft_metadata_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","nft_metadata_validation","warnings"],"properties":{"service_id":{"type":"string","const":"nft_metadata_validate","minLength":21,"maxLength":21},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"nft_metadata_validation":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"nft_trait_distribution","name":"NFT Trait Distribution","machineName":"nft_trait_distribution","machine_name":"nft_trait_distribution","title":"NFT Trait Distribution","serviceName":"NFT Trait Distribution","tags":["nft-data-tools","nft-trait-distribution","ai-agents","x402"],"metadata":{"name":"nft_trait_distribution","machineName":"nft_trait_distribution","machine_name":"nft_trait_distribution","title":"NFT Trait Distribution","serviceName":"NFT Trait Distribution","description":"Calculate trait frequencies and rarity shares from supplied NFT metadata.","tags":["nft-data-tools","nft-trait-distribution","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate trait frequencies and rarity shares from supplied NFT metadata.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/nft_trait_distribution","invoke_url":"https://signalharness.ai/api/agent/services/nft_trait_distribution/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["nft_trait_request"],"properties":{"nft_trait_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","nft_trait_distribution","warnings"],"properties":{"service_id":{"type":"string","const":"nft_trait_distribution","minLength":22,"maxLength":22},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"nft_trait_distribution":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"nft_collection_change","name":"NFT Collection Change","machineName":"nft_collection_change","machine_name":"nft_collection_change","title":"NFT Collection Change","serviceName":"NFT Collection Change","tags":["nft-data-tools","nft-collection-change","ai-agents","x402"],"metadata":{"name":"nft_collection_change","machineName":"nft_collection_change","machine_name":"nft_collection_change","title":"NFT Collection Change","serviceName":"NFT Collection Change","description":"Compare two supplied collection snapshots by token ID and metadata digest.","tags":["nft-data-tools","nft-collection-change","ai-agents","x402"]},"description":"Use this service when you need this capability: compare two supplied collection snapshots by token ID and metadata digest.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/nft_collection_change","invoke_url":"https://signalharness.ai/api/agent/services/nft_collection_change/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["nft_collection_change_request"],"properties":{"nft_collection_change_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","nft_collection_changes","warnings"],"properties":{"service_id":{"type":"string","const":"nft_collection_change","minLength":21,"maxLength":21},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"nft_collection_changes":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"nft_ownership_summary","name":"NFT Ownership Summary","machineName":"nft_ownership_summary","machine_name":"nft_ownership_summary","title":"NFT Ownership Summary","serviceName":"NFT Ownership Summary","tags":["nft-data-tools","nft-ownership-summary","ai-agents","x402"],"metadata":{"name":"nft_ownership_summary","machineName":"nft_ownership_summary","machine_name":"nft_ownership_summary","title":"NFT Ownership Summary","serviceName":"NFT Ownership Summary","description":"Summarize owners and token holdings from supplied ownership records.","tags":["nft-data-tools","nft-ownership-summary","ai-agents","x402"]},"description":"Use this service when you need this capability: summarize owners and token holdings from supplied ownership records.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/nft_ownership_summary","invoke_url":"https://signalharness.ai/api/agent/services/nft_ownership_summary/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["nft_ownership_request"],"properties":{"nft_ownership_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","nft_ownership_summary","warnings"],"properties":{"service_id":{"type":"string","const":"nft_ownership_summary","minLength":21,"maxLength":21},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"nft_ownership_summary":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"nft_transfer_history","name":"NFT Transfer History","machineName":"nft_transfer_history","machine_name":"nft_transfer_history","title":"NFT Transfer History","serviceName":"NFT Transfer History","tags":["nft-data-tools","nft-transfer-history","ai-agents","x402"],"metadata":{"name":"nft_transfer_history","machineName":"nft_transfer_history","machine_name":"nft_transfer_history","title":"NFT Transfer History","serviceName":"NFT Transfer History","description":"Order and summarize supplied NFT transfers for one token or collection.","tags":["nft-data-tools","nft-transfer-history","ai-agents","x402"]},"description":"Use this service when you need this capability: order and summarize supplied NFT transfers for one token or collection.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/nft_transfer_history","invoke_url":"https://signalharness.ai/api/agent/services/nft_transfer_history/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["nft_history_request"],"properties":{"nft_history_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","nft_transfer_history","warnings"],"properties":{"service_id":{"type":"string","const":"nft_transfer_history","minLength":20,"maxLength":20},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"nft_transfer_history":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"wallet_activity_timeline","name":"Wallet Activity Timeline","machineName":"wallet_activity_timeline","machine_name":"wallet_activity_timeline","title":"Wallet Activity Timeline","serviceName":"Wallet Activity Timeline","tags":["wallet-activity-analysis","wallet-activity-timeline","ai-agents","x402"],"metadata":{"name":"wallet_activity_timeline","machineName":"wallet_activity_timeline","machine_name":"wallet_activity_timeline","title":"Wallet Activity Timeline","serviceName":"Wallet Activity Timeline","description":"Sort and normalize bounded supplied wallet activity records.","tags":["wallet-activity-analysis","wallet-activity-timeline","ai-agents","x402"]},"description":"Use this service when you need this capability: sort and normalize bounded supplied wallet activity records.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/wallet_activity_timeline","invoke_url":"https://signalharness.ai/api/agent/services/wallet_activity_timeline/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["wallet_timeline_request"],"properties":{"wallet_timeline_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","wallet_activity_timeline","warnings"],"properties":{"service_id":{"type":"string","const":"wallet_activity_timeline","minLength":24,"maxLength":24},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"wallet_activity_timeline":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"wallet_asset_flows","name":"Wallet Asset Flows","machineName":"wallet_asset_flows","machine_name":"wallet_asset_flows","title":"Wallet Asset Flows","serviceName":"Wallet Asset Flows","tags":["wallet-activity-analysis","wallet-asset-flows","ai-agents","x402"],"metadata":{"name":"wallet_asset_flows","machineName":"wallet_asset_flows","machine_name":"wallet_asset_flows","title":"Wallet Asset Flows","serviceName":"Wallet Asset Flows","description":"Aggregate supplied wallet records into exact per-asset inflow, outflow, and net amounts.","tags":["wallet-activity-analysis","wallet-asset-flows","ai-agents","x402"]},"description":"Use this service when you need this capability: aggregate supplied wallet records into exact per-asset inflow, outflow, and net amounts.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/wallet_asset_flows","invoke_url":"https://signalharness.ai/api/agent/services/wallet_asset_flows/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["wallet_asset_flow_request"],"properties":{"wallet_asset_flow_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","wallet_asset_flows","warnings"],"properties":{"service_id":{"type":"string","const":"wallet_asset_flows","minLength":18,"maxLength":18},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"wallet_asset_flows":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"wallet_counterparty_summary","name":"Wallet Counterparty Summary","machineName":"wallet_counterparty_summary","machine_name":"wallet_counterparty_summary","title":"Wallet Counterparty Summary","serviceName":"Wallet Counterparty Summary","tags":["wallet-activity-analysis","wallet-counterparty-summary","ai-agents","x402"],"metadata":{"name":"wallet_counterparty_summary","machineName":"wallet_counterparty_summary","machine_name":"wallet_counterparty_summary","title":"Wallet Counterparty Summary","serviceName":"Wallet Counterparty Summary","description":"Summarize supplied interactions by counterparty and direction.","tags":["wallet-activity-analysis","wallet-counterparty-summary","ai-agents","x402"]},"description":"Use this service when you need this capability: summarize supplied interactions by counterparty and direction.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/wallet_counterparty_summary","invoke_url":"https://signalharness.ai/api/agent/services/wallet_counterparty_summary/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["wallet_counterparty_request"],"properties":{"wallet_counterparty_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","wallet_counterparty_summary","warnings"],"properties":{"service_id":{"type":"string","const":"wallet_counterparty_summary","minLength":27,"maxLength":27},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"wallet_counterparty_summary":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"wallet_nonce_gaps","name":"Wallet Nonce Gap Detect","machineName":"wallet_nonce_gaps","machine_name":"wallet_nonce_gaps","title":"Wallet Nonce Gap Detect","serviceName":"Wallet Nonce Gap Detect","tags":["wallet-activity-analysis","wallet-nonce-gaps","ai-agents","x402"],"metadata":{"name":"wallet_nonce_gaps","machineName":"wallet_nonce_gaps","machine_name":"wallet_nonce_gaps","title":"Wallet Nonce Gap Detect","serviceName":"Wallet Nonce Gap Detect","description":"Find missing and duplicate nonces in a supplied account transaction sequence.","tags":["wallet-activity-analysis","wallet-nonce-gaps","ai-agents","x402"]},"description":"Use this service when you need this capability: find missing and duplicate nonces in a supplied account transaction sequence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/wallet_nonce_gaps","invoke_url":"https://signalharness.ai/api/agent/services/wallet_nonce_gaps/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["wallet_nonce_request"],"properties":{"wallet_nonce_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","wallet_nonce_gaps","warnings"],"properties":{"service_id":{"type":"string","const":"wallet_nonce_gaps","minLength":17,"maxLength":17},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"wallet_nonce_gaps":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"wallet_replacement_transactions","name":"Wallet Replacement Transaction Detect","machineName":"wallet_replacement_transactions","machine_name":"wallet_replacement_transactions","title":"Wallet Replacement Transaction Detect","serviceName":"Wallet Replacement Transaction Detect","tags":["wallet-activity-analysis","wallet-replacement-transactions","ai-agents","x402"],"metadata":{"name":"wallet_replacement_transactions","machineName":"wallet_replacement_transactions","machine_name":"wallet_replacement_transactions","title":"Wallet Replacement Transaction Detect","serviceName":"Wallet Replacement Transaction Detect","description":"Group supplied transactions sharing sender and nonce and identify fee-ranked replacements.","tags":["wallet-activity-analysis","wallet-replacement-transactions","ai-agents","x402"]},"description":"Use this service when you need this capability: group supplied transactions sharing sender and nonce and identify fee-ranked replacements.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/wallet_replacement_transactions","invoke_url":"https://signalharness.ai/api/agent/services/wallet_replacement_transactions/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["wallet_replacement_request"],"properties":{"wallet_replacement_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","wallet_replacement_groups","warnings"],"properties":{"service_id":{"type":"string","const":"wallet_replacement_transactions","minLength":31,"maxLength":31},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"wallet_replacement_groups":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"wallet_allowance_exposure","name":"Wallet Allowance Exposure","machineName":"wallet_allowance_exposure","machine_name":"wallet_allowance_exposure","title":"Wallet Allowance Exposure","serviceName":"Wallet Allowance Exposure","tags":["wallet-activity-analysis","wallet-allowance-exposure","ai-agents","x402"],"metadata":{"name":"wallet_allowance_exposure","machineName":"wallet_allowance_exposure","machine_name":"wallet_allowance_exposure","title":"Wallet Allowance Exposure","serviceName":"Wallet Allowance Exposure","description":"Summarize supplied token allowance exposure by spender and flag unlimited values.","tags":["wallet-activity-analysis","wallet-allowance-exposure","ai-agents","x402"]},"description":"Use this service when you need this capability: summarize supplied token allowance exposure by spender and flag unlimited values.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/wallet_allowance_exposure","invoke_url":"https://signalharness.ai/api/agent/services/wallet_allowance_exposure/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["wallet_allowance_request"],"properties":{"wallet_allowance_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","wallet_allowance_exposure","warnings"],"properties":{"service_id":{"type":"string","const":"wallet_allowance_exposure","minLength":25,"maxLength":25},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"wallet_allowance_exposure":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"wallet_duplicate_records","name":"Wallet Duplicate Record Detect","machineName":"wallet_duplicate_records","machine_name":"wallet_duplicate_records","title":"Wallet Duplicate Record Detect","serviceName":"Wallet Duplicate Record Detect","tags":["wallet-activity-analysis","wallet-duplicate-records","ai-agents","x402"],"metadata":{"name":"wallet_duplicate_records","machineName":"wallet_duplicate_records","machine_name":"wallet_duplicate_records","title":"Wallet Duplicate Record Detect","serviceName":"Wallet Duplicate Record Detect","description":"Detect duplicate supplied activity records by transaction, log, and chain identity.","tags":["wallet-activity-analysis","wallet-duplicate-records","ai-agents","x402"]},"description":"Use this service when you need this capability: detect duplicate supplied activity records by transaction, log, and chain identity.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/wallet_duplicate_records","invoke_url":"https://signalharness.ai/api/agent/services/wallet_duplicate_records/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["wallet_duplicate_request"],"properties":{"wallet_duplicate_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","wallet_duplicate_records","warnings"],"properties":{"service_id":{"type":"string","const":"wallet_duplicate_records","minLength":24,"maxLength":24},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"wallet_duplicate_records":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"wallet_multichain_snapshot","name":"Wallet Multichain Snapshot","machineName":"wallet_multichain_snapshot","machine_name":"wallet_multichain_snapshot","title":"Wallet Multichain Snapshot","serviceName":"Wallet Multichain Snapshot","tags":["wallet-activity-analysis","wallet-multichain-snapshot","ai-agents","x402"],"metadata":{"name":"wallet_multichain_snapshot","machineName":"wallet_multichain_snapshot","machine_name":"wallet_multichain_snapshot","title":"Wallet Multichain Snapshot","serviceName":"Wallet Multichain Snapshot","description":"Normalize supplied per-chain asset balances into one bounded snapshot.","tags":["wallet-activity-analysis","wallet-multichain-snapshot","ai-agents","x402"]},"description":"Use this service when you need this capability: normalize supplied per-chain asset balances into one bounded snapshot.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/wallet_multichain_snapshot","invoke_url":"https://signalharness.ai/api/agent/services/wallet_multichain_snapshot/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["wallet_multichain_request"],"properties":{"wallet_multichain_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","wallet_multichain_snapshot","warnings"],"properties":{"service_id":{"type":"string","const":"wallet_multichain_snapshot","minLength":26,"maxLength":26},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"wallet_multichain_snapshot":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"wallet_period_compare","name":"Wallet Period Compare","machineName":"wallet_period_compare","machine_name":"wallet_period_compare","title":"Wallet Period Compare","serviceName":"Wallet Period Compare","tags":["wallet-activity-analysis","wallet-period-compare","ai-agents","x402"],"metadata":{"name":"wallet_period_compare","machineName":"wallet_period_compare","machine_name":"wallet_period_compare","title":"Wallet Period Compare","serviceName":"Wallet Period Compare","description":"Compare two supplied wallet activity periods by count, asset flow, and gas spend.","tags":["wallet-activity-analysis","wallet-period-compare","ai-agents","x402"]},"description":"Use this service when you need this capability: compare two supplied wallet activity periods by count, asset flow, and gas spend.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/wallet_period_compare","invoke_url":"https://signalharness.ai/api/agent/services/wallet_period_compare/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["wallet_period_request"],"properties":{"wallet_period_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","wallet_period_comparison","warnings"],"properties":{"service_id":{"type":"string","const":"wallet_period_compare","minLength":21,"maxLength":21},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"wallet_period_comparison":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"defi_constant_product_quote","name":"Constant Product AMM Quote","machineName":"defi_constant_product_quote","machine_name":"defi_constant_product_quote","title":"Constant Product AMM Quote","serviceName":"Constant Product AMM Quote","tags":["defi-calculations","defi-constant-product-quote","ai-agents","x402"],"metadata":{"name":"defi_constant_product_quote","machineName":"defi_constant_product_quote","machine_name":"defi_constant_product_quote","title":"Constant Product AMM Quote","serviceName":"Constant Product AMM Quote","description":"Calculate a fee-adjusted constant-product AMM output from supplied reserves and input.","tags":["defi-calculations","defi-constant-product-quote","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate a fee-adjusted constant-product AMM output from supplied reserves and input.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/defi_constant_product_quote","invoke_url":"https://signalharness.ai/api/agent/services/defi_constant_product_quote/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["amm_quote_request"],"properties":{"amm_quote_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","amm_quote","warnings"],"properties":{"service_id":{"type":"string","const":"defi_constant_product_quote","minLength":27,"maxLength":27},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"amm_quote":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"defi_price_impact","name":"AMM Price Impact","machineName":"defi_price_impact","machine_name":"defi_price_impact","title":"AMM Price Impact","serviceName":"AMM Price Impact","tags":["defi-calculations","defi-price-impact","ai-agents","x402"],"metadata":{"name":"defi_price_impact","machineName":"defi_price_impact","machine_name":"defi_price_impact","title":"AMM Price Impact","serviceName":"AMM Price Impact","description":"Calculate constant-product execution price and price impact from supplied pool state.","tags":["defi-calculations","defi-price-impact","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate constant-product execution price and price impact from supplied pool state.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/defi_price_impact","invoke_url":"https://signalharness.ai/api/agent/services/defi_price_impact/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["price_impact_request"],"properties":{"price_impact_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","price_impact","warnings"],"properties":{"service_id":{"type":"string","const":"defi_price_impact","minLength":17,"maxLength":17},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"price_impact":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"defi_liquidity_change","name":"Liquidity Change Calculate","machineName":"defi_liquidity_change","machine_name":"defi_liquidity_change","title":"Liquidity Change Calculate","serviceName":"Liquidity Change Calculate","tags":["defi-calculations","defi-liquidity-change","ai-agents","x402"],"metadata":{"name":"defi_liquidity_change","machineName":"defi_liquidity_change","machine_name":"defi_liquidity_change","title":"Liquidity Change Calculate","serviceName":"Liquidity Change Calculate","description":"Calculate proportional reserve deposits or withdrawals for a supplied LP share change.","tags":["defi-calculations","defi-liquidity-change","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate proportional reserve deposits or withdrawals for a supplied LP share change.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/defi_liquidity_change","invoke_url":"https://signalharness.ai/api/agent/services/defi_liquidity_change/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["liquidity_change_request"],"properties":{"liquidity_change_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","liquidity_change","warnings"],"properties":{"service_id":{"type":"string","const":"defi_liquidity_change","minLength":21,"maxLength":21},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"liquidity_change":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"defi_impermanent_loss","name":"Impermanent Loss Calculate","machineName":"defi_impermanent_loss","machine_name":"defi_impermanent_loss","title":"Impermanent Loss Calculate","serviceName":"Impermanent Loss Calculate","tags":["defi-calculations","defi-impermanent-loss","ai-agents","x402"],"metadata":{"name":"defi_impermanent_loss","machineName":"defi_impermanent_loss","machine_name":"defi_impermanent_loss","title":"Impermanent Loss Calculate","serviceName":"Impermanent Loss Calculate","description":"Calculate standard two-asset constant-product impermanent loss from a supplied price ratio.","tags":["defi-calculations","defi-impermanent-loss","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate standard two-asset constant-product impermanent loss from a supplied price ratio.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/defi_impermanent_loss","invoke_url":"https://signalharness.ai/api/agent/services/defi_impermanent_loss/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["impermanent_loss_request"],"properties":{"impermanent_loss_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","impermanent_loss","warnings"],"properties":{"service_id":{"type":"string","const":"defi_impermanent_loss","minLength":21,"maxLength":21},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"impermanent_loss":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"defi_concentrated_liquidity_amounts","name":"Concentrated Liquidity Amounts","machineName":"defi_concentrated_liquidity_amounts","machine_name":"defi_concentrated_liquidity_amounts","title":"Concentrated Liquidity Amounts","serviceName":"Concentrated Liquidity Amounts","tags":["defi-calculations","defi-concentrated-liquidity-amounts","ai-agents","x402"],"metadata":{"name":"defi_concentrated_liquidity_amounts","machineName":"defi_concentrated_liquidity_amounts","machine_name":"defi_concentrated_liquidity_amounts","title":"Concentrated Liquidity Amounts","serviceName":"Concentrated Liquidity Amounts","description":"Calculate token amounts for supplied liquidity and square-root price bounds.","tags":["defi-calculations","defi-concentrated-liquidity-amounts","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate token amounts for supplied liquidity and square-root price bounds.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/defi_concentrated_liquidity_amounts","invoke_url":"https://signalharness.ai/api/agent/services/defi_concentrated_liquidity_amounts/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["concentrated_liquidity_request"],"properties":{"concentrated_liquidity_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","concentrated_liquidity_amounts","warnings"],"properties":{"service_id":{"type":"string","const":"defi_concentrated_liquidity_amounts","minLength":35,"maxLength":35},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"concentrated_liquidity_amounts":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"defi_lending_health_factor","name":"Lending Health Factor","machineName":"defi_lending_health_factor","machine_name":"defi_lending_health_factor","title":"Lending Health Factor","serviceName":"Lending Health Factor","tags":["defi-calculations","defi-lending-health-factor","ai-agents","x402"],"metadata":{"name":"defi_lending_health_factor","machineName":"defi_lending_health_factor","machine_name":"defi_lending_health_factor","title":"Lending Health Factor","serviceName":"Lending Health Factor","description":"Calculate a weighted lending health factor from supplied collateral, debt, prices, and thresholds.","tags":["defi-calculations","defi-lending-health-factor","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate a weighted lending health factor from supplied collateral, debt, prices, and thresholds.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/defi_lending_health_factor","invoke_url":"https://signalharness.ai/api/agent/services/defi_lending_health_factor/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["lending_health_request"],"properties":{"lending_health_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","lending_health_factor","warnings"],"properties":{"service_id":{"type":"string","const":"defi_lending_health_factor","minLength":26,"maxLength":26},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"lending_health_factor":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"defi_liquidation_threshold","name":"Liquidation Threshold Calculate","machineName":"defi_liquidation_threshold","machine_name":"defi_liquidation_threshold","title":"Liquidation Threshold Calculate","serviceName":"Liquidation Threshold Calculate","tags":["defi-calculations","defi-liquidation-threshold","ai-agents","x402"],"metadata":{"name":"defi_liquidation_threshold","machineName":"defi_liquidation_threshold","machine_name":"defi_liquidation_threshold","title":"Liquidation Threshold Calculate","serviceName":"Liquidation Threshold Calculate","description":"Calculate maximum debt and liquidation distance from supplied collateral values and thresholds.","tags":["defi-calculations","defi-liquidation-threshold","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate maximum debt and liquidation distance from supplied collateral values and thresholds.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/defi_liquidation_threshold","invoke_url":"https://signalharness.ai/api/agent/services/defi_liquidation_threshold/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["liquidation_threshold_request"],"properties":{"liquidation_threshold_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","liquidation_threshold","warnings"],"properties":{"service_id":{"type":"string","const":"defi_liquidation_threshold","minLength":26,"maxLength":26},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"liquidation_threshold":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"defi_staking_projection","name":"Staking Projection","machineName":"defi_staking_projection","machine_name":"defi_staking_projection","title":"Staking Projection","serviceName":"Staking Projection","tags":["defi-calculations","defi-staking-projection","ai-agents","x402"],"metadata":{"name":"defi_staking_projection","machineName":"defi_staking_projection","machine_name":"defi_staking_projection","title":"Staking Projection","serviceName":"Staking Projection","description":"Project deterministic staking growth from supplied principal, APR, duration, and compounding frequency.","tags":["defi-calculations","defi-staking-projection","ai-agents","x402"]},"description":"Use this service when you need this capability: project deterministic staking growth from supplied principal, APR, duration, and compounding frequency.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/defi_staking_projection","invoke_url":"https://signalharness.ai/api/agent/services/defi_staking_projection/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["staking_projection_request"],"properties":{"staking_projection_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","staking_projection","warnings"],"properties":{"service_id":{"type":"string","const":"defi_staking_projection","minLength":23,"maxLength":23},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"staking_projection":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"ohlcv_validate","name":"OHLCV Dataset Validate","machineName":"ohlcv_validate","machine_name":"ohlcv_validate","title":"OHLCV Dataset Validate","serviceName":"OHLCV Dataset Validate","tags":["crypto-market-dataset-analysis","ohlcv-validate","ai-agents","x402"],"metadata":{"name":"ohlcv_validate","machineName":"ohlcv_validate","machine_name":"ohlcv_validate","title":"OHLCV Dataset Validate","serviceName":"OHLCV Dataset Validate","description":"Validate ordering, finite values, candle invariants, and interval consistency in supplied OHLCV data.","tags":["crypto-market-dataset-analysis","ohlcv-validate","ai-agents","x402"]},"description":"Use this service when you need this capability: validate ordering, finite values, candle invariants, and interval consistency in supplied OHLCV data.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/ohlcv_validate","invoke_url":"https://signalharness.ai/api/agent/services/ohlcv_validate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["ohlcv_validation_request"],"properties":{"ohlcv_validation_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","ohlcv_validation","warnings"],"properties":{"service_id":{"type":"string","const":"ohlcv_validate","minLength":14,"maxLength":14},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"ohlcv_validation":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"trades_to_candles","name":"Trades to Candles","machineName":"trades_to_candles","machine_name":"trades_to_candles","title":"Trades to Candles","serviceName":"Trades to Candles","tags":["crypto-market-dataset-analysis","trades-candles","ai-agents","x402"],"metadata":{"name":"trades_to_candles","machineName":"trades_to_candles","machine_name":"trades_to_candles","title":"Trades to Candles","serviceName":"Trades to Candles","description":"Aggregate bounded supplied trades into deterministic OHLCV candles.","tags":["crypto-market-dataset-analysis","trades-candles","ai-agents","x402"]},"description":"Use this service when you need this capability: aggregate bounded supplied trades into deterministic OHLCV candles.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/trades_to_candles","invoke_url":"https://signalharness.ai/api/agent/services/trades_to_candles/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["trade_candle_request"],"properties":{"trade_candle_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","generated_candles","warnings"],"properties":{"service_id":{"type":"string","const":"trades_to_candles","minLength":17,"maxLength":17},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"generated_candles":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"candles_resample","name":"Candle Resample","machineName":"candles_resample","machine_name":"candles_resample","title":"Candle Resample","serviceName":"Candle Resample","tags":["crypto-market-dataset-analysis","candles-resample","ai-agents","x402"],"metadata":{"name":"candles_resample","machineName":"candles_resample","machine_name":"candles_resample","title":"Candle Resample","serviceName":"Candle Resample","description":"Resample supplied ordered OHLCV candles to a larger fixed interval.","tags":["crypto-market-dataset-analysis","candles-resample","ai-agents","x402"]},"description":"Use this service when you need this capability: resample supplied ordered OHLCV candles to a larger fixed interval.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/candles_resample","invoke_url":"https://signalharness.ai/api/agent/services/candles_resample/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["candle_resample_request"],"properties":{"candle_resample_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","resampled_candles","warnings"],"properties":{"service_id":{"type":"string","const":"candles_resample","minLength":16,"maxLength":16},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"resampled_candles":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"market_vwap","name":"Market VWAP","machineName":"market_vwap","machine_name":"market_vwap","title":"Market VWAP","serviceName":"Market VWAP","tags":["crypto-market-dataset-analysis","market-vwap","ai-agents","x402"],"metadata":{"name":"market_vwap","machineName":"market_vwap","machine_name":"market_vwap","title":"Market VWAP","serviceName":"Market VWAP","description":"Calculate volume-weighted average price from supplied trades or candles.","tags":["crypto-market-dataset-analysis","market-vwap","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate volume-weighted average price from supplied trades or candles.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/market_vwap","invoke_url":"https://signalharness.ai/api/agent/services/market_vwap/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["vwap_request"],"properties":{"vwap_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","vwap_calculation","warnings"],"properties":{"service_id":{"type":"string","const":"market_vwap","minLength":11,"maxLength":11},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"vwap_calculation":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"market_twap","name":"Market TWAP","machineName":"market_twap","machine_name":"market_twap","title":"Market TWAP","serviceName":"Market TWAP","tags":["crypto-market-dataset-analysis","market-twap","ai-agents","x402"],"metadata":{"name":"market_twap","machineName":"market_twap","machine_name":"market_twap","title":"Market TWAP","serviceName":"Market TWAP","description":"Calculate time-weighted average price from supplied observations and timestamps.","tags":["crypto-market-dataset-analysis","market-twap","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate time-weighted average price from supplied observations and timestamps.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/market_twap","invoke_url":"https://signalharness.ai/api/agent/services/market_twap/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["twap_request"],"properties":{"twap_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","twap_calculation","warnings"],"properties":{"service_id":{"type":"string","const":"market_twap","minLength":11,"maxLength":11},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"twap_calculation":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"market_returns","name":"Market Returns","machineName":"market_returns","machine_name":"market_returns","title":"Market Returns","serviceName":"Market Returns","tags":["crypto-market-dataset-analysis","market-returns","ai-agents","x402"],"metadata":{"name":"market_returns","machineName":"market_returns","machine_name":"market_returns","title":"Market Returns","serviceName":"Market Returns","description":"Calculate simple and logarithmic returns from supplied ordered price observations.","tags":["crypto-market-dataset-analysis","market-returns","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate simple and logarithmic returns from supplied ordered price observations.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/market_returns","invoke_url":"https://signalharness.ai/api/agent/services/market_returns/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["market_returns_request"],"properties":{"market_returns_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","market_returns","warnings"],"properties":{"service_id":{"type":"string","const":"market_returns","minLength":14,"maxLength":14},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"market_returns":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"market_volatility","name":"Market Volatility","machineName":"market_volatility","machine_name":"market_volatility","title":"Market Volatility","serviceName":"Market Volatility","tags":["crypto-market-dataset-analysis","market-volatility","ai-agents","x402"],"metadata":{"name":"market_volatility","machineName":"market_volatility","machine_name":"market_volatility","title":"Market Volatility","serviceName":"Market Volatility","description":"Calculate bounded sample or population volatility from supplied returns.","tags":["crypto-market-dataset-analysis","market-volatility","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate bounded sample or population volatility from supplied returns.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/market_volatility","invoke_url":"https://signalharness.ai/api/agent/services/market_volatility/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["market_volatility_request"],"properties":{"market_volatility_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","market_volatility","warnings"],"properties":{"service_id":{"type":"string","const":"market_volatility","minLength":17,"maxLength":17},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"market_volatility":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"market_drawdown","name":"Market Drawdown","machineName":"market_drawdown","machine_name":"market_drawdown","title":"Market Drawdown","serviceName":"Market Drawdown","tags":["crypto-market-dataset-analysis","market-drawdown","ai-agents","x402"],"metadata":{"name":"market_drawdown","machineName":"market_drawdown","machine_name":"market_drawdown","title":"Market Drawdown","serviceName":"Market Drawdown","description":"Calculate drawdown series and maximum drawdown from supplied prices.","tags":["crypto-market-dataset-analysis","market-drawdown","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate drawdown series and maximum drawdown from supplied prices.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/market_drawdown","invoke_url":"https://signalharness.ai/api/agent/services/market_drawdown/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["market_drawdown_request"],"properties":{"market_drawdown_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","market_drawdown","warnings"],"properties":{"service_id":{"type":"string","const":"market_drawdown","minLength":15,"maxLength":15},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"market_drawdown":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"market_correlation","name":"Market Correlation","machineName":"market_correlation","machine_name":"market_correlation","title":"Market Correlation","serviceName":"Market Correlation","tags":["crypto-market-dataset-analysis","market-correlation","ai-agents","x402"],"metadata":{"name":"market_correlation","machineName":"market_correlation","machine_name":"market_correlation","title":"Market Correlation","serviceName":"Market Correlation","description":"Calculate Pearson correlation for two aligned supplied numeric series.","tags":["crypto-market-dataset-analysis","market-correlation","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate Pearson correlation for two aligned supplied numeric series.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/market_correlation","invoke_url":"https://signalharness.ai/api/agent/services/market_correlation/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["market_correlation_request"],"properties":{"market_correlation_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","market_correlation","warnings"],"properties":{"service_id":{"type":"string","const":"market_correlation","minLength":18,"maxLength":18},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"market_correlation":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"orderbook_depth","name":"Order Book Depth","machineName":"orderbook_depth","machine_name":"orderbook_depth","title":"Order Book Depth","serviceName":"Order Book Depth","tags":["crypto-market-dataset-analysis","orderbook-depth","ai-agents","x402"],"metadata":{"name":"orderbook_depth","machineName":"orderbook_depth","machine_name":"orderbook_depth","title":"Order Book Depth","serviceName":"Order Book Depth","description":"Aggregate supplied bid and ask levels within caller-specified depth or basis-point bands.","tags":["crypto-market-dataset-analysis","orderbook-depth","ai-agents","x402"]},"description":"Use this service when you need this capability: aggregate supplied bid and ask levels within caller-specified depth or basis-point bands.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/orderbook_depth","invoke_url":"https://signalharness.ai/api/agent/services/orderbook_depth/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["orderbook_depth_request"],"properties":{"orderbook_depth_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","orderbook_depth","warnings"],"properties":{"service_id":{"type":"string","const":"orderbook_depth","minLength":15,"maxLength":15},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"orderbook_depth":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"message_hash_eip191","name":"EIP-191 Message Hash","machineName":"message_hash_eip191","machine_name":"message_hash_eip191","title":"EIP-191 Message Hash","serviceName":"EIP-191 Message Hash","tags":["signatures-proofs-contract-diagnostics","message-hash-eip191","ai-agents","x402"],"metadata":{"name":"message_hash_eip191","machineName":"message_hash_eip191","machine_name":"message_hash_eip191","title":"EIP-191 Message Hash","serviceName":"EIP-191 Message Hash","description":"Compute the standard EIP-191 personal-message hash for supplied text or bytes.","tags":["signatures-proofs-contract-diagnostics","message-hash-eip191","ai-agents","x402"]},"description":"Use this service when you need this capability: compute the standard EIP-191 personal-message hash for supplied text or bytes.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/message_hash_eip191","invoke_url":"https://signalharness.ai/api/agent/services/message_hash_eip191/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["message_hash_request"],"properties":{"message_hash_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","message_hash","warnings"],"properties":{"service_id":{"type":"string","const":"message_hash_eip191","minLength":19,"maxLength":19},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"message_hash":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"typed_data_hash_eip712","name":"EIP-712 Typed Data Hash","machineName":"typed_data_hash_eip712","machine_name":"typed_data_hash_eip712","title":"EIP-712 Typed Data Hash","serviceName":"EIP-712 Typed Data Hash","tags":["signatures-proofs-contract-diagnostics","typed-data-hash-eip712","ai-agents","x402"],"metadata":{"name":"typed_data_hash_eip712","machineName":"typed_data_hash_eip712","machine_name":"typed_data_hash_eip712","title":"EIP-712 Typed Data Hash","serviceName":"EIP-712 Typed Data Hash","description":"Compute an EIP-712 typed-data digest from a supplied domain, types, primary type, and message.","tags":["signatures-proofs-contract-diagnostics","typed-data-hash-eip712","ai-agents","x402"]},"description":"Use this service when you need this capability: compute an EIP-712 typed-data digest from a supplied domain, types, primary type, and message.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/typed_data_hash_eip712","invoke_url":"https://signalharness.ai/api/agent/services/typed_data_hash_eip712/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["typed_data_hash_request"],"properties":{"typed_data_hash_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","typed_data_hash","warnings"],"properties":{"service_id":{"type":"string","const":"typed_data_hash_eip712","minLength":22,"maxLength":22},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"typed_data_hash":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"eoa_signature_verify","name":"EOA Signature Verify","machineName":"eoa_signature_verify","machine_name":"eoa_signature_verify","title":"EOA Signature Verify","serviceName":"EOA Signature Verify","tags":["signatures-proofs-contract-diagnostics","eoa-signature-verify","ai-agents","x402"],"metadata":{"name":"eoa_signature_verify","machineName":"eoa_signature_verify","machine_name":"eoa_signature_verify","title":"EOA Signature Verify","serviceName":"EOA Signature Verify","description":"Verify a supplied EVM message signature against a supplied address.","tags":["signatures-proofs-contract-diagnostics","eoa-signature-verify","ai-agents","x402"]},"description":"Use this service when you need this capability: verify a supplied EVM message signature against a supplied address.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/eoa_signature_verify","invoke_url":"https://signalharness.ai/api/agent/services/eoa_signature_verify/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["eoa_signature_request"],"properties":{"eoa_signature_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","eoa_signature_verification","warnings"],"properties":{"service_id":{"type":"string","const":"eoa_signature_verify","minLength":20,"maxLength":20},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"eoa_signature_verification":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"typed_data_inspect","name":"Typed Data Inspect","machineName":"typed_data_inspect","machine_name":"typed_data_inspect","title":"Typed Data Inspect","serviceName":"Typed Data Inspect","tags":["signatures-proofs-contract-diagnostics","typed-data-inspect","ai-agents","x402"],"metadata":{"name":"typed_data_inspect","machineName":"typed_data_inspect","machine_name":"typed_data_inspect","title":"Typed Data Inspect","serviceName":"Typed Data Inspect","description":"Inspect supplied EIP-712 types for dependencies, cycles, and referenced fields.","tags":["signatures-proofs-contract-diagnostics","typed-data-inspect","ai-agents","x402"]},"description":"Use this service when you need this capability: inspect supplied EIP-712 types for dependencies, cycles, and referenced fields.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/typed_data_inspect","invoke_url":"https://signalharness.ai/api/agent/services/typed_data_inspect/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["typed_data_inspection_request"],"properties":{"typed_data_inspection_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","typed_data_inspection","warnings"],"properties":{"service_id":{"type":"string","const":"typed_data_inspect","minLength":18,"maxLength":18},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"typed_data_inspection":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"permit_inspect_eip2612","name":"EIP-2612 Permit Inspect","machineName":"permit_inspect_eip2612","machine_name":"permit_inspect_eip2612","title":"EIP-2612 Permit Inspect","serviceName":"EIP-2612 Permit Inspect","tags":["signatures-proofs-contract-diagnostics","permit-inspect-eip2612","ai-agents","x402"],"metadata":{"name":"permit_inspect_eip2612","machineName":"permit_inspect_eip2612","machine_name":"permit_inspect_eip2612","title":"EIP-2612 Permit Inspect","serviceName":"EIP-2612 Permit Inspect","description":"Decode and summarize supplied EIP-2612 permit calldata or typed message fields.","tags":["signatures-proofs-contract-diagnostics","permit-inspect-eip2612","ai-agents","x402"]},"description":"Use this service when you need this capability: decode and summarize supplied EIP-2612 permit calldata or typed message fields.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/permit_inspect_eip2612","invoke_url":"https://signalharness.ai/api/agent/services/permit_inspect_eip2612/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["permit_inspection_request"],"properties":{"permit_inspection_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","permit_inspection","warnings"],"properties":{"service_id":{"type":"string","const":"permit_inspect_eip2612","minLength":22,"maxLength":22},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"permit_inspection":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"merkle_root_compute","name":"Merkle Root Compute","machineName":"merkle_root_compute","machine_name":"merkle_root_compute","title":"Merkle Root Compute","serviceName":"Merkle Root Compute","tags":["signatures-proofs-contract-diagnostics","merkle-root-compute","ai-agents","x402"],"metadata":{"name":"merkle_root_compute","machineName":"merkle_root_compute","machine_name":"merkle_root_compute","title":"Merkle Root Compute","serviceName":"Merkle Root Compute","description":"Compute a Keccak-256 Merkle root from supplied leaf hashes using explicit pair-order rules.","tags":["signatures-proofs-contract-diagnostics","merkle-root-compute","ai-agents","x402"]},"description":"Use this service when you need this capability: compute a Keccak-256 Merkle root from supplied leaf hashes using explicit pair-order rules.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/merkle_root_compute","invoke_url":"https://signalharness.ai/api/agent/services/merkle_root_compute/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["merkle_root_request"],"properties":{"merkle_root_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","merkle_root","warnings"],"properties":{"service_id":{"type":"string","const":"merkle_root_compute","minLength":19,"maxLength":19},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"merkle_root":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"merkle_proof_verify","name":"Merkle Proof Verify","machineName":"merkle_proof_verify","machine_name":"merkle_proof_verify","title":"Merkle Proof Verify","serviceName":"Merkle Proof Verify","tags":["signatures-proofs-contract-diagnostics","merkle-proof-verify","ai-agents","x402"],"metadata":{"name":"merkle_proof_verify","machineName":"merkle_proof_verify","machine_name":"merkle_proof_verify","title":"Merkle Proof Verify","serviceName":"Merkle Proof Verify","description":"Verify a supplied Keccak-256 Merkle proof with explicit sorted or positional pairing.","tags":["signatures-proofs-contract-diagnostics","merkle-proof-verify","ai-agents","x402"]},"description":"Use this service when you need this capability: verify a supplied Keccak-256 Merkle proof with explicit sorted or positional pairing.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/merkle_proof_verify","invoke_url":"https://signalharness.ai/api/agent/services/merkle_proof_verify/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["merkle_proof_request"],"properties":{"merkle_proof_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","merkle_proof_verification","warnings"],"properties":{"service_id":{"type":"string","const":"merkle_proof_verify","minLength":19,"maxLength":19},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"merkle_proof_verification":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"log_bloom_check","name":"EVM Log Bloom Check","machineName":"log_bloom_check","machine_name":"log_bloom_check","title":"EVM Log Bloom Check","serviceName":"EVM Log Bloom Check","tags":["signatures-proofs-contract-diagnostics","log-bloom-check","ai-agents","x402"],"metadata":{"name":"log_bloom_check","machineName":"log_bloom_check","machine_name":"log_bloom_check","title":"EVM Log Bloom Check","serviceName":"EVM Log Bloom Check","description":"Test supplied addresses or topics against a supplied 2048-bit EVM log bloom.","tags":["signatures-proofs-contract-diagnostics","log-bloom-check","ai-agents","x402"]},"description":"Use this service when you need this capability: test supplied addresses or topics against a supplied 2048-bit EVM log bloom.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/log_bloom_check","invoke_url":"https://signalharness.ai/api/agent/services/log_bloom_check/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["log_bloom_request"],"properties":{"log_bloom_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","log_bloom_check","warnings"],"properties":{"service_id":{"type":"string","const":"log_bloom_check","minLength":15,"maxLength":15},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"log_bloom_check":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"evm_storage_slot_compute","name":"EVM Storage Slot Compute","machineName":"evm_storage_slot_compute","machine_name":"evm_storage_slot_compute","title":"EVM Storage Slot Compute","serviceName":"EVM Storage Slot Compute","tags":["signatures-proofs-contract-diagnostics","evm-storage-slot-compute","ai-agents","x402"],"metadata":{"name":"evm_storage_slot_compute","machineName":"evm_storage_slot_compute","machine_name":"evm_storage_slot_compute","title":"EVM Storage Slot Compute","serviceName":"EVM Storage Slot Compute","description":"Compute mapping or dynamic-array storage slots from supplied Solidity layout inputs.","tags":["signatures-proofs-contract-diagnostics","evm-storage-slot-compute","ai-agents","x402"]},"description":"Use this service when you need this capability: compute mapping or dynamic-array storage slots from supplied Solidity layout inputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/evm_storage_slot_compute","invoke_url":"https://signalharness.ai/api/agent/services/evm_storage_slot_compute/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["storage_slot_request"],"properties":{"storage_slot_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","computed_storage_slot","warnings"],"properties":{"service_id":{"type":"string","const":"evm_storage_slot_compute","minLength":24,"maxLength":24},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"computed_storage_slot":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"abi_encoding_diagnose","name":"ABI Encoding Diagnose","machineName":"abi_encoding_diagnose","machine_name":"abi_encoding_diagnose","title":"ABI Encoding Diagnose","serviceName":"ABI Encoding Diagnose","tags":["signatures-proofs-contract-diagnostics","abi-encoding-diagnose","ai-agents","x402"],"metadata":{"name":"abi_encoding_diagnose","machineName":"abi_encoding_diagnose","machine_name":"abi_encoding_diagnose","title":"ABI Encoding Diagnose","serviceName":"ABI Encoding Diagnose","description":"Check supplied ABI-encoded bytes for hex, selector, word-alignment, and optional decode consistency.","tags":["signatures-proofs-contract-diagnostics","abi-encoding-diagnose","ai-agents","x402"]},"description":"Use this service when you need this capability: check supplied ABI-encoded bytes for hex, selector, word-alignment, and optional decode consistency.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/abi_encoding_diagnose","invoke_url":"https://signalharness.ai/api/agent/services/abi_encoding_diagnose/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["abi_diagnostic_request"],"properties":{"abi_diagnostic_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","abi_encoding_diagnostic","warnings"],"properties":{"service_id":{"type":"string","const":"abi_encoding_diagnose","minLength":21,"maxLength":21},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"abi_encoding_diagnostic":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"bitcoin_transaction_decode","name":"Bitcoin Transaction Decode","machineName":"bitcoin_transaction_decode","machine_name":"bitcoin_transaction_decode","title":"Bitcoin Transaction Decode","serviceName":"Bitcoin Transaction Decode","tags":["bitcoin-transaction-tools","bitcoin-transaction-decode","ai-agents","x402"],"metadata":{"name":"bitcoin_transaction_decode","machineName":"bitcoin_transaction_decode","machine_name":"bitcoin_transaction_decode","title":"Bitcoin Transaction Decode","serviceName":"Bitcoin Transaction Decode","description":"Decode a bounded supplied raw Bitcoin transaction into version, inputs, outputs, witness, and locktime.","tags":["bitcoin-transaction-tools","bitcoin-transaction-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: decode a bounded supplied raw Bitcoin transaction into version, inputs, outputs, witness, and locktime.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/bitcoin_transaction_decode","invoke_url":"https://signalharness.ai/api/agent/services/bitcoin_transaction_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["bitcoin_transaction_request"],"properties":{"bitcoin_transaction_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","decoded_bitcoin_transaction","warnings"],"properties":{"service_id":{"type":"string","const":"bitcoin_transaction_decode","minLength":26,"maxLength":26},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"decoded_bitcoin_transaction":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"bitcoin_txid_compute","name":"Bitcoin Transaction ID Compute","machineName":"bitcoin_txid_compute","machine_name":"bitcoin_txid_compute","title":"Bitcoin Transaction ID Compute","serviceName":"Bitcoin Transaction ID Compute","tags":["bitcoin-transaction-tools","bitcoin-txid-compute","ai-agents","x402"],"metadata":{"name":"bitcoin_txid_compute","machineName":"bitcoin_txid_compute","machine_name":"bitcoin_txid_compute","title":"Bitcoin Transaction ID Compute","serviceName":"Bitcoin Transaction ID Compute","description":"Compute txid and wtxid from a supplied raw Bitcoin transaction.","tags":["bitcoin-transaction-tools","bitcoin-txid-compute","ai-agents","x402"]},"description":"Use this service when you need this capability: compute txid and wtxid from a supplied raw Bitcoin transaction.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/bitcoin_txid_compute","invoke_url":"https://signalharness.ai/api/agent/services/bitcoin_txid_compute/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["bitcoin_txid_request"],"properties":{"bitcoin_txid_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","bitcoin_transaction_ids","warnings"],"properties":{"service_id":{"type":"string","const":"bitcoin_txid_compute","minLength":20,"maxLength":20},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"bitcoin_transaction_ids":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"bitcoin_weight_vsize","name":"Bitcoin Weight and Vsize","machineName":"bitcoin_weight_vsize","machine_name":"bitcoin_weight_vsize","title":"Bitcoin Weight and Vsize","serviceName":"Bitcoin Weight and Vsize","tags":["bitcoin-transaction-tools","bitcoin-weight-vsize","ai-agents","x402"],"metadata":{"name":"bitcoin_weight_vsize","machineName":"bitcoin_weight_vsize","machine_name":"bitcoin_weight_vsize","title":"Bitcoin Weight and Vsize","serviceName":"Bitcoin Weight and Vsize","description":"Calculate stripped size, total size, weight, and virtual size for a supplied transaction.","tags":["bitcoin-transaction-tools","bitcoin-weight-vsize","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate stripped size, total size, weight, and virtual size for a supplied transaction.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/bitcoin_weight_vsize","invoke_url":"https://signalharness.ai/api/agent/services/bitcoin_weight_vsize/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["bitcoin_weight_request"],"properties":{"bitcoin_weight_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","bitcoin_weight_vsize","warnings"],"properties":{"service_id":{"type":"string","const":"bitcoin_weight_vsize","minLength":20,"maxLength":20},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"bitcoin_weight_vsize":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"bitcoin_fee_calculate","name":"Bitcoin Fee Calculate","machineName":"bitcoin_fee_calculate","machine_name":"bitcoin_fee_calculate","title":"Bitcoin Fee Calculate","serviceName":"Bitcoin Fee Calculate","tags":["bitcoin-transaction-tools","bitcoin-fee-calculate","ai-agents","x402"],"metadata":{"name":"bitcoin_fee_calculate","machineName":"bitcoin_fee_calculate","machine_name":"bitcoin_fee_calculate","title":"Bitcoin Fee Calculate","serviceName":"Bitcoin Fee Calculate","description":"Calculate fee and fee rate from supplied input values and raw transaction outputs.","tags":["bitcoin-transaction-tools","bitcoin-fee-calculate","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate fee and fee rate from supplied input values and raw transaction outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/bitcoin_fee_calculate","invoke_url":"https://signalharness.ai/api/agent/services/bitcoin_fee_calculate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["bitcoin_fee_request"],"properties":{"bitcoin_fee_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","bitcoin_fee_calculation","warnings"],"properties":{"service_id":{"type":"string","const":"bitcoin_fee_calculate","minLength":21,"maxLength":21},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"bitcoin_fee_calculation":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"bitcoin_utxo_selection","name":"Bitcoin UTXO Selection Calculate","machineName":"bitcoin_utxo_selection","machine_name":"bitcoin_utxo_selection","title":"Bitcoin UTXO Selection Calculate","serviceName":"Bitcoin UTXO Selection Calculate","tags":["bitcoin-transaction-tools","bitcoin-utxo-selection","ai-agents","x402"],"metadata":{"name":"bitcoin_utxo_selection","machineName":"bitcoin_utxo_selection","machine_name":"bitcoin_utxo_selection","title":"Bitcoin UTXO Selection Calculate","serviceName":"Bitcoin UTXO Selection Calculate","description":"Select a deterministic bounded UTXO subset for a supplied target and fee estimate.","tags":["bitcoin-transaction-tools","bitcoin-utxo-selection","ai-agents","x402"]},"description":"Use this service when you need this capability: select a deterministic bounded UTXO subset for a supplied target and fee estimate.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/bitcoin_utxo_selection","invoke_url":"https://signalharness.ai/api/agent/services/bitcoin_utxo_selection/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["bitcoin_utxo_request"],"properties":{"bitcoin_utxo_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","bitcoin_utxo_selection","warnings"],"properties":{"service_id":{"type":"string","const":"bitcoin_utxo_selection","minLength":22,"maxLength":22},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"bitcoin_utxo_selection":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"bitcoin_script_classify","name":"Bitcoin Script Classify","machineName":"bitcoin_script_classify","machine_name":"bitcoin_script_classify","title":"Bitcoin Script Classify","serviceName":"Bitcoin Script Classify","tags":["bitcoin-transaction-tools","bitcoin-script-classify","ai-agents","x402"],"metadata":{"name":"bitcoin_script_classify","machineName":"bitcoin_script_classify","machine_name":"bitcoin_script_classify","title":"Bitcoin Script Classify","serviceName":"Bitcoin Script Classify","description":"Classify supplied scriptPubKey hex using standard output templates.","tags":["bitcoin-transaction-tools","bitcoin-script-classify","ai-agents","x402"]},"description":"Use this service when you need this capability: classify supplied scriptPubKey hex using standard output templates.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/bitcoin_script_classify","invoke_url":"https://signalharness.ai/api/agent/services/bitcoin_script_classify/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["bitcoin_script_request"],"properties":{"bitcoin_script_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","bitcoin_script_classification","warnings"],"properties":{"service_id":{"type":"string","const":"bitcoin_script_classify","minLength":23,"maxLength":23},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"bitcoin_script_classification":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"bitcoin_psbt_inspect","name":"Bitcoin PSBT Inspect","machineName":"bitcoin_psbt_inspect","machine_name":"bitcoin_psbt_inspect","title":"Bitcoin PSBT Inspect","serviceName":"Bitcoin PSBT Inspect","tags":["bitcoin-transaction-tools","bitcoin-psbt-inspect","ai-agents","x402"],"metadata":{"name":"bitcoin_psbt_inspect","machineName":"bitcoin_psbt_inspect","machine_name":"bitcoin_psbt_inspect","title":"Bitcoin PSBT Inspect","serviceName":"Bitcoin PSBT Inspect","description":"Inspect a bounded supplied PSBT envelope and summarize map key types without signing.","tags":["bitcoin-transaction-tools","bitcoin-psbt-inspect","ai-agents","x402"]},"description":"Use this service when you need this capability: inspect a bounded supplied PSBT envelope and summarize map key types without signing.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/bitcoin_psbt_inspect","invoke_url":"https://signalharness.ai/api/agent/services/bitcoin_psbt_inspect/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["bitcoin_psbt_request"],"properties":{"bitcoin_psbt_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","bitcoin_psbt_inspection","warnings"],"properties":{"service_id":{"type":"string","const":"bitcoin_psbt_inspect","minLength":20,"maxLength":20},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"bitcoin_psbt_inspection":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"bitcoin_locktime_interpret","name":"Bitcoin Locktime Interpret","machineName":"bitcoin_locktime_interpret","machine_name":"bitcoin_locktime_interpret","title":"Bitcoin Locktime Interpret","serviceName":"Bitcoin Locktime Interpret","tags":["bitcoin-transaction-tools","bitcoin-locktime-interpret","ai-agents","x402"],"metadata":{"name":"bitcoin_locktime_interpret","machineName":"bitcoin_locktime_interpret","machine_name":"bitcoin_locktime_interpret","title":"Bitcoin Locktime Interpret","serviceName":"Bitcoin Locktime Interpret","description":"Interpret supplied locktime and sequence values using Bitcoin threshold rules.","tags":["bitcoin-transaction-tools","bitcoin-locktime-interpret","ai-agents","x402"]},"description":"Use this service when you need this capability: interpret supplied locktime and sequence values using Bitcoin threshold rules.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/bitcoin_locktime_interpret","invoke_url":"https://signalharness.ai/api/agent/services/bitcoin_locktime_interpret/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["bitcoin_locktime_request"],"properties":{"bitcoin_locktime_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","bitcoin_locktime_interpretation","warnings"],"properties":{"service_id":{"type":"string","const":"bitcoin_locktime_interpret","minLength":26,"maxLength":26},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"bitcoin_locktime_interpretation":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"bitcoin_block_header_inspect","name":"Bitcoin Block Header Inspect","machineName":"bitcoin_block_header_inspect","machine_name":"bitcoin_block_header_inspect","title":"Bitcoin Block Header Inspect","serviceName":"Bitcoin Block Header Inspect","tags":["bitcoin-transaction-tools","bitcoin-block-header-inspect","ai-agents","x402"],"metadata":{"name":"bitcoin_block_header_inspect","machineName":"bitcoin_block_header_inspect","machine_name":"bitcoin_block_header_inspect","title":"Bitcoin Block Header Inspect","serviceName":"Bitcoin Block Header Inspect","description":"Decode an 80-byte supplied Bitcoin block header and compute its header hash and target.","tags":["bitcoin-transaction-tools","bitcoin-block-header-inspect","ai-agents","x402"]},"description":"Use this service when you need this capability: decode an 80-byte supplied Bitcoin block header and compute its header hash and target.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/bitcoin_block_header_inspect","invoke_url":"https://signalharness.ai/api/agent/services/bitcoin_block_header_inspect/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["bitcoin_header_request"],"properties":{"bitcoin_header_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","bitcoin_block_header","warnings"],"properties":{"service_id":{"type":"string","const":"bitcoin_block_header_inspect","minLength":28,"maxLength":28},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"bitcoin_block_header":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"bitcoin_merkle_proof_verify","name":"Bitcoin Merkle Proof Verify","machineName":"bitcoin_merkle_proof_verify","machine_name":"bitcoin_merkle_proof_verify","title":"Bitcoin Merkle Proof Verify","serviceName":"Bitcoin Merkle Proof Verify","tags":["bitcoin-transaction-tools","bitcoin-merkle-proof-verify","ai-agents","x402"],"metadata":{"name":"bitcoin_merkle_proof_verify","machineName":"bitcoin_merkle_proof_verify","machine_name":"bitcoin_merkle_proof_verify","title":"Bitcoin Merkle Proof Verify","serviceName":"Bitcoin Merkle Proof Verify","description":"Verify a supplied Bitcoin double-SHA-256 Merkle branch using explicit transaction index.","tags":["bitcoin-transaction-tools","bitcoin-merkle-proof-verify","ai-agents","x402"]},"description":"Use this service when you need this capability: verify a supplied Bitcoin double-SHA-256 Merkle branch using explicit transaction index.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/bitcoin_merkle_proof_verify","invoke_url":"https://signalharness.ai/api/agent/services/bitcoin_merkle_proof_verify/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["bitcoin_merkle_request"],"properties":{"bitcoin_merkle_request":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","bitcoin_merkle_verification","warnings"],"properties":{"service_id":{"type":"string","const":"bitcoin_merkle_proof_verify","minLength":27,"maxLength":27},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"bitcoin_merkle_verification":{"type":"string","minLength":1,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_legacy_transaction_decode","name":"Solana Legacy Transaction Decoder","machineName":"solana_legacy_transaction_decode","machine_name":"solana_legacy_transaction_decode","title":"Solana Legacy Transaction Decoder","serviceName":"Solana Legacy Transaction Decoder","tags":["chain-tools-solana","solana-legacy-transaction-decode","ai-agents","x402"],"metadata":{"name":"solana_legacy_transaction_decode","machineName":"solana_legacy_transaction_decode","machine_name":"solana_legacy_transaction_decode","title":"Solana Legacy Transaction Decoder","serviceName":"Solana Legacy Transaction Decoder","description":"Turn serialized legacy transaction bytes into reviewable message, signature, account, and instruction fields.","tags":["chain-tools-solana","solana-legacy-transaction-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: turn serialized legacy transaction bytes into reviewable message, signature, account, and instruction fields.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_legacy_transaction_decode","invoke_url":"https://signalharness.ai/api/agent/services/solana_legacy_transaction_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_legacy_transaction_decode","minLength":32,"maxLength":32},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_versioned_transaction_decode","name":"Solana Versioned Transaction Decoder","machineName":"solana_versioned_transaction_decode","machine_name":"solana_versioned_transaction_decode","title":"Solana Versioned Transaction Decoder","serviceName":"Solana Versioned Transaction Decoder","tags":["chain-tools-solana","solana-versioned-transaction-decode","ai-agents","x402"],"metadata":{"name":"solana_versioned_transaction_decode","machineName":"solana_versioned_transaction_decode","machine_name":"solana_versioned_transaction_decode","title":"Solana Versioned Transaction Decoder","serviceName":"Solana Versioned Transaction Decoder","description":"Decode supplied Solana legacy or versioned transaction bytes with explicit version handling.","tags":["chain-tools-solana","solana-versioned-transaction-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: decode supplied Solana legacy or versioned transaction bytes with explicit version handling.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_versioned_transaction_decode","invoke_url":"https://signalharness.ai/api/agent/services/solana_versioned_transaction_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_versioned_transaction_decode","minLength":35,"maxLength":35},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_v0_message_analyze","name":"Solana v0 Message Analyzer","machineName":"solana_v0_message_analyze","machine_name":"solana_v0_message_analyze","title":"Solana v0 Message Analyzer","serviceName":"Solana v0 Message Analyzer","tags":["chain-tools-solana","solana-v0-message-analyze","ai-agents","x402"],"metadata":{"name":"solana_v0_message_analyze","machineName":"solana_v0_message_analyze","machine_name":"solana_v0_message_analyze","title":"Solana v0 Message Analyzer","serviceName":"Solana v0 Message Analyzer","description":"Analyze a supplied v0 message for static keys, lookup-table use, and instruction fanout.","tags":["chain-tools-solana","solana-v0-message-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: analyze a supplied v0 message for static keys, lookup-table use, and instruction fanout.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_v0_message_analyze","invoke_url":"https://signalharness.ai/api/agent/services/solana_v0_message_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_v0_message_analyze","minLength":25,"maxLength":25},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_alt_resolve","name":"Solana Address Lookup Table Resolver","machineName":"solana_alt_resolve","machine_name":"solana_alt_resolve","title":"Solana Address Lookup Table Resolver","serviceName":"Solana Address Lookup Table Resolver","tags":["chain-tools-solana","solana-alt-resolve","ai-agents","x402"],"metadata":{"name":"solana_alt_resolve","machineName":"solana_alt_resolve","machine_name":"solana_alt_resolve","title":"Solana Address Lookup Table Resolver","serviceName":"Solana Address Lookup Table Resolver","description":"Resolve writable and read-only lookup indexes against caller-supplied ALT address arrays.","tags":["chain-tools-solana","solana-alt-resolve","ai-agents","x402"]},"description":"Use this service when you need this capability: resolve writable and read-only lookup indexes against caller-supplied ALT address arrays.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_alt_resolve","invoke_url":"https://signalharness.ai/api/agent/services/solana_alt_resolve/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_alt_resolve","minLength":18,"maxLength":18},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_pda_verify","name":"Solana PDA Verification","machineName":"solana_pda_verify","machine_name":"solana_pda_verify","title":"Solana PDA Verification","serviceName":"Solana PDA Verification","tags":["chain-tools-solana","solana-pda-verify","ai-agents","x402"],"metadata":{"name":"solana_pda_verify","machineName":"solana_pda_verify","machine_name":"solana_pda_verify","title":"Solana PDA Verification","serviceName":"Solana PDA Verification","description":"Verify a claimed PDA and optional bump against supplied seeds and program ID.","tags":["chain-tools-solana","solana-pda-verify","ai-agents","x402"]},"description":"Use this service when you need this capability: verify a claimed PDA and optional bump against supplied seeds and program ID.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_pda_verify","invoke_url":"https://signalharness.ai/api/agent/services/solana_pda_verify/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_pda_verify","minLength":17,"maxLength":17},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_account_meta_analyze","name":"Solana Account Meta Analyzer","machineName":"solana_account_meta_analyze","machine_name":"solana_account_meta_analyze","title":"Solana Account Meta Analyzer","serviceName":"Solana Account Meta Analyzer","tags":["chain-tools-solana","solana-account-meta-analyze","ai-agents","x402"],"metadata":{"name":"solana_account_meta_analyze","machineName":"solana_account_meta_analyze","machine_name":"solana_account_meta_analyze","title":"Solana Account Meta Analyzer","serviceName":"Solana Account Meta Analyzer","description":"Analyze supplied account metas for duplicate keys, signer roles, and writable privileges.","tags":["chain-tools-solana","solana-account-meta-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: analyze supplied account metas for duplicate keys, signer roles, and writable privileges.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_account_meta_analyze","invoke_url":"https://signalharness.ai/api/agent/services/solana_account_meta_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_account_meta_analyze","minLength":27,"maxLength":27},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_signer_writable_analyze","name":"Solana Signer and Writable Account Analysis","machineName":"solana_signer_writable_analyze","machine_name":"solana_signer_writable_analyze","title":"Solana Signer and Writable Account Analysis","serviceName":"Solana Signer and Writable Account Analysis","tags":["chain-tools-solana","solana-signer-writable-analyze","ai-agents","x402"],"metadata":{"name":"solana_signer_writable_analyze","machineName":"solana_signer_writable_analyze","machine_name":"solana_signer_writable_analyze","title":"Solana Signer and Writable Account Analysis","serviceName":"Solana Signer and Writable Account Analysis","description":"Classify supplied message accounts by signer and writable status using header rules.","tags":["chain-tools-solana","solana-signer-writable-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: classify supplied message accounts by signer and writable status using header rules.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_signer_writable_analyze","invoke_url":"https://signalharness.ai/api/agent/services/solana_signer_writable_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_signer_writable_analyze","minLength":30,"maxLength":30},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_compute_budget_decode","name":"Solana Compute Budget Decoder","machineName":"solana_compute_budget_decode","machine_name":"solana_compute_budget_decode","title":"Solana Compute Budget Decoder","serviceName":"Solana Compute Budget Decoder","tags":["chain-tools-solana","solana-compute-budget-decode","ai-agents","x402"],"metadata":{"name":"solana_compute_budget_decode","machineName":"solana_compute_budget_decode","machine_name":"solana_compute_budget_decode","title":"Solana Compute Budget Decoder","serviceName":"Solana Compute Budget Decoder","description":"Decode bounded Compute Budget instruction data into documented variants and values.","tags":["chain-tools-solana","solana-compute-budget-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: decode bounded Compute Budget instruction data into documented variants and values.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_compute_budget_decode","invoke_url":"https://signalharness.ai/api/agent/services/solana_compute_budget_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_compute_budget_decode","minLength":28,"maxLength":28},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_spl_approval_analyze","name":"Solana SPL Approval and Authority Analysis","machineName":"solana_spl_approval_analyze","machine_name":"solana_spl_approval_analyze","title":"Solana SPL Approval and Authority Analysis","serviceName":"Solana SPL Approval and Authority Analysis","tags":["chain-tools-solana","solana-spl-approval-analyze","ai-agents","x402"],"metadata":{"name":"solana_spl_approval_analyze","machineName":"solana_spl_approval_analyze","machine_name":"solana_spl_approval_analyze","title":"Solana SPL Approval and Authority Analysis","serviceName":"Solana SPL Approval and Authority Analysis","description":"Analyze supplied approve, revoke, set-authority, or close-account token instructions.","tags":["chain-tools-solana","solana-spl-approval-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: analyze supplied approve, revoke, set-authority, or close-account token instructions.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_spl_approval_analyze","invoke_url":"https://signalharness.ai/api/agent/services/solana_spl_approval_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_spl_approval_analyze","minLength":27,"maxLength":27},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_token2022_extensions_parse","name":"Solana Token-2022 Extension Parser","machineName":"solana_token2022_extensions_parse","machine_name":"solana_token2022_extensions_parse","title":"Solana Token-2022 Extension Parser","serviceName":"Solana Token-2022 Extension Parser","tags":["chain-tools-solana","solana-token2022-extensions-parse","ai-agents","x402"],"metadata":{"name":"solana_token2022_extensions_parse","machineName":"solana_token2022_extensions_parse","machine_name":"solana_token2022_extensions_parse","title":"Solana Token-2022 Extension Parser","serviceName":"Solana Token-2022 Extension Parser","description":"Parse supplied Token-2022 extension records into a bounded typed inventory.","tags":["chain-tools-solana","solana-token2022-extensions-parse","ai-agents","x402"]},"description":"Use this service when you need this capability: parse supplied Token-2022 extension records into a bounded typed inventory.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_token2022_extensions_parse","invoke_url":"https://signalharness.ai/api/agent/services/solana_token2022_extensions_parse/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_token2022_extensions_parse","minLength":33,"maxLength":33},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_token2022_compatibility_report","name":"Solana Token-2022 Compatibility Report","machineName":"solana_token2022_compatibility_report","machine_name":"solana_token2022_compatibility_report","title":"Solana Token-2022 Compatibility Report","serviceName":"Solana Token-2022 Compatibility Report","tags":["chain-tools-solana","solana-token2022-compatibility-report","ai-agents","x402"],"metadata":{"name":"solana_token2022_compatibility_report","machineName":"solana_token2022_compatibility_report","machine_name":"solana_token2022_compatibility_report","title":"Solana Token-2022 Compatibility Report","serviceName":"Solana Token-2022 Compatibility Report","description":"Compare supplied Token-2022 extensions against caller-declared application support.","tags":["chain-tools-solana","solana-token2022-compatibility-report","ai-agents","x402"]},"description":"Use this service when you need this capability: compare supplied Token-2022 extensions against caller-declared application support.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_token2022_compatibility_report","invoke_url":"https://signalharness.ai/api/agent/services/solana_token2022_compatibility_report/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_token2022_compatibility_report","minLength":37,"maxLength":37},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_token_authority_risk","name":"Solana Token Authority and Freeze Risk Report","machineName":"solana_token_authority_risk","machine_name":"solana_token_authority_risk","title":"Solana Token Authority and Freeze Risk Report","serviceName":"Solana Token Authority and Freeze Risk Report","tags":["chain-tools-solana","solana-token-authority-risk","ai-agents","x402"],"metadata":{"name":"solana_token_authority_risk","machineName":"solana_token_authority_risk","machine_name":"solana_token_authority_risk","title":"Solana Token Authority and Freeze Risk Report","serviceName":"Solana Token Authority and Freeze Risk Report","description":"Assess supplied mint/freeze/delegate/close authorities and Token-2022 controls.","tags":["chain-tools-solana","solana-token-authority-risk","ai-agents","x402"]},"description":"Use this service when you need this capability: assess supplied mint/freeze/delegate/close authorities and Token-2022 controls.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_token_authority_risk","invoke_url":"https://signalharness.ai/api/agent/services/solana_token_authority_risk/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_token_authority_risk","minLength":27,"maxLength":27},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_transaction_logs_structure","name":"Solana Transaction Log Structurer","machineName":"solana_transaction_logs_structure","machine_name":"solana_transaction_logs_structure","title":"Solana Transaction Log Structurer","serviceName":"Solana Transaction Log Structurer","tags":["chain-tools-solana","solana-transaction-logs-structure","ai-agents","x402"],"metadata":{"name":"solana_transaction_logs_structure","machineName":"solana_transaction_logs_structure","machine_name":"solana_transaction_logs_structure","title":"Solana Transaction Log Structurer","serviceName":"Solana Transaction Log Structurer","description":"Structure supplied program logs into invocation depth, success/failure, and message records.","tags":["chain-tools-solana","solana-transaction-logs-structure","ai-agents","x402"]},"description":"Use this service when you need this capability: structure supplied program logs into invocation depth, success/failure, and message records.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_transaction_logs_structure","invoke_url":"https://signalharness.ai/api/agent/services/solana_transaction_logs_structure/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_transaction_logs_structure","minLength":33,"maxLength":33},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_inner_instructions_analyze","name":"Solana Inner Instruction Analyzer","machineName":"solana_inner_instructions_analyze","machine_name":"solana_inner_instructions_analyze","title":"Solana Inner Instruction Analyzer","serviceName":"Solana Inner Instruction Analyzer","tags":["chain-tools-solana","solana-inner-instructions-analyze","ai-agents","x402"],"metadata":{"name":"solana_inner_instructions_analyze","machineName":"solana_inner_instructions_analyze","machine_name":"solana_inner_instructions_analyze","title":"Solana Inner Instruction Analyzer","serviceName":"Solana Inner Instruction Analyzer","description":"Relate supplied inner instructions to their parent instruction indexes and programs.","tags":["chain-tools-solana","solana-inner-instructions-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: relate supplied inner instructions to their parent instruction indexes and programs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_inner_instructions_analyze","invoke_url":"https://signalharness.ai/api/agent/services/solana_inner_instructions_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_inner_instructions_analyze","minLength":33,"maxLength":33},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_sol_balance_changes","name":"Solana Pre/Post SOL Balance Change Report","machineName":"solana_sol_balance_changes","machine_name":"solana_sol_balance_changes","title":"Solana Pre/Post SOL Balance Change Report","serviceName":"Solana Pre/Post SOL Balance Change Report","tags":["chain-tools-solana","solana-sol-balance-changes","ai-agents","x402"],"metadata":{"name":"solana_sol_balance_changes","machineName":"solana_sol_balance_changes","machine_name":"solana_sol_balance_changes","title":"Solana Pre/Post SOL Balance Change Report","serviceName":"Solana Pre/Post SOL Balance Change Report","description":"Calculate exact lamport deltas from supplied pre/post balance arrays.","tags":["chain-tools-solana","solana-sol-balance-changes","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate exact lamport deltas from supplied pre/post balance arrays.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_sol_balance_changes","invoke_url":"https://signalharness.ai/api/agent/services/solana_sol_balance_changes/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_sol_balance_changes","minLength":26,"maxLength":26},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_token_balance_changes","name":"Solana Pre/Post Token Balance Report","machineName":"solana_token_balance_changes","machine_name":"solana_token_balance_changes","title":"Solana Pre/Post Token Balance Report","serviceName":"Solana Pre/Post Token Balance Report","tags":["chain-tools-solana","solana-token-balance-changes","ai-agents","x402"],"metadata":{"name":"solana_token_balance_changes","machineName":"solana_token_balance_changes","machine_name":"solana_token_balance_changes","title":"Solana Pre/Post Token Balance Report","serviceName":"Solana Pre/Post Token Balance Report","description":"Reconcile supplied Solana pre/post token balances by account index and mint.","tags":["chain-tools-solana","solana-token-balance-changes","ai-agents","x402"]},"description":"Use this service when you need this capability: reconcile supplied Solana pre/post token balances by account index and mint.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_token_balance_changes","invoke_url":"https://signalharness.ai/api/agent/services/solana_token_balance_changes/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_token_balance_changes","minLength":28,"maxLength":28},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_durable_nonce_inspect","name":"Solana Durable Nonce Transaction Inspection","machineName":"solana_durable_nonce_inspect","machine_name":"solana_durable_nonce_inspect","title":"Solana Durable Nonce Transaction Inspection","serviceName":"Solana Durable Nonce Transaction Inspection","tags":["chain-tools-solana","solana-durable-nonce-inspect","ai-agents","x402"],"metadata":{"name":"solana_durable_nonce_inspect","machineName":"solana_durable_nonce_inspect","machine_name":"solana_durable_nonce_inspect","title":"Solana Durable Nonce Transaction Inspection","serviceName":"Solana Durable Nonce Transaction Inspection","description":"Inspect supplied nonce-account and transaction evidence for durable-nonce usage.","tags":["chain-tools-solana","solana-durable-nonce-inspect","ai-agents","x402"]},"description":"Use this service when you need this capability: inspect supplied nonce-account and transaction evidence for durable-nonce usage.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_durable_nonce_inspect","invoke_url":"https://signalharness.ai/api/agent/services/solana_durable_nonce_inspect/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_durable_nonce_inspect","minLength":28,"maxLength":28},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_program_account_relationships","name":"Solana Program and Account Relationship Report","machineName":"solana_program_account_relationships","machine_name":"solana_program_account_relationships","title":"Solana Program and Account Relationship Report","serviceName":"Solana Program and Account Relationship Report","tags":["chain-tools-solana","solana-program-account-relationships","ai-agents","x402"],"metadata":{"name":"solana_program_account_relationships","machineName":"solana_program_account_relationships","machine_name":"solana_program_account_relationships","title":"Solana Program and Account Relationship Report","serviceName":"Solana Program and Account Relationship Report","description":"Build a bounded graph from supplied top-level and inner instruction account references.","tags":["chain-tools-solana","solana-program-account-relationships","ai-agents","x402"]},"description":"Use this service when you need this capability: build a bounded graph from supplied top-level and inner instruction account references.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_program_account_relationships","invoke_url":"https://signalharness.ai/api/agent/services/solana_program_account_relationships/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_program_account_relationships","minLength":36,"maxLength":36},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":4,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"solana_transaction_complexity_report","name":"Full Solana Transaction Complexity Report","machineName":"solana_transaction_complexity_report","machine_name":"solana_transaction_complexity_report","title":"Full Solana Transaction Complexity Report","serviceName":"Full Solana Transaction Complexity Report","tags":["chain-tools-solana","solana-transaction-complexity-report","ai-agents","x402"],"metadata":{"name":"solana_transaction_complexity_report","machineName":"solana_transaction_complexity_report","machine_name":"solana_transaction_complexity_report","title":"Full Solana Transaction Complexity Report","serviceName":"Full Solana Transaction Complexity Report","description":"Combine supplied message, metadata, logs, and balances into a transaction complexity report.","tags":["chain-tools-solana","solana-transaction-complexity-report","ai-agents","x402"]},"description":"Use this service when you need this capability: combine supplied message, metadata, logs, and balances into a transaction complexity report.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/solana_transaction_complexity_report","invoke_url":"https://signalharness.ai/api/agent/services/solana_transaction_complexity_report/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"solana_transaction_complexity_report","minLength":36,"maxLength":36},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana","minLength":6,"maxLength":6},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"25000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":5,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_eip1559_transaction_decode","name":"Base EIP-1559 Transaction Decoder","machineName":"base_eip1559_transaction_decode","machine_name":"base_eip1559_transaction_decode","title":"Base EIP-1559 Transaction Decoder","serviceName":"Base EIP-1559 Transaction Decoder","tags":["chain-tools-base","base-eip1559-transaction-decode","ai-agents","x402"],"metadata":{"name":"base_eip1559_transaction_decode","machineName":"base_eip1559_transaction_decode","machine_name":"base_eip1559_transaction_decode","title":"Base EIP-1559 Transaction Decoder","serviceName":"Base EIP-1559 Transaction Decoder","description":"Decode supplied type-2 transaction fields and enforce Base chain identity.","tags":["chain-tools-base","base-eip1559-transaction-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: decode supplied type-2 transaction fields and enforce Base chain identity.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_eip1559_transaction_decode","invoke_url":"https://signalharness.ai/api/agent/services/base_eip1559_transaction_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_eip1559_transaction_decode","minLength":31,"maxLength":31},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_deposit_transaction_inspect","name":"Base Deposit Transaction Inspection","machineName":"base_deposit_transaction_inspect","machine_name":"base_deposit_transaction_inspect","title":"Base Deposit Transaction Inspection","serviceName":"Base Deposit Transaction Inspection","tags":["chain-tools-base","base-deposit-transaction-inspect","ai-agents","x402"],"metadata":{"name":"base_deposit_transaction_inspect","machineName":"base_deposit_transaction_inspect","machine_name":"base_deposit_transaction_inspect","title":"Base Deposit Transaction Inspection","serviceName":"Base Deposit Transaction Inspection","description":"Inspect caller-supplied OP Stack deposit transaction fields including source hash and mint/value.","tags":["chain-tools-base","base-deposit-transaction-inspect","ai-agents","x402"]},"description":"Use this service when you need this capability: inspect caller-supplied OP Stack deposit transaction fields including source hash and mint/value.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_deposit_transaction_inspect","invoke_url":"https://signalharness.ai/api/agent/services/base_deposit_transaction_inspect/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_deposit_transaction_inspect","minLength":32,"maxLength":32},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_calldata_decode","name":"Base Calldata Decoder","machineName":"base_calldata_decode","machine_name":"base_calldata_decode","title":"Base Calldata Decoder","serviceName":"Base Calldata Decoder","tags":["chain-tools-base","base-calldata-decode","ai-agents","x402"],"metadata":{"name":"base_calldata_decode","machineName":"base_calldata_decode","machine_name":"base_calldata_decode","title":"Base Calldata Decoder","serviceName":"Base Calldata Decoder","description":"Decode supplied Base calldata against a bounded caller-supplied ABI.","tags":["chain-tools-base","base-calldata-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: decode supplied Base calldata against a bounded caller-supplied ABI.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_calldata_decode","invoke_url":"https://signalharness.ai/api/agent/services/base_calldata_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_calldata_decode","minLength":20,"maxLength":20},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_event_log_decode","name":"Base Event and Log Decoder","machineName":"base_event_log_decode","machine_name":"base_event_log_decode","title":"Base Event and Log Decoder","serviceName":"Base Event and Log Decoder","tags":["chain-tools-base","base-event-log-decode","ai-agents","x402"],"metadata":{"name":"base_event_log_decode","machineName":"base_event_log_decode","machine_name":"base_event_log_decode","title":"Base Event and Log Decoder","serviceName":"Base Event and Log Decoder","description":"Decode supplied Base log topics/data against a bounded ABI and preserve log identity.","tags":["chain-tools-base","base-event-log-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: decode supplied Base log topics/data against a bounded ABI and preserve log identity.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_event_log_decode","invoke_url":"https://signalharness.ai/api/agent/services/base_event_log_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_event_log_decode","minLength":21,"maxLength":21},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_receipt_analyze","name":"Base Transaction Receipt Analyzer","machineName":"base_receipt_analyze","machine_name":"base_receipt_analyze","title":"Base Transaction Receipt Analyzer","serviceName":"Base Transaction Receipt Analyzer","tags":["chain-tools-base","base-receipt-analyze","ai-agents","x402"],"metadata":{"name":"base_receipt_analyze","machineName":"base_receipt_analyze","machine_name":"base_receipt_analyze","title":"Base Transaction Receipt Analyzer","serviceName":"Base Transaction Receipt Analyzer","description":"Analyze supplied Base receipt status, gas, logs, creation, and L1 fee fields.","tags":["chain-tools-base","base-receipt-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: analyze supplied Base receipt status, gas, logs, creation, and L1 fee fields.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_receipt_analyze","invoke_url":"https://signalharness.ai/api/agent/services/base_receipt_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_receipt_analyze","minLength":20,"maxLength":20},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_transaction_receipt_consistency","name":"Base Transaction and Receipt Consistency","machineName":"base_transaction_receipt_consistency","machine_name":"base_transaction_receipt_consistency","title":"Base Transaction and Receipt Consistency","serviceName":"Base Transaction and Receipt Consistency","tags":["chain-tools-base","base-transaction-receipt-consistency","ai-agents","x402"],"metadata":{"name":"base_transaction_receipt_consistency","machineName":"base_transaction_receipt_consistency","machine_name":"base_transaction_receipt_consistency","title":"Base Transaction and Receipt Consistency","serviceName":"Base Transaction and Receipt Consistency","description":"Check supplied Base transaction and receipt identity, gas, destination, and type fields.","tags":["chain-tools-base","base-transaction-receipt-consistency","ai-agents","x402"]},"description":"Use this service when you need this capability: check supplied Base transaction and receipt identity, gas, destination, and type fields.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_transaction_receipt_consistency","invoke_url":"https://signalharness.ai/api/agent/services/base_transaction_receipt_consistency/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_transaction_receipt_consistency","minLength":36,"maxLength":36},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_erc20_approval_exposure","name":"Base ERC-20 Approval and Allowance Exposure","machineName":"base_erc20_approval_exposure","machine_name":"base_erc20_approval_exposure","title":"Base ERC-20 Approval and Allowance Exposure","serviceName":"Base ERC-20 Approval and Allowance Exposure","tags":["chain-tools-base","base-erc20-approval-exposure","ai-agents","x402"],"metadata":{"name":"base_erc20_approval_exposure","machineName":"base_erc20_approval_exposure","machine_name":"base_erc20_approval_exposure","title":"Base ERC-20 Approval and Allowance Exposure","serviceName":"Base ERC-20 Approval and Allowance Exposure","description":"Analyze supplied Base approvals and allowance snapshots by spender.","tags":["chain-tools-base","base-erc20-approval-exposure","ai-agents","x402"]},"description":"Use this service when you need this capability: analyze supplied Base approvals and allowance snapshots by spender.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_erc20_approval_exposure","invoke_url":"https://signalharness.ai/api/agent/services/base_erc20_approval_exposure/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_erc20_approval_exposure","minLength":28,"maxLength":28},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_permit_inspect","name":"Base Permit Inspection","machineName":"base_permit_inspect","machine_name":"base_permit_inspect","title":"Base Permit Inspection","serviceName":"Base Permit Inspection","tags":["chain-tools-base","base-permit-inspect","ai-agents","x402"],"metadata":{"name":"base_permit_inspect","machineName":"base_permit_inspect","machine_name":"base_permit_inspect","title":"Base Permit Inspection","serviceName":"Base Permit Inspection","description":"Inspect supplied EIP-2612 or Permit2-style signed-message fields without verifying or submitting them.","tags":["chain-tools-base","base-permit-inspect","ai-agents","x402"]},"description":"Use this service when you need this capability: inspect supplied EIP-2612 or Permit2-style signed-message fields without verifying or submitting them.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_permit_inspect","invoke_url":"https://signalharness.ai/api/agent/services/base_permit_inspect/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_permit_inspect","minLength":19,"maxLength":19},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_user_operation_inspect","name":"Base UserOperation Inspection","machineName":"base_user_operation_inspect","machine_name":"base_user_operation_inspect","title":"Base UserOperation Inspection","serviceName":"Base UserOperation Inspection","tags":["chain-tools-base","base-user-operation-inspect","ai-agents","x402"],"metadata":{"name":"base_user_operation_inspect","machineName":"base_user_operation_inspect","machine_name":"base_user_operation_inspect","title":"Base UserOperation Inspection","serviceName":"Base UserOperation Inspection","description":"Inspect supplied ERC-4337 user-operation fields and exact gas/fee exposure.","tags":["chain-tools-base","base-user-operation-inspect","ai-agents","x402"]},"description":"Use this service when you need this capability: inspect supplied ERC-4337 user-operation fields and exact gas/fee exposure.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_user_operation_inspect","invoke_url":"https://signalharness.ai/api/agent/services/base_user_operation_inspect/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_user_operation_inspect","minLength":27,"maxLength":27},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":4,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_eip7702_authorization_inspect","name":"Base EIP-7702 Authorization Inspection","machineName":"base_eip7702_authorization_inspect","machine_name":"base_eip7702_authorization_inspect","title":"Base EIP-7702 Authorization Inspection","serviceName":"Base EIP-7702 Authorization Inspection","tags":["chain-tools-base","base-eip7702-authorization-inspect","ai-agents","x402"],"metadata":{"name":"base_eip7702_authorization_inspect","machineName":"base_eip7702_authorization_inspect","machine_name":"base_eip7702_authorization_inspect","title":"Base EIP-7702 Authorization Inspection","serviceName":"Base EIP-7702 Authorization Inspection","description":"Inspect supplied set-code authorization tuples for chain, address, nonce, and signature-field shape.","tags":["chain-tools-base","base-eip7702-authorization-inspect","ai-agents","x402"]},"description":"Use this service when you need this capability: inspect supplied set-code authorization tuples for chain, address, nonce, and signature-field shape.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_eip7702_authorization_inspect","invoke_url":"https://signalharness.ai/api/agent/services/base_eip7702_authorization_inspect/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_eip7702_authorization_inspect","minLength":34,"maxLength":34},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":4,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_nonce_replacement_analyze","name":"Base Nonce and Replacement Analysis","machineName":"base_nonce_replacement_analyze","machine_name":"base_nonce_replacement_analyze","title":"Base Nonce and Replacement Analysis","serviceName":"Base Nonce and Replacement Analysis","tags":["chain-tools-base","base-nonce-replacement-analyze","ai-agents","x402"],"metadata":{"name":"base_nonce_replacement_analyze","machineName":"base_nonce_replacement_analyze","machine_name":"base_nonce_replacement_analyze","title":"Base Nonce and Replacement Analysis","serviceName":"Base Nonce and Replacement Analysis","description":"Group supplied Base transactions by sender and nonce and rank replacement fee caps.","tags":["chain-tools-base","base-nonce-replacement-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: group supplied Base transactions by sender and nonce and rank replacement fee caps.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_nonce_replacement_analyze","invoke_url":"https://signalharness.ai/api/agent/services/base_nonce_replacement_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_nonce_replacement_analyze","minLength":30,"maxLength":30},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_token_flow_reconstruct","name":"Base Token Flow Reconstruction","machineName":"base_token_flow_reconstruct","machine_name":"base_token_flow_reconstruct","title":"Base Token Flow Reconstruction","serviceName":"Base Token Flow Reconstruction","tags":["chain-tools-base","base-token-flow-reconstruct","ai-agents","x402"],"metadata":{"name":"base_token_flow_reconstruct","machineName":"base_token_flow_reconstruct","machine_name":"base_token_flow_reconstruct","title":"Base Token Flow Reconstruction","serviceName":"Base Token Flow Reconstruction","description":"Aggregate supplied Base native/ERC token transfers into account and asset flows.","tags":["chain-tools-base","base-token-flow-reconstruct","ai-agents","x402"]},"description":"Use this service when you need this capability: aggregate supplied Base native/ERC token transfers into account and asset flows.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_token_flow_reconstruct","invoke_url":"https://signalharness.ai/api/agent/services/base_token_flow_reconstruct/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_token_flow_reconstruct","minLength":27,"maxLength":27},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":4,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_block_gas_report","name":"Base Block and Gas Report","machineName":"base_block_gas_report","machine_name":"base_block_gas_report","title":"Base Block and Gas Report","serviceName":"Base Block and Gas Report","tags":["chain-tools-base","base-block-gas-report","ai-agents","x402"],"metadata":{"name":"base_block_gas_report","machineName":"base_block_gas_report","machine_name":"base_block_gas_report","title":"Base Block and Gas Report","serviceName":"Base Block and Gas Report","description":"Summarize a supplied Base block transaction set, gas use, base fee, and L1-origin evidence.","tags":["chain-tools-base","base-block-gas-report","ai-agents","x402"]},"description":"Use this service when you need this capability: summarize a supplied Base block transaction set, gas use, base fee, and L1-origin evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_block_gas_report","invoke_url":"https://signalharness.ai/api/agent/services/base_block_gas_report/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_block_gas_report","minLength":21,"maxLength":21},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_contract_interaction_summary","name":"Base Contract Interaction Summary","machineName":"base_contract_interaction_summary","machine_name":"base_contract_interaction_summary","title":"Base Contract Interaction Summary","serviceName":"Base Contract Interaction Summary","tags":["chain-tools-base","base-contract-interaction-summary","ai-agents","x402"],"metadata":{"name":"base_contract_interaction_summary","machineName":"base_contract_interaction_summary","machine_name":"base_contract_interaction_summary","title":"Base Contract Interaction Summary","serviceName":"Base Contract Interaction Summary","description":"Summarize supplied Base calls, logs, value, and token movements by contract.","tags":["chain-tools-base","base-contract-interaction-summary","ai-agents","x402"]},"description":"Use this service when you need this capability: summarize supplied Base calls, logs, value, and token movements by contract.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_contract_interaction_summary","invoke_url":"https://signalharness.ai/api/agent/services/base_contract_interaction_summary/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_contract_interaction_summary","minLength":33,"maxLength":33},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":4,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"base_transaction_forensic_report","name":"Full Base Transaction Forensic Report","machineName":"base_transaction_forensic_report","machine_name":"base_transaction_forensic_report","title":"Full Base Transaction Forensic Report","serviceName":"Full Base Transaction Forensic Report","tags":["chain-tools-base","base-transaction-forensic-report","ai-agents","x402"],"metadata":{"name":"base_transaction_forensic_report","machineName":"base_transaction_forensic_report","machine_name":"base_transaction_forensic_report","title":"Full Base Transaction Forensic Report","serviceName":"Full Base Transaction Forensic Report","description":"Combine supplied Base transaction, receipt, traces, and fee evidence into one bounded forensic report.","tags":["chain-tools-base","base-transaction-forensic-report","ai-agents","x402"]},"description":"Use this service when you need this capability: combine supplied Base transaction, receipt, traces, and fee evidence into one bounded forensic report.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/base_transaction_forensic_report","invoke_url":"https://signalharness.ai/api/agent/services/base_transaction_forensic_report/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"base_transaction_forensic_report","minLength":32,"maxLength":32},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"base","minLength":4,"maxLength":4},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"30000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":6,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_transaction_decode","name":"Polygon PoS Transaction Decoder","machineName":"polygon_transaction_decode","machine_name":"polygon_transaction_decode","title":"Polygon PoS Transaction Decoder","serviceName":"Polygon PoS Transaction Decoder","tags":["chain-tools-polygon","polygon-transaction-decode","ai-agents","x402"],"metadata":{"name":"polygon_transaction_decode","machineName":"polygon_transaction_decode","machine_name":"polygon_transaction_decode","title":"Polygon PoS Transaction Decoder","serviceName":"Polygon PoS Transaction Decoder","description":"Normalize supplied Polygon transaction fields with chain and type validation.","tags":["chain-tools-polygon","polygon-transaction-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: normalize supplied Polygon transaction fields with chain and type validation.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_transaction_decode","invoke_url":"https://signalharness.ai/api/agent/services/polygon_transaction_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_transaction_decode","minLength":26,"maxLength":26},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_receipt_analyze","name":"Polygon PoS Receipt Analysis","machineName":"polygon_receipt_analyze","machine_name":"polygon_receipt_analyze","title":"Polygon PoS Receipt Analysis","serviceName":"Polygon PoS Receipt Analysis","tags":["chain-tools-polygon","polygon-receipt-analyze","ai-agents","x402"],"metadata":{"name":"polygon_receipt_analyze","machineName":"polygon_receipt_analyze","machine_name":"polygon_receipt_analyze","title":"Polygon PoS Receipt Analysis","serviceName":"Polygon PoS Receipt Analysis","description":"Analyze supplied Polygon receipt status, gas, logs, and creation evidence.","tags":["chain-tools-polygon","polygon-receipt-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: analyze supplied Polygon receipt status, gas, logs, and creation evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_receipt_analyze","invoke_url":"https://signalharness.ai/api/agent/services/polygon_receipt_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_receipt_analyze","minLength":23,"maxLength":23},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_event_log_decode","name":"Polygon PoS Event and Log Decoder","machineName":"polygon_event_log_decode","machine_name":"polygon_event_log_decode","title":"Polygon PoS Event and Log Decoder","serviceName":"Polygon PoS Event and Log Decoder","tags":["chain-tools-polygon","polygon-event-log-decode","ai-agents","x402"],"metadata":{"name":"polygon_event_log_decode","machineName":"polygon_event_log_decode","machine_name":"polygon_event_log_decode","title":"Polygon PoS Event and Log Decoder","serviceName":"Polygon PoS Event and Log Decoder","description":"Decode supplied Polygon log topics/data against a bounded ABI.","tags":["chain-tools-polygon","polygon-event-log-decode","ai-agents","x402"]},"description":"Use this service when you need this capability: decode supplied Polygon log topics/data against a bounded ABI.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_event_log_decode","invoke_url":"https://signalharness.ai/api/agent/services/polygon_event_log_decode/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_event_log_decode","minLength":24,"maxLength":24},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_calldata_inspect","name":"Polygon PoS Calldata Inspection","machineName":"polygon_calldata_inspect","machine_name":"polygon_calldata_inspect","title":"Polygon PoS Calldata Inspection","serviceName":"Polygon PoS Calldata Inspection","tags":["chain-tools-polygon","polygon-calldata-inspect","ai-agents","x402"],"metadata":{"name":"polygon_calldata_inspect","machineName":"polygon_calldata_inspect","machine_name":"polygon_calldata_inspect","title":"Polygon PoS Calldata Inspection","serviceName":"Polygon PoS Calldata Inspection","description":"Decode supplied Polygon calldata against a bounded caller-supplied ABI.","tags":["chain-tools-polygon","polygon-calldata-inspect","ai-agents","x402"]},"description":"Use this service when you need this capability: decode supplied Polygon calldata against a bounded caller-supplied ABI.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_calldata_inspect","invoke_url":"https://signalharness.ai/api/agent/services/polygon_calldata_inspect/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_calldata_inspect","minLength":24,"maxLength":24},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_erc20_transfer_analyze","name":"Polygon PoS ERC-20 Transfer Analysis","machineName":"polygon_erc20_transfer_analyze","machine_name":"polygon_erc20_transfer_analyze","title":"Polygon PoS ERC-20 Transfer Analysis","serviceName":"Polygon PoS ERC-20 Transfer Analysis","tags":["chain-tools-polygon","polygon-erc20-transfer-analyze","ai-agents","x402"],"metadata":{"name":"polygon_erc20_transfer_analyze","machineName":"polygon_erc20_transfer_analyze","machine_name":"polygon_erc20_transfer_analyze","title":"Polygon PoS ERC-20 Transfer Analysis","serviceName":"Polygon PoS ERC-20 Transfer Analysis","description":"Normalize supplied Polygon ERC-20 calldata or event transfers.","tags":["chain-tools-polygon","polygon-erc20-transfer-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: normalize supplied Polygon ERC-20 calldata or event transfers.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_erc20_transfer_analyze","invoke_url":"https://signalharness.ai/api/agent/services/polygon_erc20_transfer_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_erc20_transfer_analyze","minLength":30,"maxLength":30},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_erc20_allowance_exposure","name":"Polygon PoS ERC-20 Allowance Exposure","machineName":"polygon_erc20_allowance_exposure","machine_name":"polygon_erc20_allowance_exposure","title":"Polygon PoS ERC-20 Allowance Exposure","serviceName":"Polygon PoS ERC-20 Allowance Exposure","tags":["chain-tools-polygon","polygon-erc20-allowance-exposure","ai-agents","x402"],"metadata":{"name":"polygon_erc20_allowance_exposure","machineName":"polygon_erc20_allowance_exposure","machine_name":"polygon_erc20_allowance_exposure","title":"Polygon PoS ERC-20 Allowance Exposure","serviceName":"Polygon PoS ERC-20 Allowance Exposure","description":"Analyze supplied Polygon approvals and allowance snapshots.","tags":["chain-tools-polygon","polygon-erc20-allowance-exposure","ai-agents","x402"]},"description":"Use this service when you need this capability: analyze supplied Polygon approvals and allowance snapshots.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_erc20_allowance_exposure","invoke_url":"https://signalharness.ai/api/agent/services/polygon_erc20_allowance_exposure/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_erc20_allowance_exposure","minLength":32,"maxLength":32},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_erc721_transfer_analyze","name":"Polygon PoS ERC-721 Transfer Analysis","machineName":"polygon_erc721_transfer_analyze","machine_name":"polygon_erc721_transfer_analyze","title":"Polygon PoS ERC-721 Transfer Analysis","serviceName":"Polygon PoS ERC-721 Transfer Analysis","tags":["chain-tools-polygon","polygon-erc721-transfer-analyze","ai-agents","x402"],"metadata":{"name":"polygon_erc721_transfer_analyze","machineName":"polygon_erc721_transfer_analyze","machine_name":"polygon_erc721_transfer_analyze","title":"Polygon PoS ERC-721 Transfer Analysis","serviceName":"Polygon PoS ERC-721 Transfer Analysis","description":"Correlate supplied Polygon ERC-721 transfers by token ID.","tags":["chain-tools-polygon","polygon-erc721-transfer-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: correlate supplied Polygon ERC-721 transfers by token ID.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_erc721_transfer_analyze","invoke_url":"https://signalharness.ai/api/agent/services/polygon_erc721_transfer_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_erc721_transfer_analyze","minLength":31,"maxLength":31},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_erc1155_transfer_analyze","name":"Polygon PoS ERC-1155 Transfer Analysis","machineName":"polygon_erc1155_transfer_analyze","machine_name":"polygon_erc1155_transfer_analyze","title":"Polygon PoS ERC-1155 Transfer Analysis","serviceName":"Polygon PoS ERC-1155 Transfer Analysis","tags":["chain-tools-polygon","polygon-erc1155-transfer-analyze","ai-agents","x402"],"metadata":{"name":"polygon_erc1155_transfer_analyze","machineName":"polygon_erc1155_transfer_analyze","machine_name":"polygon_erc1155_transfer_analyze","title":"Polygon PoS ERC-1155 Transfer Analysis","serviceName":"Polygon PoS ERC-1155 Transfer Analysis","description":"Normalize supplied Polygon ERC-1155 single and batch transfer evidence.","tags":["chain-tools-polygon","polygon-erc1155-transfer-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: normalize supplied Polygon ERC-1155 single and batch transfer evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_erc1155_transfer_analyze","invoke_url":"https://signalharness.ai/api/agent/services/polygon_erc1155_transfer_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_erc1155_transfer_analyze","minLength":32,"maxLength":32},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_token_flow_reconstruct","name":"Polygon PoS Token Flow Reconstruction","machineName":"polygon_token_flow_reconstruct","machine_name":"polygon_token_flow_reconstruct","title":"Polygon PoS Token Flow Reconstruction","serviceName":"Polygon PoS Token Flow Reconstruction","tags":["chain-tools-polygon","polygon-token-flow-reconstruct","ai-agents","x402"],"metadata":{"name":"polygon_token_flow_reconstruct","machineName":"polygon_token_flow_reconstruct","machine_name":"polygon_token_flow_reconstruct","title":"Polygon PoS Token Flow Reconstruction","serviceName":"Polygon PoS Token Flow Reconstruction","description":"Aggregate supplied native and token transfers into account/asset flows.","tags":["chain-tools-polygon","polygon-token-flow-reconstruct","ai-agents","x402"]},"description":"Use this service when you need this capability: aggregate supplied native and token transfers into account/asset flows.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_token_flow_reconstruct","invoke_url":"https://signalharness.ai/api/agent/services/polygon_token_flow_reconstruct/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_token_flow_reconstruct","minLength":30,"maxLength":30},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":4,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_transaction_receipt_consistency","name":"Polygon Transaction and Receipt Consistency","machineName":"polygon_transaction_receipt_consistency","machine_name":"polygon_transaction_receipt_consistency","title":"Polygon Transaction and Receipt Consistency","serviceName":"Polygon Transaction and Receipt Consistency","tags":["chain-tools-polygon","polygon-transaction-receipt-consistency","ai-agents","x402"],"metadata":{"name":"polygon_transaction_receipt_consistency","machineName":"polygon_transaction_receipt_consistency","machine_name":"polygon_transaction_receipt_consistency","title":"Polygon Transaction and Receipt Consistency","serviceName":"Polygon Transaction and Receipt Consistency","description":"Compare supplied Polygon transaction and receipt identity and execution fields.","tags":["chain-tools-polygon","polygon-transaction-receipt-consistency","ai-agents","x402"]},"description":"Use this service when you need this capability: compare supplied Polygon transaction and receipt identity and execution fields.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_transaction_receipt_consistency","invoke_url":"https://signalharness.ai/api/agent/services/polygon_transaction_receipt_consistency/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_transaction_receipt_consistency","minLength":39,"maxLength":39},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_nonce_replacement_analyze","name":"Polygon Nonce and Replacement Analysis","machineName":"polygon_nonce_replacement_analyze","machine_name":"polygon_nonce_replacement_analyze","title":"Polygon Nonce and Replacement Analysis","serviceName":"Polygon Nonce and Replacement Analysis","tags":["chain-tools-polygon","polygon-nonce-replacement-analyze","ai-agents","x402"],"metadata":{"name":"polygon_nonce_replacement_analyze","machineName":"polygon_nonce_replacement_analyze","machine_name":"polygon_nonce_replacement_analyze","title":"Polygon Nonce and Replacement Analysis","serviceName":"Polygon Nonce and Replacement Analysis","description":"Group supplied Polygon transactions by sender/nonce and compare fee caps.","tags":["chain-tools-polygon","polygon-nonce-replacement-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: group supplied Polygon transactions by sender/nonce and compare fee caps.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_nonce_replacement_analyze","invoke_url":"https://signalharness.ai/api/agent/services/polygon_nonce_replacement_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_nonce_replacement_analyze","minLength":33,"maxLength":33},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_block_gas_summary","name":"Polygon PoS Block and Gas Summary","machineName":"polygon_block_gas_summary","machine_name":"polygon_block_gas_summary","title":"Polygon PoS Block and Gas Summary","serviceName":"Polygon PoS Block and Gas Summary","tags":["chain-tools-polygon","polygon-block-gas-summary","ai-agents","x402"],"metadata":{"name":"polygon_block_gas_summary","machineName":"polygon_block_gas_summary","machine_name":"polygon_block_gas_summary","title":"Polygon PoS Block and Gas Summary","serviceName":"Polygon PoS Block and Gas Summary","description":"Summarize a supplied Polygon block and bounded transaction set.","tags":["chain-tools-polygon","polygon-block-gas-summary","ai-agents","x402"]},"description":"Use this service when you need this capability: summarize a supplied Polygon block and bounded transaction set.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_block_gas_summary","invoke_url":"https://signalharness.ai/api/agent/services/polygon_block_gas_summary/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_block_gas_summary","minLength":25,"maxLength":25},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_state_sync_record_match","name":"Polygon State-Sync Record Matcher","machineName":"polygon_state_sync_record_match","machine_name":"polygon_state_sync_record_match","title":"Polygon State-Sync Record Matcher","serviceName":"Polygon State-Sync Record Matcher","tags":["chain-tools-polygon","polygon-state-sync-record","ai-agents","x402"],"metadata":{"name":"polygon_state_sync_record_match","machineName":"polygon_state_sync_record_match","machine_name":"polygon_state_sync_record_match","title":"Polygon State-Sync Record Matcher","serviceName":"Polygon State-Sync Record Matcher","description":"Match supplied Ethereum StateSynced and Polygon StateSyncResult records.","tags":["chain-tools-polygon","polygon-state-sync-record","ai-agents","x402"]},"description":"Use this service when you need this capability: match supplied Ethereum StateSynced and Polygon StateSyncResult records.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_state_sync_record_match","invoke_url":"https://signalharness.ai/api/agent/services/polygon_state_sync_record_match/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_state_sync_record_match","minLength":31,"maxLength":31},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":4,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_bridge_deposit_inspect","name":"Polygon PoS Bridge Deposit Inspection","machineName":"polygon_bridge_deposit_inspect","machine_name":"polygon_bridge_deposit_inspect","title":"Polygon PoS Bridge Deposit Inspection","serviceName":"Polygon PoS Bridge Deposit Inspection","tags":["chain-tools-polygon","polygon-bridge-deposit-inspect","ai-agents","x402"],"metadata":{"name":"polygon_bridge_deposit_inspect","machineName":"polygon_bridge_deposit_inspect","machine_name":"polygon_bridge_deposit_inspect","title":"Polygon PoS Bridge Deposit Inspection","serviceName":"Polygon PoS Bridge Deposit Inspection","description":"Inspect supplied root-chain lock/deposit and child-chain mint evidence.","tags":["chain-tools-polygon","polygon-bridge-deposit-inspect","ai-agents","x402"]},"description":"Use this service when you need this capability: inspect supplied root-chain lock/deposit and child-chain mint evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_bridge_deposit_inspect","invoke_url":"https://signalharness.ai/api/agent/services/polygon_bridge_deposit_inspect/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_bridge_deposit_inspect","minLength":30,"maxLength":30},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":4,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_bridge_withdrawal_inspect","name":"Polygon PoS Bridge Withdrawal Inspection","machineName":"polygon_bridge_withdrawal_inspect","machine_name":"polygon_bridge_withdrawal_inspect","title":"Polygon PoS Bridge Withdrawal Inspection","serviceName":"Polygon PoS Bridge Withdrawal Inspection","tags":["chain-tools-polygon","polygon-bridge-withdrawal-inspect","ai-agents","x402"],"metadata":{"name":"polygon_bridge_withdrawal_inspect","machineName":"polygon_bridge_withdrawal_inspect","machine_name":"polygon_bridge_withdrawal_inspect","title":"Polygon PoS Bridge Withdrawal Inspection","serviceName":"Polygon PoS Bridge Withdrawal Inspection","description":"Inspect supplied child-chain burn, checkpoint, and root-chain exit evidence.","tags":["chain-tools-polygon","polygon-bridge-withdrawal-inspect","ai-agents","x402"]},"description":"Use this service when you need this capability: inspect supplied child-chain burn, checkpoint, and root-chain exit evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_bridge_withdrawal_inspect","invoke_url":"https://signalharness.ai/api/agent/services/polygon_bridge_withdrawal_inspect/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_bridge_withdrawal_inspect","minLength":33,"maxLength":33},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":4,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_bridge_event_correlate","name":"Polygon PoS Bridge Event Correlation","machineName":"polygon_bridge_event_correlate","machine_name":"polygon_bridge_event_correlate","title":"Polygon PoS Bridge Event Correlation","serviceName":"Polygon PoS Bridge Event Correlation","tags":["chain-tools-polygon","polygon-bridge-event-correlate","ai-agents","x402"],"metadata":{"name":"polygon_bridge_event_correlate","machineName":"polygon_bridge_event_correlate","machine_name":"polygon_bridge_event_correlate","title":"Polygon PoS Bridge Event Correlation","serviceName":"Polygon PoS Bridge Event Correlation","description":"Correlate bounded supplied root and child bridge events by IDs, tokens, parties, and amounts.","tags":["chain-tools-polygon","polygon-bridge-event-correlate","ai-agents","x402"]},"description":"Use this service when you need this capability: correlate bounded supplied root and child bridge events by IDs, tokens, parties, and amounts.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_bridge_event_correlate","invoke_url":"https://signalharness.ai/api/agent/services/polygon_bridge_event_correlate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_bridge_event_correlate","minLength":30,"maxLength":30},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"25000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":5,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_bridge_timeline_reconstruct","name":"Polygon Bridge Timeline Reconstruction","machineName":"polygon_bridge_timeline_reconstruct","machine_name":"polygon_bridge_timeline_reconstruct","title":"Polygon Bridge Timeline Reconstruction","serviceName":"Polygon Bridge Timeline Reconstruction","tags":["chain-tools-polygon","polygon-bridge-timeline-reconstruct","ai-agents","x402"],"metadata":{"name":"polygon_bridge_timeline_reconstruct","machineName":"polygon_bridge_timeline_reconstruct","machine_name":"polygon_bridge_timeline_reconstruct","title":"Polygon Bridge Timeline Reconstruction","serviceName":"Polygon Bridge Timeline Reconstruction","description":"Order supplied deposit/withdrawal/checkpoint/exit events across Ethereum and Polygon.","tags":["chain-tools-polygon","polygon-bridge-timeline-reconstruct","ai-agents","x402"]},"description":"Use this service when you need this capability: order supplied deposit/withdrawal/checkpoint/exit events across Ethereum and Polygon.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_bridge_timeline_reconstruct","invoke_url":"https://signalharness.ai/api/agent/services/polygon_bridge_timeline_reconstruct/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_bridge_timeline_reconstruct","minLength":35,"maxLength":35},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"25000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":5,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_contract_interaction_summary","name":"Polygon Contract Interaction Summary","machineName":"polygon_contract_interaction_summary","machine_name":"polygon_contract_interaction_summary","title":"Polygon Contract Interaction Summary","serviceName":"Polygon Contract Interaction Summary","tags":["chain-tools-polygon","polygon-contract-interaction-summary","ai-agents","x402"],"metadata":{"name":"polygon_contract_interaction_summary","machineName":"polygon_contract_interaction_summary","machine_name":"polygon_contract_interaction_summary","title":"Polygon Contract Interaction Summary","serviceName":"Polygon Contract Interaction Summary","description":"Summarize supplied Polygon calls, logs, values, and token movements by contract.","tags":["chain-tools-polygon","polygon-contract-interaction-summary","ai-agents","x402"]},"description":"Use this service when you need this capability: summarize supplied Polygon calls, logs, values, and token movements by contract.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_contract_interaction_summary","invoke_url":"https://signalharness.ai/api/agent/services/polygon_contract_interaction_summary/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_contract_interaction_summary","minLength":36,"maxLength":36},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":4,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_token_balance_delta","name":"Polygon Token Balance Delta Report","machineName":"polygon_token_balance_delta","machine_name":"polygon_token_balance_delta","title":"Polygon Token Balance Delta Report","serviceName":"Polygon Token Balance Delta Report","tags":["chain-tools-polygon","polygon-token-balance-delta","ai-agents","x402"],"metadata":{"name":"polygon_token_balance_delta","machineName":"polygon_token_balance_delta","machine_name":"polygon_token_balance_delta","title":"Polygon Token Balance Delta Report","serviceName":"Polygon Token Balance Delta Report","description":"Calculate exact per-account/per-token deltas from supplied snapshots.","tags":["chain-tools-polygon","polygon-token-balance-delta","ai-agents","x402"]},"description":"Use this service when you need this capability: calculate exact per-account/per-token deltas from supplied snapshots.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_token_balance_delta","invoke_url":"https://signalharness.ai/api/agent/services/polygon_token_balance_delta/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_token_balance_delta","minLength":27,"maxLength":27},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_transaction_complexity","name":"Polygon Transaction Complexity Analysis","machineName":"polygon_transaction_complexity","machine_name":"polygon_transaction_complexity","title":"Polygon Transaction Complexity Analysis","serviceName":"Polygon Transaction Complexity Analysis","tags":["chain-tools-polygon","polygon-transaction-complexity","ai-agents","x402"],"metadata":{"name":"polygon_transaction_complexity","machineName":"polygon_transaction_complexity","machine_name":"polygon_transaction_complexity","title":"Polygon Transaction Complexity Analysis","serviceName":"Polygon Transaction Complexity Analysis","description":"Score supplied Polygon transaction/receipt/call/event structure using transparent counts.","tags":["chain-tools-polygon","polygon-transaction-complexity","ai-agents","x402"]},"description":"Use this service when you need this capability: score supplied Polygon transaction/receipt/call/event structure using transparent counts.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_transaction_complexity","invoke_url":"https://signalharness.ai/api/agent/services/polygon_transaction_complexity/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_transaction_complexity","minLength":30,"maxLength":30},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"20000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":4,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"polygon_transaction_forensic_report","name":"Full Polygon Transaction Forensic Report","machineName":"polygon_transaction_forensic_report","machine_name":"polygon_transaction_forensic_report","title":"Full Polygon Transaction Forensic Report","serviceName":"Full Polygon Transaction Forensic Report","tags":["chain-tools-polygon","polygon-transaction-forensic-report","ai-agents","x402"],"metadata":{"name":"polygon_transaction_forensic_report","machineName":"polygon_transaction_forensic_report","machine_name":"polygon_transaction_forensic_report","title":"Full Polygon Transaction Forensic Report","serviceName":"Full Polygon Transaction Forensic Report","description":"Combine supplied Polygon transaction, receipt, calls, bridge, and fee evidence.","tags":["chain-tools-polygon","polygon-transaction-forensic-report","ai-agents","x402"]},"description":"Use this service when you need this capability: combine supplied Polygon transaction, receipt, calls, bridge, and fee evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/polygon_transaction_forensic_report","invoke_url":"https://signalharness.ai/api/agent/services/polygon_transaction_forensic_report/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"polygon_transaction_forensic_report","minLength":35,"maxLength":35},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"polygon","minLength":7,"maxLength":7},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"30000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":6,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"crosschain_asset_flow_reconstruct","name":"Cross-Chain Asset Flow Reconstruction","machineName":"crosschain_asset_flow_reconstruct","machine_name":"crosschain_asset_flow_reconstruct","title":"Cross-Chain Asset Flow Reconstruction","serviceName":"Cross-Chain Asset Flow Reconstruction","tags":["chain-tools-cross-chain","crosschain-asset-flow-reconstruct","ai-agents","x402"],"metadata":{"name":"crosschain_asset_flow_reconstruct","machineName":"crosschain_asset_flow_reconstruct","machine_name":"crosschain_asset_flow_reconstruct","title":"Cross-Chain Asset Flow Reconstruction","serviceName":"Cross-Chain Asset Flow Reconstruction","description":"Build an exact flow ledger from supplied transfers on Solana, Base, and Polygon.","tags":["chain-tools-cross-chain","crosschain-asset-flow-reconstruct","ai-agents","x402"]},"description":"Use this service when you need this capability: build an exact flow ledger from supplied transfers on Solana, Base, and Polygon.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/crosschain_asset_flow_reconstruct","invoke_url":"https://signalharness.ai/api/agent/services/crosschain_asset_flow_reconstruct/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"crosschain_asset_flow_reconstruct","minLength":33,"maxLength":33},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana_base_polygon","minLength":19,"maxLength":19},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"30000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":6,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"crosschain_wallet_activity_compare","name":"Cross-Chain Wallet Activity Comparison","machineName":"crosschain_wallet_activity_compare","machine_name":"crosschain_wallet_activity_compare","title":"Cross-Chain Wallet Activity Comparison","serviceName":"Cross-Chain Wallet Activity Comparison","tags":["chain-tools-cross-chain","crosschain-wallet-activity-compare","ai-agents","x402"],"metadata":{"name":"crosschain_wallet_activity_compare","machineName":"crosschain_wallet_activity_compare","machine_name":"crosschain_wallet_activity_compare","title":"Cross-Chain Wallet Activity Comparison","serviceName":"Cross-Chain Wallet Activity Comparison","description":"Compare supplied wallet activity windows across Solana, Base, and Polygon.","tags":["chain-tools-cross-chain","crosschain-wallet-activity-compare","ai-agents","x402"]},"description":"Use this service when you need this capability: compare supplied wallet activity windows across Solana, Base, and Polygon.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/crosschain_wallet_activity_compare","invoke_url":"https://signalharness.ai/api/agent/services/crosschain_wallet_activity_compare/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"crosschain_wallet_activity_compare","minLength":34,"maxLength":34},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana_base_polygon","minLength":19,"maxLength":19},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"25000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":5,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"crosschain_transfer_correlate","name":"Cross-Chain Transfer Correlation","machineName":"crosschain_transfer_correlate","machine_name":"crosschain_transfer_correlate","title":"Cross-Chain Transfer Correlation","serviceName":"Cross-Chain Transfer Correlation","tags":["chain-tools-cross-chain","crosschain-transfer-correlate","ai-agents","x402"],"metadata":{"name":"crosschain_transfer_correlate","machineName":"crosschain_transfer_correlate","machine_name":"crosschain_transfer_correlate","title":"Cross-Chain Transfer Correlation","serviceName":"Cross-Chain Transfer Correlation","description":"Correlate supplied source/destination transfers using exact IDs, amounts, parties, and time windows.","tags":["chain-tools-cross-chain","crosschain-transfer-correlate","ai-agents","x402"]},"description":"Use this service when you need this capability: correlate supplied source/destination transfers using exact IDs, amounts, parties, and time windows.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/crosschain_transfer_correlate","invoke_url":"https://signalharness.ai/api/agent/services/crosschain_transfer_correlate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"crosschain_transfer_correlate","minLength":29,"maxLength":29},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana_base_polygon","minLength":19,"maxLength":19},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"30000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":6,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"crosschain_event_timeline","name":"Cross-Chain Event Timeline","machineName":"crosschain_event_timeline","machine_name":"crosschain_event_timeline","title":"Cross-Chain Event Timeline","serviceName":"Cross-Chain Event Timeline","tags":["chain-tools-cross-chain","crosschain-event-timeline","ai-agents","x402"],"metadata":{"name":"crosschain_event_timeline","machineName":"crosschain_event_timeline","machine_name":"crosschain_event_timeline","title":"Cross-Chain Event Timeline","serviceName":"Cross-Chain Event Timeline","description":"Order supplied Solana, Base, and Polygon events using timestamps and chain positions.","tags":["chain-tools-cross-chain","crosschain-event-timeline","ai-agents","x402"]},"description":"Use this service when you need this capability: order supplied Solana, Base, and Polygon events using timestamps and chain positions.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/crosschain_event_timeline","invoke_url":"https://signalharness.ai/api/agent/services/crosschain_event_timeline/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"crosschain_event_timeline","minLength":25,"maxLength":25},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana_base_polygon","minLength":19,"maxLength":19},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"25000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":5,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"crosschain_complexity_compare","name":"Cross-Chain Transaction Complexity Comparison","machineName":"crosschain_complexity_compare","machine_name":"crosschain_complexity_compare","title":"Cross-Chain Transaction Complexity Comparison","serviceName":"Cross-Chain Transaction Complexity Comparison","tags":["chain-tools-cross-chain","crosschain-complexity-compare","ai-agents","x402"],"metadata":{"name":"crosschain_complexity_compare","machineName":"crosschain_complexity_compare","machine_name":"crosschain_complexity_compare","title":"Cross-Chain Transaction Complexity Comparison","serviceName":"Cross-Chain Transaction Complexity Comparison","description":"Compare transparent structural complexity metrics across supplied chain transactions.","tags":["chain-tools-cross-chain","crosschain-complexity-compare","ai-agents","x402"]},"description":"Use this service when you need this capability: compare transparent structural complexity metrics across supplied chain transactions.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/crosschain_complexity_compare","invoke_url":"https://signalharness.ai/api/agent/services/crosschain_complexity_compare/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"crosschain_complexity_compare","minLength":29,"maxLength":29},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana_base_polygon","minLength":19,"maxLength":19},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"25000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":5,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"crosschain_activity_forensic_report","name":"Cross-Chain Activity Forensic Report","machineName":"crosschain_activity_forensic_report","machine_name":"crosschain_activity_forensic_report","title":"Cross-Chain Activity Forensic Report","serviceName":"Cross-Chain Activity Forensic Report","tags":["chain-tools-cross-chain","crosschain-activity-forensic-report","ai-agents","x402"],"metadata":{"name":"crosschain_activity_forensic_report","machineName":"crosschain_activity_forensic_report","machine_name":"crosschain_activity_forensic_report","title":"Cross-Chain Activity Forensic Report","serviceName":"Cross-Chain Activity Forensic Report","description":"Combine supplied transactions, receipts, logs, balances, and bridge links into one evidence report.","tags":["chain-tools-cross-chain","crosschain-activity-forensic-report","ai-agents","x402"]},"description":"Use this service when you need this capability: combine supplied transactions, receipts, logs, balances, and bridge links into one evidence report.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/crosschain_activity_forensic_report","invoke_url":"https://signalharness.ai/api/agent/services/crosschain_activity_forensic_report/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":5,"maxProperties":5,"required":["service_id","evidence_scope","analyzed_network","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"crosschain_activity_forensic_report","minLength":35,"maxLength":35},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analyzed_network":{"type":"string","const":"solana_base_polygon","minLength":19,"maxLength":19},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"50000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":10,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"prompt_structure_analyze","name":"Prompt Structure Analyze","machineName":"prompt_structure_analyze","machine_name":"prompt_structure_analyze","title":"Prompt Structure Analyze","serviceName":"Prompt Structure Analyze","tags":["ai-search-ai-llm","prompt-structure-analyze","ai-agents","x402"],"metadata":{"name":"prompt_structure_analyze","machineName":"prompt_structure_analyze","machine_name":"prompt_structure_analyze","title":"Prompt Structure Analyze","serviceName":"Prompt Structure Analyze","description":"Prompt Structure Analyze performs a bounded deterministic prompt structure analyze operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","prompt-structure-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: prompt Structure Analyze performs a bounded deterministic prompt structure analyze operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/prompt_structure_analyze","invoke_url":"https://signalharness.ai/api/agent/services/prompt_structure_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"prompt_structure_analyze","minLength":24,"maxLength":24},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"prompt_variable_validate","name":"Prompt Variable Validate","machineName":"prompt_variable_validate","machine_name":"prompt_variable_validate","title":"Prompt Variable Validate","serviceName":"Prompt Variable Validate","tags":["ai-search-ai-llm","prompt-variable-validate","ai-agents","x402"],"metadata":{"name":"prompt_variable_validate","machineName":"prompt_variable_validate","machine_name":"prompt_variable_validate","title":"Prompt Variable Validate","serviceName":"Prompt Variable Validate","description":"Prompt Variable Validate performs a bounded deterministic prompt variable validate operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","prompt-variable-validate","ai-agents","x402"]},"description":"Use this service when you need this capability: prompt Variable Validate performs a bounded deterministic prompt variable validate operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/prompt_variable_validate","invoke_url":"https://signalharness.ai/api/agent/services/prompt_variable_validate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"prompt_variable_validate","minLength":24,"maxLength":24},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"prompt_template_render_validate","name":"Prompt Template Render Validate","machineName":"prompt_template_render_validate","machine_name":"prompt_template_render_validate","title":"Prompt Template Render Validate","serviceName":"Prompt Template Render Validate","tags":["ai-search-ai-llm","prompt-template-render-validate","ai-agents","x402"],"metadata":{"name":"prompt_template_render_validate","machineName":"prompt_template_render_validate","machine_name":"prompt_template_render_validate","title":"Prompt Template Render Validate","serviceName":"Prompt Template Render Validate","description":"Prompt Template Render Validate performs a bounded deterministic prompt template render validate operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","prompt-template-render-validate","ai-agents","x402"]},"description":"Use this service when you need this capability: prompt Template Render Validate performs a bounded deterministic prompt template render validate operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/prompt_template_render_validate","invoke_url":"https://signalharness.ai/api/agent/services/prompt_template_render_validate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"prompt_template_render_validate","minLength":31,"maxLength":31},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"prompt_diff_analyze","name":"Prompt Diff Analyze","machineName":"prompt_diff_analyze","machine_name":"prompt_diff_analyze","title":"Prompt Diff Analyze","serviceName":"Prompt Diff Analyze","tags":["ai-search-ai-llm","prompt-diff-analyze","ai-agents","x402"],"metadata":{"name":"prompt_diff_analyze","machineName":"prompt_diff_analyze","machine_name":"prompt_diff_analyze","title":"Prompt Diff Analyze","serviceName":"Prompt Diff Analyze","description":"Prompt Diff Analyze performs a bounded deterministic prompt diff analyze operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","prompt-diff-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: prompt Diff Analyze performs a bounded deterministic prompt diff analyze operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/prompt_diff_analyze","invoke_url":"https://signalharness.ai/api/agent/services/prompt_diff_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"prompt_diff_analyze","minLength":19,"maxLength":19},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"llm_response_json_extract","name":"Llm Response Json Extract","machineName":"llm_response_json_extract","machine_name":"llm_response_json_extract","title":"Llm Response Json Extract","serviceName":"Llm Response Json Extract","tags":["ai-search-ai-llm","llm-response-json-extract","ai-agents","x402"],"metadata":{"name":"llm_response_json_extract","machineName":"llm_response_json_extract","machine_name":"llm_response_json_extract","title":"Llm Response Json Extract","serviceName":"Llm Response Json Extract","description":"Llm Response Json Extract performs a bounded deterministic llm response json extract operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","llm-response-json-extract","ai-agents","x402"]},"description":"Use this service when you need this capability: llm Response Json Extract performs a bounded deterministic llm response json extract operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/llm_response_json_extract","invoke_url":"https://signalharness.ai/api/agent/services/llm_response_json_extract/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"llm_response_json_extract","minLength":25,"maxLength":25},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"llm_response_citation_extract","name":"Llm Response Citation Extract","machineName":"llm_response_citation_extract","machine_name":"llm_response_citation_extract","title":"Llm Response Citation Extract","serviceName":"Llm Response Citation Extract","tags":["ai-search-ai-llm","llm-response-citation-extract","ai-agents","x402"],"metadata":{"name":"llm_response_citation_extract","machineName":"llm_response_citation_extract","machine_name":"llm_response_citation_extract","title":"Llm Response Citation Extract","serviceName":"Llm Response Citation Extract","description":"Llm Response Citation Extract performs a bounded deterministic llm response citation extract operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","llm-response-citation-extract","ai-agents","x402"]},"description":"Use this service when you need this capability: llm Response Citation Extract performs a bounded deterministic llm response citation extract operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/llm_response_citation_extract","invoke_url":"https://signalharness.ai/api/agent/services/llm_response_citation_extract/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"llm_response_citation_extract","minLength":29,"maxLength":29},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"llm_response_citation_coverage","name":"Llm Response Citation Coverage","machineName":"llm_response_citation_coverage","machine_name":"llm_response_citation_coverage","title":"Llm Response Citation Coverage","serviceName":"Llm Response Citation Coverage","tags":["ai-search-ai-llm","llm-response-citation-coverage","ai-agents","x402"],"metadata":{"name":"llm_response_citation_coverage","machineName":"llm_response_citation_coverage","machine_name":"llm_response_citation_coverage","title":"Llm Response Citation Coverage","serviceName":"Llm Response Citation Coverage","description":"Llm Response Citation Coverage performs a bounded deterministic llm response citation coverage operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","llm-response-citation-coverage","ai-agents","x402"]},"description":"Use this service when you need this capability: llm Response Citation Coverage performs a bounded deterministic llm response citation coverage operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/llm_response_citation_coverage","invoke_url":"https://signalharness.ai/api/agent/services/llm_response_citation_coverage/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"llm_response_citation_coverage","minLength":30,"maxLength":30},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"llm_response_structure_score","name":"Llm Response Structure Score","machineName":"llm_response_structure_score","machine_name":"llm_response_structure_score","title":"Llm Response Structure Score","serviceName":"Llm Response Structure Score","tags":["ai-search-ai-llm","llm-response-structure-score","ai-agents","x402"],"metadata":{"name":"llm_response_structure_score","machineName":"llm_response_structure_score","machine_name":"llm_response_structure_score","title":"Llm Response Structure Score","serviceName":"Llm Response Structure Score","description":"Llm Response Structure Score performs a bounded deterministic llm response structure score operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","llm-response-structure-score","ai-agents","x402"]},"description":"Use this service when you need this capability: llm Response Structure Score performs a bounded deterministic llm response structure score operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/llm_response_structure_score","invoke_url":"https://signalharness.ai/api/agent/services/llm_response_structure_score/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"llm_response_structure_score","minLength":28,"maxLength":28},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"model_output_compare","name":"Model Output Compare","machineName":"model_output_compare","machine_name":"model_output_compare","title":"Model Output Compare","serviceName":"Model Output Compare","tags":["ai-search-ai-llm","model-output-compare","ai-agents","x402"],"metadata":{"name":"model_output_compare","machineName":"model_output_compare","machine_name":"model_output_compare","title":"Model Output Compare","serviceName":"Model Output Compare","description":"Model Output Compare performs a bounded deterministic model output compare operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","model-output-compare","ai-agents","x402"]},"description":"Use this service when you need this capability: model Output Compare performs a bounded deterministic model output compare operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/model_output_compare","invoke_url":"https://signalharness.ai/api/agent/services/model_output_compare/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"model_output_compare","minLength":20,"maxLength":20},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"model_output_consensus_analyze","name":"Model Output Consensus Analyze","machineName":"model_output_consensus_analyze","machine_name":"model_output_consensus_analyze","title":"Model Output Consensus Analyze","serviceName":"Model Output Consensus Analyze","tags":["ai-search-ai-llm","model-output-consensus-analyze","ai-agents","x402"],"metadata":{"name":"model_output_consensus_analyze","machineName":"model_output_consensus_analyze","machine_name":"model_output_consensus_analyze","title":"Model Output Consensus Analyze","serviceName":"Model Output Consensus Analyze","description":"Model Output Consensus Analyze performs a bounded deterministic model output consensus analyze operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","model-output-consensus-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: model Output Consensus Analyze performs a bounded deterministic model output consensus analyze operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/model_output_consensus_analyze","invoke_url":"https://signalharness.ai/api/agent/services/model_output_consensus_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"model_output_consensus_analyze","minLength":30,"maxLength":30},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"25000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":5,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"model_output_disagreement_extract","name":"Model Output Disagreement Extract","machineName":"model_output_disagreement_extract","machine_name":"model_output_disagreement_extract","title":"Model Output Disagreement Extract","serviceName":"Model Output Disagreement Extract","tags":["ai-search-ai-llm","model-output-disagreement-extract","ai-agents","x402"],"metadata":{"name":"model_output_disagreement_extract","machineName":"model_output_disagreement_extract","machine_name":"model_output_disagreement_extract","title":"Model Output Disagreement Extract","serviceName":"Model Output Disagreement Extract","description":"Model Output Disagreement Extract performs a bounded deterministic model output disagreement extract operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","model-output-disagreement-extract","ai-agents","x402"]},"description":"Use this service when you need this capability: model Output Disagreement Extract performs a bounded deterministic model output disagreement extract operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/model_output_disagreement_extract","invoke_url":"https://signalharness.ai/api/agent/services/model_output_disagreement_extract/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"model_output_disagreement_extract","minLength":33,"maxLength":33},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"model_output_regression_compare","name":"Model Output Regression Compare","machineName":"model_output_regression_compare","machine_name":"model_output_regression_compare","title":"Model Output Regression Compare","serviceName":"Model Output Regression Compare","tags":["ai-search-ai-llm","model-output-regression-compare","ai-agents","x402"],"metadata":{"name":"model_output_regression_compare","machineName":"model_output_regression_compare","machine_name":"model_output_regression_compare","title":"Model Output Regression Compare","serviceName":"Model Output Regression Compare","description":"Model Output Regression Compare performs a bounded deterministic model output regression compare operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","model-output-regression-compare","ai-agents","x402"]},"description":"Use this service when you need this capability: model Output Regression Compare performs a bounded deterministic model output regression compare operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/model_output_regression_compare","invoke_url":"https://signalharness.ai/api/agent/services/model_output_regression_compare/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"model_output_regression_compare","minLength":31,"maxLength":31},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"25000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":5,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"model_output_format_compare","name":"Model Output Format Compare","machineName":"model_output_format_compare","machine_name":"model_output_format_compare","title":"Model Output Format Compare","serviceName":"Model Output Format Compare","tags":["ai-search-ai-llm","model-output-format-compare","ai-agents","x402"],"metadata":{"name":"model_output_format_compare","machineName":"model_output_format_compare","machine_name":"model_output_format_compare","title":"Model Output Format Compare","serviceName":"Model Output Format Compare","description":"Model Output Format Compare performs a bounded deterministic model output format compare operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","model-output-format-compare","ai-agents","x402"]},"description":"Use this service when you need this capability: model Output Format Compare performs a bounded deterministic model output format compare operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/model_output_format_compare","invoke_url":"https://signalharness.ai/api/agent/services/model_output_format_compare/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"model_output_format_compare","minLength":27,"maxLength":27},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"model_output_latency_compare_from_supplied_metrics","name":"Model Output Latency Compare From Supplied Metrics","machineName":"model_output_latency_compare_from_supplied_metrics","machine_name":"model_output_latency_compare_from_supplied_metrics","title":"Model Output Latency Compare From Supplied Metrics","serviceName":"Model Output Latency Compare From Supplied Metrics","tags":["ai-search-ai-llm","model-output-latency-compare","ai-agents","x402"],"metadata":{"name":"model_output_latency_compare_from_supplied_metrics","machineName":"model_output_latency_compare_from_supplied_metrics","machine_name":"model_output_latency_compare_from_supplied_metrics","title":"Model Output Latency Compare From Supplied Metrics","serviceName":"Model Output Latency Compare From Supplied Metrics","description":"Model Output Latency Compare From Supplied Metrics performs a bounded deterministic model output latency compare from supplied metrics operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","model-output-latency-compare","ai-agents","x402"]},"description":"Use this service when you need this capability: model Output Latency Compare From Supplied Metrics performs a bounded deterministic model output latency compare from supplied metrics operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/model_output_latency_compare_from_supplied_metrics","invoke_url":"https://signalharness.ai/api/agent/services/model_output_latency_compare_from_supplied_metrics/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"model_output_latency_compare_from_supplied_metrics","minLength":50,"maxLength":50},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"llm_eval_regression_report","name":"Llm Eval Regression Report","machineName":"llm_eval_regression_report","machine_name":"llm_eval_regression_report","title":"Llm Eval Regression Report","serviceName":"Llm Eval Regression Report","tags":["ai-search-ai-llm","llm-eval-regression-report","ai-agents","x402"],"metadata":{"name":"llm_eval_regression_report","machineName":"llm_eval_regression_report","machine_name":"llm_eval_regression_report","title":"Llm Eval Regression Report","serviceName":"Llm Eval Regression Report","description":"Llm Eval Regression Report performs a bounded deterministic llm eval regression report operation over caller-supplied prompts or model outputs.","tags":["ai-search-ai-llm","llm-eval-regression-report","ai-agents","x402"]},"description":"Use this service when you need this capability: llm Eval Regression Report performs a bounded deterministic llm eval regression report operation over caller-supplied prompts or model outputs.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/llm_eval_regression_report","invoke_url":"https://signalharness.ai/api/agent/services/llm_eval_regression_report/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"llm_eval_regression_report","minLength":26,"maxLength":26},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"25000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":5,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"agent_tool_definition_normalize","name":"Agent Tool Definition Normalize","machineName":"agent_tool_definition_normalize","machine_name":"agent_tool_definition_normalize","title":"Agent Tool Definition Normalize","serviceName":"Agent Tool Definition Normalize","tags":["ai-search-ai-agent","agent-definition-normalize","ai-agents","x402"],"metadata":{"name":"agent_tool_definition_normalize","machineName":"agent_tool_definition_normalize","machine_name":"agent_tool_definition_normalize","title":"Agent Tool Definition Normalize","serviceName":"Agent Tool Definition Normalize","description":"Agent Tool Definition Normalize performs a bounded deterministic agent tool definition normalize operation over caller-supplied agent definitions and traces.","tags":["ai-search-ai-agent","agent-definition-normalize","ai-agents","x402"]},"description":"Use this service when you need this capability: agent Tool Definition Normalize performs a bounded deterministic agent tool definition normalize operation over caller-supplied agent definitions and traces.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/agent_tool_definition_normalize","invoke_url":"https://signalharness.ai/api/agent/services/agent_tool_definition_normalize/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"agent_tool_definition_normalize","minLength":31,"maxLength":31},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"agent_tool_call_validate","name":"Agent Tool Call Validate","machineName":"agent_tool_call_validate","machine_name":"agent_tool_call_validate","title":"Agent Tool Call Validate","serviceName":"Agent Tool Call Validate","tags":["ai-search-ai-agent","agent-call-validate","ai-agents","x402"],"metadata":{"name":"agent_tool_call_validate","machineName":"agent_tool_call_validate","machine_name":"agent_tool_call_validate","title":"Agent Tool Call Validate","serviceName":"Agent Tool Call Validate","description":"Agent Tool Call Validate performs a bounded deterministic agent tool call validate operation over caller-supplied agent definitions and traces.","tags":["ai-search-ai-agent","agent-call-validate","ai-agents","x402"]},"description":"Use this service when you need this capability: agent Tool Call Validate performs a bounded deterministic agent tool call validate operation over caller-supplied agent definitions and traces.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/agent_tool_call_validate","invoke_url":"https://signalharness.ai/api/agent/services/agent_tool_call_validate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"agent_tool_call_validate","minLength":24,"maxLength":24},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"agent_tool_result_validate","name":"Agent Tool Result Validate","machineName":"agent_tool_result_validate","machine_name":"agent_tool_result_validate","title":"Agent Tool Result Validate","serviceName":"Agent Tool Result Validate","tags":["ai-search-ai-agent","agent-result-validate","ai-agents","x402"],"metadata":{"name":"agent_tool_result_validate","machineName":"agent_tool_result_validate","machine_name":"agent_tool_result_validate","title":"Agent Tool Result Validate","serviceName":"Agent Tool Result Validate","description":"Agent Tool Result Validate performs a bounded deterministic agent tool result validate operation over caller-supplied agent definitions and traces.","tags":["ai-search-ai-agent","agent-result-validate","ai-agents","x402"]},"description":"Use this service when you need this capability: agent Tool Result Validate performs a bounded deterministic agent tool result validate operation over caller-supplied agent definitions and traces.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/agent_tool_result_validate","invoke_url":"https://signalharness.ai/api/agent/services/agent_tool_result_validate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"agent_tool_result_validate","minLength":26,"maxLength":26},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"agent_tool_call_sequence_analyze","name":"Agent Tool Call Sequence Analyze","machineName":"agent_tool_call_sequence_analyze","machine_name":"agent_tool_call_sequence_analyze","title":"Agent Tool Call Sequence Analyze","serviceName":"Agent Tool Call Sequence Analyze","tags":["ai-search-ai-agent","agent-call-sequence-analyze","ai-agents","x402"],"metadata":{"name":"agent_tool_call_sequence_analyze","machineName":"agent_tool_call_sequence_analyze","machine_name":"agent_tool_call_sequence_analyze","title":"Agent Tool Call Sequence Analyze","serviceName":"Agent Tool Call Sequence Analyze","description":"Agent Tool Call Sequence Analyze performs a bounded deterministic agent tool call sequence analyze operation over caller-supplied agent definitions and traces.","tags":["ai-search-ai-agent","agent-call-sequence-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: agent Tool Call Sequence Analyze performs a bounded deterministic agent tool call sequence analyze operation over caller-supplied agent definitions and traces.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/agent_tool_call_sequence_analyze","invoke_url":"https://signalharness.ai/api/agent/services/agent_tool_call_sequence_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"agent_tool_call_sequence_analyze","minLength":32,"maxLength":32},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"agent_trace_timeline","name":"Agent Trace Timeline","machineName":"agent_trace_timeline","machine_name":"agent_trace_timeline","title":"Agent Trace Timeline","serviceName":"Agent Trace Timeline","tags":["ai-search-ai-agent","agent-trace-timeline","ai-agents","x402"],"metadata":{"name":"agent_trace_timeline","machineName":"agent_trace_timeline","machine_name":"agent_trace_timeline","title":"Agent Trace Timeline","serviceName":"Agent Trace Timeline","description":"Agent Trace Timeline performs a bounded deterministic agent trace timeline operation over caller-supplied agent definitions and traces.","tags":["ai-search-ai-agent","agent-trace-timeline","ai-agents","x402"]},"description":"Use this service when you need this capability: agent Trace Timeline performs a bounded deterministic agent trace timeline operation over caller-supplied agent definitions and traces.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/agent_trace_timeline","invoke_url":"https://signalharness.ai/api/agent/services/agent_trace_timeline/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"agent_trace_timeline","minLength":20,"maxLength":20},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"agent_trace_failure_extract","name":"Agent Trace Failure Extract","machineName":"agent_trace_failure_extract","machine_name":"agent_trace_failure_extract","title":"Agent Trace Failure Extract","serviceName":"Agent Trace Failure Extract","tags":["ai-search-ai-agent","agent-trace-failure-extract","ai-agents","x402"],"metadata":{"name":"agent_trace_failure_extract","machineName":"agent_trace_failure_extract","machine_name":"agent_trace_failure_extract","title":"Agent Trace Failure Extract","serviceName":"Agent Trace Failure Extract","description":"Agent Trace Failure Extract performs a bounded deterministic agent trace failure extract operation over caller-supplied agent definitions and traces.","tags":["ai-search-ai-agent","agent-trace-failure-extract","ai-agents","x402"]},"description":"Use this service when you need this capability: agent Trace Failure Extract performs a bounded deterministic agent trace failure extract operation over caller-supplied agent definitions and traces.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/agent_trace_failure_extract","invoke_url":"https://signalharness.ai/api/agent/services/agent_trace_failure_extract/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"agent_trace_failure_extract","minLength":27,"maxLength":27},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"agent_trace_retry_analyze","name":"Agent Trace Retry Analyze","machineName":"agent_trace_retry_analyze","machine_name":"agent_trace_retry_analyze","title":"Agent Trace Retry Analyze","serviceName":"Agent Trace Retry Analyze","tags":["ai-search-ai-agent","agent-trace-retry-analyze","ai-agents","x402"],"metadata":{"name":"agent_trace_retry_analyze","machineName":"agent_trace_retry_analyze","machine_name":"agent_trace_retry_analyze","title":"Agent Trace Retry Analyze","serviceName":"Agent Trace Retry Analyze","description":"Agent Trace Retry Analyze performs a bounded deterministic agent trace retry analyze operation over caller-supplied agent definitions and traces.","tags":["ai-search-ai-agent","agent-trace-retry-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: agent Trace Retry Analyze performs a bounded deterministic agent trace retry analyze operation over caller-supplied agent definitions and traces.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/agent_trace_retry_analyze","invoke_url":"https://signalharness.ai/api/agent/services/agent_trace_retry_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"agent_trace_retry_analyze","minLength":25,"maxLength":25},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"agent_trace_cost_report_from_supplied_usage","name":"Agent Trace Cost Report From Supplied Usage","machineName":"agent_trace_cost_report_from_supplied_usage","machine_name":"agent_trace_cost_report_from_supplied_usage","title":"Agent Trace Cost Report From Supplied Usage","serviceName":"Agent Trace Cost Report From Supplied Usage","tags":["ai-search-ai-agent","agent-trace-cost-report","ai-agents","x402"],"metadata":{"name":"agent_trace_cost_report_from_supplied_usage","machineName":"agent_trace_cost_report_from_supplied_usage","machine_name":"agent_trace_cost_report_from_supplied_usage","title":"Agent Trace Cost Report From Supplied Usage","serviceName":"Agent Trace Cost Report From Supplied Usage","description":"Agent Trace Cost Report From Supplied Usage performs a bounded deterministic agent trace cost report from supplied usage operation over caller-supplied agent definitions and traces.","tags":["ai-search-ai-agent","agent-trace-cost-report","ai-agents","x402"]},"description":"Use this service when you need this capability: agent Trace Cost Report From Supplied Usage performs a bounded deterministic agent trace cost report from supplied usage operation over caller-supplied agent definitions and traces.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/agent_trace_cost_report_from_supplied_usage","invoke_url":"https://signalharness.ai/api/agent/services/agent_trace_cost_report_from_supplied_usage/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"agent_trace_cost_report_from_supplied_usage","minLength":43,"maxLength":43},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"25000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":5,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"agent_plan_dependency_check","name":"Agent Plan Dependency Check","machineName":"agent_plan_dependency_check","machine_name":"agent_plan_dependency_check","title":"Agent Plan Dependency Check","serviceName":"Agent Plan Dependency Check","tags":["ai-search-ai-agent","agent-plan-dependency-check","ai-agents","x402"],"metadata":{"name":"agent_plan_dependency_check","machineName":"agent_plan_dependency_check","machine_name":"agent_plan_dependency_check","title":"Agent Plan Dependency Check","serviceName":"Agent Plan Dependency Check","description":"Agent Plan Dependency Check performs a bounded deterministic agent plan dependency check operation over caller-supplied agent definitions and traces.","tags":["ai-search-ai-agent","agent-plan-dependency-check","ai-agents","x402"]},"description":"Use this service when you need this capability: agent Plan Dependency Check performs a bounded deterministic agent plan dependency check operation over caller-supplied agent definitions and traces.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/agent_plan_dependency_check","invoke_url":"https://signalharness.ai/api/agent/services/agent_plan_dependency_check/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"agent_plan_dependency_check","minLength":27,"maxLength":27},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"agent_plan_completion_check","name":"Agent Plan Completion Check","machineName":"agent_plan_completion_check","machine_name":"agent_plan_completion_check","title":"Agent Plan Completion Check","serviceName":"Agent Plan Completion Check","tags":["ai-search-ai-agent","agent-plan-completion-check","ai-agents","x402"],"metadata":{"name":"agent_plan_completion_check","machineName":"agent_plan_completion_check","machine_name":"agent_plan_completion_check","title":"Agent Plan Completion Check","serviceName":"Agent Plan Completion Check","description":"Agent Plan Completion Check performs a bounded deterministic agent plan completion check operation over caller-supplied agent definitions and traces.","tags":["ai-search-ai-agent","agent-plan-completion-check","ai-agents","x402"]},"description":"Use this service when you need this capability: agent Plan Completion Check performs a bounded deterministic agent plan completion check operation over caller-supplied agent definitions and traces.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/agent_plan_completion_check","invoke_url":"https://signalharness.ai/api/agent/services/agent_plan_completion_check/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"agent_plan_completion_check","minLength":27,"maxLength":27},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"agent_step_result_match","name":"Agent Step Result Match","machineName":"agent_step_result_match","machine_name":"agent_step_result_match","title":"Agent Step Result Match","serviceName":"Agent Step Result Match","tags":["ai-search-ai-agent","agent-step-result-match","ai-agents","x402"],"metadata":{"name":"agent_step_result_match","machineName":"agent_step_result_match","machine_name":"agent_step_result_match","title":"Agent Step Result Match","serviceName":"Agent Step Result Match","description":"Agent Step Result Match performs a bounded deterministic agent step result match operation over caller-supplied agent definitions and traces.","tags":["ai-search-ai-agent","agent-step-result-match","ai-agents","x402"]},"description":"Use this service when you need this capability: agent Step Result Match performs a bounded deterministic agent step result match operation over caller-supplied agent definitions and traces.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/agent_step_result_match","invoke_url":"https://signalharness.ai/api/agent/services/agent_step_result_match/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"agent_step_result_match","minLength":23,"maxLength":23},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"agent_permission_policy_check","name":"Agent Permission Policy Check","machineName":"agent_permission_policy_check","machine_name":"agent_permission_policy_check","title":"Agent Permission Policy Check","serviceName":"Agent Permission Policy Check","tags":["ai-search-ai-agent","agent-permission-policy-check","ai-agents","x402"],"metadata":{"name":"agent_permission_policy_check","machineName":"agent_permission_policy_check","machine_name":"agent_permission_policy_check","title":"Agent Permission Policy Check","serviceName":"Agent Permission Policy Check","description":"Agent Permission Policy Check performs a bounded deterministic agent permission policy check operation over caller-supplied agent definitions and traces.","tags":["ai-search-ai-agent","agent-permission-policy-check","ai-agents","x402"]},"description":"Use this service when you need this capability: agent Permission Policy Check performs a bounded deterministic agent permission policy check operation over caller-supplied agent definitions and traces.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/agent_permission_policy_check","invoke_url":"https://signalharness.ai/api/agent/services/agent_permission_policy_check/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"agent_permission_policy_check","minLength":29,"maxLength":29},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"agent_execution_diff","name":"Agent Execution Diff","machineName":"agent_execution_diff","machine_name":"agent_execution_diff","title":"Agent Execution Diff","serviceName":"Agent Execution Diff","tags":["ai-search-ai-agent","agent-execution-diff","ai-agents","x402"],"metadata":{"name":"agent_execution_diff","machineName":"agent_execution_diff","machine_name":"agent_execution_diff","title":"Agent Execution Diff","serviceName":"Agent Execution Diff","description":"Agent Execution Diff performs a bounded deterministic agent execution diff operation over caller-supplied agent definitions and traces.","tags":["ai-search-ai-agent","agent-execution-diff","ai-agents","x402"]},"description":"Use this service when you need this capability: agent Execution Diff performs a bounded deterministic agent execution diff operation over caller-supplied agent definitions and traces.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/agent_execution_diff","invoke_url":"https://signalharness.ai/api/agent/services/agent_execution_diff/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"agent_execution_diff","minLength":20,"maxLength":20},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"search_query_parse","name":"Search Query Parse","machineName":"search_query_parse","machine_name":"search_query_parse","title":"Search Query Parse","serviceName":"Search Query Parse","tags":["ai-search-search-retrieval","search-query-parse","ai-agents","x402"],"metadata":{"name":"search_query_parse","machineName":"search_query_parse","machine_name":"search_query_parse","title":"Search Query Parse","serviceName":"Search Query Parse","description":"Search Query Parse performs a bounded deterministic search query parse operation over caller-supplied search queries and result sets.","tags":["ai-search-search-retrieval","search-query-parse","ai-agents","x402"]},"description":"Use this service when you need this capability: search Query Parse performs a bounded deterministic search query parse operation over caller-supplied search queries and result sets.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/search_query_parse","invoke_url":"https://signalharness.ai/api/agent/services/search_query_parse/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"search_query_parse","minLength":18,"maxLength":18},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"search_query_normalize","name":"Search Query Normalize","machineName":"search_query_normalize","machine_name":"search_query_normalize","title":"Search Query Normalize","serviceName":"Search Query Normalize","tags":["ai-search-search-retrieval","search-query-normalize","ai-agents","x402"],"metadata":{"name":"search_query_normalize","machineName":"search_query_normalize","machine_name":"search_query_normalize","title":"Search Query Normalize","serviceName":"Search Query Normalize","description":"Search Query Normalize performs a bounded deterministic search query normalize operation over caller-supplied search queries and result sets.","tags":["ai-search-search-retrieval","search-query-normalize","ai-agents","x402"]},"description":"Use this service when you need this capability: search Query Normalize performs a bounded deterministic search query normalize operation over caller-supplied search queries and result sets.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/search_query_normalize","invoke_url":"https://signalharness.ai/api/agent/services/search_query_normalize/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"search_query_normalize","minLength":22,"maxLength":22},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"search_query_expand_from_supplied_terms","name":"Search Query Expand From Supplied Terms","machineName":"search_query_expand_from_supplied_terms","machine_name":"search_query_expand_from_supplied_terms","title":"Search Query Expand From Supplied Terms","serviceName":"Search Query Expand From Supplied Terms","tags":["ai-search-search-retrieval","search-query-expand-terms","ai-agents","x402"],"metadata":{"name":"search_query_expand_from_supplied_terms","machineName":"search_query_expand_from_supplied_terms","machine_name":"search_query_expand_from_supplied_terms","title":"Search Query Expand From Supplied Terms","serviceName":"Search Query Expand From Supplied Terms","description":"Search Query Expand From Supplied Terms performs a bounded deterministic search query expand from supplied terms operation over caller-supplied search queries and result sets.","tags":["ai-search-search-retrieval","search-query-expand-terms","ai-agents","x402"]},"description":"Use this service when you need this capability: search Query Expand From Supplied Terms performs a bounded deterministic search query expand from supplied terms operation over caller-supplied search queries and result sets.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/search_query_expand_from_supplied_terms","invoke_url":"https://signalharness.ai/api/agent/services/search_query_expand_from_supplied_terms/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"search_query_expand_from_supplied_terms","minLength":39,"maxLength":39},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"search_result_deduplicate","name":"Search Result Deduplicate","machineName":"search_result_deduplicate","machine_name":"search_result_deduplicate","title":"Search Result Deduplicate","serviceName":"Search Result Deduplicate","tags":["ai-search-search-retrieval","search-result-deduplicate","ai-agents","x402"],"metadata":{"name":"search_result_deduplicate","machineName":"search_result_deduplicate","machine_name":"search_result_deduplicate","title":"Search Result Deduplicate","serviceName":"Search Result Deduplicate","description":"Search Result Deduplicate performs a bounded deterministic search result deduplicate operation over caller-supplied search queries and result sets.","tags":["ai-search-search-retrieval","search-result-deduplicate","ai-agents","x402"]},"description":"Use this service when you need this capability: search Result Deduplicate performs a bounded deterministic search result deduplicate operation over caller-supplied search queries and result sets.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/search_result_deduplicate","invoke_url":"https://signalharness.ai/api/agent/services/search_result_deduplicate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"search_result_deduplicate","minLength":25,"maxLength":25},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"search_result_domain_group","name":"Search Result Domain Group","machineName":"search_result_domain_group","machine_name":"search_result_domain_group","title":"Search Result Domain Group","serviceName":"Search Result Domain Group","tags":["ai-search-search-retrieval","search-result-domain-group","ai-agents","x402"],"metadata":{"name":"search_result_domain_group","machineName":"search_result_domain_group","machine_name":"search_result_domain_group","title":"Search Result Domain Group","serviceName":"Search Result Domain Group","description":"Search Result Domain Group performs a bounded deterministic search result domain group operation over caller-supplied search queries and result sets.","tags":["ai-search-search-retrieval","search-result-domain-group","ai-agents","x402"]},"description":"Use this service when you need this capability: search Result Domain Group performs a bounded deterministic search result domain group operation over caller-supplied search queries and result sets.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/search_result_domain_group","invoke_url":"https://signalharness.ai/api/agent/services/search_result_domain_group/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"search_result_domain_group","minLength":26,"maxLength":26},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"search_result_bm25_rank","name":"Search Result Bm25 Rank","machineName":"search_result_bm25_rank","machine_name":"search_result_bm25_rank","title":"Search Result Bm25 Rank","serviceName":"Search Result Bm25 Rank","tags":["ai-search-search-retrieval","search-result-bm25-rank","ai-agents","x402"],"metadata":{"name":"search_result_bm25_rank","machineName":"search_result_bm25_rank","machine_name":"search_result_bm25_rank","title":"Search Result Bm25 Rank","serviceName":"Search Result Bm25 Rank","description":"Search Result Bm25 Rank performs a bounded deterministic search result bm25 rank operation over caller-supplied search queries and result sets.","tags":["ai-search-search-retrieval","search-result-bm25-rank","ai-agents","x402"]},"description":"Use this service when you need this capability: search Result Bm25 Rank performs a bounded deterministic search result bm25 rank operation over caller-supplied search queries and result sets.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/search_result_bm25_rank","invoke_url":"https://signalharness.ai/api/agent/services/search_result_bm25_rank/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"search_result_bm25_rank","minLength":23,"maxLength":23},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"search_result_rrf_merge","name":"Search Result Rrf Merge","machineName":"search_result_rrf_merge","machine_name":"search_result_rrf_merge","title":"Search Result Rrf Merge","serviceName":"Search Result Rrf Merge","tags":["ai-search-search-retrieval","search-result-rrf-merge","ai-agents","x402"],"metadata":{"name":"search_result_rrf_merge","machineName":"search_result_rrf_merge","machine_name":"search_result_rrf_merge","title":"Search Result Rrf Merge","serviceName":"Search Result Rrf Merge","description":"Search Result Rrf Merge performs a bounded deterministic search result rrf merge operation over caller-supplied search queries and result sets.","tags":["ai-search-search-retrieval","search-result-rrf-merge","ai-agents","x402"]},"description":"Use this service when you need this capability: search Result Rrf Merge performs a bounded deterministic search result rrf merge operation over caller-supplied search queries and result sets.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/search_result_rrf_merge","invoke_url":"https://signalharness.ai/api/agent/services/search_result_rrf_merge/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"search_result_rrf_merge","minLength":23,"maxLength":23},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"search_result_score_normalize","name":"Search Result Score Normalize","machineName":"search_result_score_normalize","machine_name":"search_result_score_normalize","title":"Search Result Score Normalize","serviceName":"Search Result Score Normalize","tags":["ai-search-search-retrieval","search-result-score-normalize","ai-agents","x402"],"metadata":{"name":"search_result_score_normalize","machineName":"search_result_score_normalize","machine_name":"search_result_score_normalize","title":"Search Result Score Normalize","serviceName":"Search Result Score Normalize","description":"Search Result Score Normalize performs a bounded deterministic search result score normalize operation over caller-supplied search queries and result sets.","tags":["ai-search-search-retrieval","search-result-score-normalize","ai-agents","x402"]},"description":"Use this service when you need this capability: search Result Score Normalize performs a bounded deterministic search result score normalize operation over caller-supplied search queries and result sets.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/search_result_score_normalize","invoke_url":"https://signalharness.ai/api/agent/services/search_result_score_normalize/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"search_result_score_normalize","minLength":29,"maxLength":29},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"search_result_filter","name":"Search Result Filter","machineName":"search_result_filter","machine_name":"search_result_filter","title":"Search Result Filter","serviceName":"Search Result Filter","tags":["ai-search-search-retrieval","search-result-filter","ai-agents","x402"],"metadata":{"name":"search_result_filter","machineName":"search_result_filter","machine_name":"search_result_filter","title":"Search Result Filter","serviceName":"Search Result Filter","description":"Search Result Filter performs a bounded deterministic search result filter operation over caller-supplied search queries and result sets.","tags":["ai-search-search-retrieval","search-result-filter","ai-agents","x402"]},"description":"Use this service when you need this capability: search Result Filter performs a bounded deterministic search result filter operation over caller-supplied search queries and result sets.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/search_result_filter","invoke_url":"https://signalharness.ai/api/agent/services/search_result_filter/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"search_result_filter","minLength":20,"maxLength":20},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"search_ranking_diff","name":"Search Ranking Diff","machineName":"search_ranking_diff","machine_name":"search_ranking_diff","title":"Search Ranking Diff","serviceName":"Search Ranking Diff","tags":["ai-search-search-retrieval","search-ranking-diff","ai-agents","x402"],"metadata":{"name":"search_ranking_diff","machineName":"search_ranking_diff","machine_name":"search_ranking_diff","title":"Search Ranking Diff","serviceName":"Search Ranking Diff","description":"Search Ranking Diff performs a bounded deterministic search ranking diff operation over caller-supplied search queries and result sets.","tags":["ai-search-search-retrieval","search-ranking-diff","ai-agents","x402"]},"description":"Use this service when you need this capability: search Ranking Diff performs a bounded deterministic search ranking diff operation over caller-supplied search queries and result sets.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/search_ranking_diff","invoke_url":"https://signalharness.ai/api/agent/services/search_ranking_diff/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"search_ranking_diff","minLength":19,"maxLength":19},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"search_result_citation_map","name":"Search Result Citation Map","machineName":"search_result_citation_map","machine_name":"search_result_citation_map","title":"Search Result Citation Map","serviceName":"Search Result Citation Map","tags":["ai-search-search-retrieval","search-result-citation-map","ai-agents","x402"],"metadata":{"name":"search_result_citation_map","machineName":"search_result_citation_map","machine_name":"search_result_citation_map","title":"Search Result Citation Map","serviceName":"Search Result Citation Map","description":"Search Result Citation Map performs a bounded deterministic search result citation map operation over caller-supplied search queries and result sets.","tags":["ai-search-search-retrieval","search-result-citation-map","ai-agents","x402"]},"description":"Use this service when you need this capability: search Result Citation Map performs a bounded deterministic search result citation map operation over caller-supplied search queries and result sets.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/search_result_citation_map","invoke_url":"https://signalharness.ai/api/agent/services/search_result_citation_map/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"search_result_citation_map","minLength":26,"maxLength":26},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"search_result_evidence_coverage","name":"Search Result Evidence Coverage","machineName":"search_result_evidence_coverage","machine_name":"search_result_evidence_coverage","title":"Search Result Evidence Coverage","serviceName":"Search Result Evidence Coverage","tags":["ai-search-search-retrieval","search-result-evidence-coverage","ai-agents","x402"],"metadata":{"name":"search_result_evidence_coverage","machineName":"search_result_evidence_coverage","machine_name":"search_result_evidence_coverage","title":"Search Result Evidence Coverage","serviceName":"Search Result Evidence Coverage","description":"Search Result Evidence Coverage performs a bounded deterministic search result evidence coverage operation over caller-supplied search queries and result sets.","tags":["ai-search-search-retrieval","search-result-evidence-coverage","ai-agents","x402"]},"description":"Use this service when you need this capability: search Result Evidence Coverage performs a bounded deterministic search result evidence coverage operation over caller-supplied search queries and result sets.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/search_result_evidence_coverage","invoke_url":"https://signalharness.ai/api/agent/services/search_result_evidence_coverage/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"search_result_evidence_coverage","minLength":31,"maxLength":31},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"15000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":3,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"search_result_quality_report","name":"Search Result Quality Report","machineName":"search_result_quality_report","machine_name":"search_result_quality_report","title":"Search Result Quality Report","serviceName":"Search Result Quality Report","tags":["ai-search-search-retrieval","search-result-quality-report","ai-agents","x402"],"metadata":{"name":"search_result_quality_report","machineName":"search_result_quality_report","machine_name":"search_result_quality_report","title":"Search Result Quality Report","serviceName":"Search Result Quality Report","description":"Search Result Quality Report performs a bounded deterministic search result quality report operation over caller-supplied search queries and result sets.","tags":["ai-search-search-retrieval","search-result-quality-report","ai-agents","x402"]},"description":"Use this service when you need this capability: search Result Quality Report performs a bounded deterministic search result quality report operation over caller-supplied search queries and result sets.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/search_result_quality_report","invoke_url":"https://signalharness.ai/api/agent/services/search_result_quality_report/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"search_result_quality_report","minLength":28,"maxLength":28},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"25000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":5,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"rag_chunk_overlap_analyze","name":"Rag Chunk Overlap Analyze","machineName":"rag_chunk_overlap_analyze","machine_name":"rag_chunk_overlap_analyze","title":"Rag Chunk Overlap Analyze","serviceName":"Rag Chunk Overlap Analyze","tags":["ai-search-rag","rag-chunk-overlap-analyze","ai-agents","x402"],"metadata":{"name":"rag_chunk_overlap_analyze","machineName":"rag_chunk_overlap_analyze","machine_name":"rag_chunk_overlap_analyze","title":"Rag Chunk Overlap Analyze","serviceName":"Rag Chunk Overlap Analyze","description":"Rag Chunk Overlap Analyze performs a bounded deterministic rag chunk overlap analyze operation over caller-supplied retrieval evidence.","tags":["ai-search-rag","rag-chunk-overlap-analyze","ai-agents","x402"]},"description":"Use this service when you need this capability: rag Chunk Overlap Analyze performs a bounded deterministic rag chunk overlap analyze operation over caller-supplied retrieval evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/rag_chunk_overlap_analyze","invoke_url":"https://signalharness.ai/api/agent/services/rag_chunk_overlap_analyze/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"rag_chunk_overlap_analyze","minLength":25,"maxLength":25},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"rag_retrieval_precision_at_k","name":"Rag Retrieval Precision At K","machineName":"rag_retrieval_precision_at_k","machine_name":"rag_retrieval_precision_at_k","title":"Rag Retrieval Precision At K","serviceName":"Rag Retrieval Precision At K","tags":["ai-search-rag","rag-retrieval-precision-at","ai-agents","x402"],"metadata":{"name":"rag_retrieval_precision_at_k","machineName":"rag_retrieval_precision_at_k","machine_name":"rag_retrieval_precision_at_k","title":"Rag Retrieval Precision At K","serviceName":"Rag Retrieval Precision At K","description":"Rag Retrieval Precision At K performs a bounded deterministic rag retrieval precision at k operation over caller-supplied retrieval evidence.","tags":["ai-search-rag","rag-retrieval-precision-at","ai-agents","x402"]},"description":"Use this service when you need this capability: rag Retrieval Precision At K performs a bounded deterministic rag retrieval precision at k operation over caller-supplied retrieval evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/rag_retrieval_precision_at_k","invoke_url":"https://signalharness.ai/api/agent/services/rag_retrieval_precision_at_k/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"rag_retrieval_precision_at_k","minLength":28,"maxLength":28},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"rag_reciprocal_rank_calculate","name":"Rag Reciprocal Rank Calculate","machineName":"rag_reciprocal_rank_calculate","machine_name":"rag_reciprocal_rank_calculate","title":"Rag Reciprocal Rank Calculate","serviceName":"Rag Reciprocal Rank Calculate","tags":["ai-search-rag","rag-reciprocal-rank-calculate","ai-agents","x402"],"metadata":{"name":"rag_reciprocal_rank_calculate","machineName":"rag_reciprocal_rank_calculate","machine_name":"rag_reciprocal_rank_calculate","title":"Rag Reciprocal Rank Calculate","serviceName":"Rag Reciprocal Rank Calculate","description":"Rag Reciprocal Rank Calculate performs a bounded deterministic rag reciprocal rank calculate operation over caller-supplied retrieval evidence.","tags":["ai-search-rag","rag-reciprocal-rank-calculate","ai-agents","x402"]},"description":"Use this service when you need this capability: rag Reciprocal Rank Calculate performs a bounded deterministic rag reciprocal rank calculate operation over caller-supplied retrieval evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/rag_reciprocal_rank_calculate","invoke_url":"https://signalharness.ai/api/agent/services/rag_reciprocal_rank_calculate/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"rag_reciprocal_rank_calculate","minLength":29,"maxLength":29},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"5000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":1,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"rag_answer_evidence_map","name":"Rag Answer Evidence Map","machineName":"rag_answer_evidence_map","machine_name":"rag_answer_evidence_map","title":"Rag Answer Evidence Map","serviceName":"Rag Answer Evidence Map","tags":["ai-search-rag","rag-answer-evidence-map","ai-agents","x402"],"metadata":{"name":"rag_answer_evidence_map","machineName":"rag_answer_evidence_map","machine_name":"rag_answer_evidence_map","title":"Rag Answer Evidence Map","serviceName":"Rag Answer Evidence Map","description":"Rag Answer Evidence Map performs a bounded deterministic rag answer evidence map operation over caller-supplied retrieval evidence.","tags":["ai-search-rag","rag-answer-evidence-map","ai-agents","x402"]},"description":"Use this service when you need this capability: rag Answer Evidence Map performs a bounded deterministic rag answer evidence map operation over caller-supplied retrieval evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/rag_answer_evidence_map","invoke_url":"https://signalharness.ai/api/agent/services/rag_answer_evidence_map/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"rag_answer_evidence_map","minLength":23,"maxLength":23},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"10000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":2,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"rag_pipeline_evaluation_report","name":"Rag Pipeline Evaluation Report","machineName":"rag_pipeline_evaluation_report","machine_name":"rag_pipeline_evaluation_report","title":"Rag Pipeline Evaluation Report","serviceName":"Rag Pipeline Evaluation Report","tags":["ai-search-rag","rag-pipeline-evaluation-report","ai-agents","x402"],"metadata":{"name":"rag_pipeline_evaluation_report","machineName":"rag_pipeline_evaluation_report","machine_name":"rag_pipeline_evaluation_report","title":"Rag Pipeline Evaluation Report","serviceName":"Rag Pipeline Evaluation Report","description":"Rag Pipeline Evaluation Report performs a bounded deterministic rag pipeline evaluation report operation over caller-supplied retrieval evidence.","tags":["ai-search-rag","rag-pipeline-evaluation-report","ai-agents","x402"]},"description":"Use this service when you need this capability: rag Pipeline Evaluation Report performs a bounded deterministic rag pipeline evaluation report operation over caller-supplied retrieval evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/rag_pipeline_evaluation_report","invoke_url":"https://signalharness.ai/api/agent/services/rag_pipeline_evaluation_report/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"rag_pipeline_evaluation_report","minLength":30,"maxLength":30},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"25000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":5,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"search_to_answer_evidence_report","name":"Search To Answer Evidence Report","machineName":"search_to_answer_evidence_report","machine_name":"search_to_answer_evidence_report","title":"Search To Answer Evidence Report","serviceName":"Search To Answer Evidence Report","tags":["ai-search-ai-search-report","search-answer-evidence-report","ai-agents","x402"],"metadata":{"name":"search_to_answer_evidence_report","machineName":"search_to_answer_evidence_report","machine_name":"search_to_answer_evidence_report","title":"Search To Answer Evidence Report","serviceName":"Search To Answer Evidence Report","description":"Search To Answer Evidence Report performs a bounded deterministic search to answer evidence report operation over caller-supplied AI and search evidence.","tags":["ai-search-ai-search-report","search-answer-evidence-report","ai-agents","x402"]},"description":"Use this service when you need this capability: search To Answer Evidence Report performs a bounded deterministic search to answer evidence report operation over caller-supplied AI and search evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/search_to_answer_evidence_report","invoke_url":"https://signalharness.ai/api/agent/services/search_to_answer_evidence_report/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"search_to_answer_evidence_report","minLength":32,"maxLength":32},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"30000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":6,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"agent_research_trace_report","name":"Agent Research Trace Report","machineName":"agent_research_trace_report","machine_name":"agent_research_trace_report","title":"Agent Research Trace Report","serviceName":"Agent Research Trace Report","tags":["ai-search-ai-search-report","agent-research-trace-report","ai-agents","x402"],"metadata":{"name":"agent_research_trace_report","machineName":"agent_research_trace_report","machine_name":"agent_research_trace_report","title":"Agent Research Trace Report","serviceName":"Agent Research Trace Report","description":"Agent Research Trace Report performs a bounded deterministic agent research trace report operation over caller-supplied AI and search evidence.","tags":["ai-search-ai-search-report","agent-research-trace-report","ai-agents","x402"]},"description":"Use this service when you need this capability: agent Research Trace Report performs a bounded deterministic agent research trace report operation over caller-supplied AI and search evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/agent_research_trace_report","invoke_url":"https://signalharness.ai/api/agent/services/agent_research_trace_report/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"agent_research_trace_report","minLength":27,"maxLength":27},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"30000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":6,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"multi_source_claim_evidence_report","name":"Multi Source Claim Evidence Report","machineName":"multi_source_claim_evidence_report","machine_name":"multi_source_claim_evidence_report","title":"Multi Source Claim Evidence Report","serviceName":"Multi Source Claim Evidence Report","tags":["ai-search-ai-search-report","multi-source-claim-evidence","ai-agents","x402"],"metadata":{"name":"multi_source_claim_evidence_report","machineName":"multi_source_claim_evidence_report","machine_name":"multi_source_claim_evidence_report","title":"Multi Source Claim Evidence Report","serviceName":"Multi Source Claim Evidence Report","description":"Multi Source Claim Evidence Report performs a bounded deterministic multi source claim evidence report operation over caller-supplied AI and search evidence.","tags":["ai-search-ai-search-report","multi-source-claim-evidence","ai-agents","x402"]},"description":"Use this service when you need this capability: multi Source Claim Evidence Report performs a bounded deterministic multi source claim evidence report operation over caller-supplied AI and search evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/multi_source_claim_evidence_report","invoke_url":"https://signalharness.ai/api/agent/services/multi_source_claim_evidence_report/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"multi_source_claim_evidence_report","minLength":34,"maxLength":34},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"30000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":6,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"retrieval_failure_diagnosis_report","name":"Retrieval Failure Diagnosis Report","machineName":"retrieval_failure_diagnosis_report","machine_name":"retrieval_failure_diagnosis_report","title":"Retrieval Failure Diagnosis Report","serviceName":"Retrieval Failure Diagnosis Report","tags":["ai-search-ai-search-report","retrieval-failure-diagnosis-report","ai-agents","x402"],"metadata":{"name":"retrieval_failure_diagnosis_report","machineName":"retrieval_failure_diagnosis_report","machine_name":"retrieval_failure_diagnosis_report","title":"Retrieval Failure Diagnosis Report","serviceName":"Retrieval Failure Diagnosis Report","description":"Retrieval Failure Diagnosis Report performs a bounded deterministic retrieval failure diagnosis report operation over caller-supplied AI and search evidence.","tags":["ai-search-ai-search-report","retrieval-failure-diagnosis-report","ai-agents","x402"]},"description":"Use this service when you need this capability: retrieval Failure Diagnosis Report performs a bounded deterministic retrieval failure diagnosis report operation over caller-supplied AI and search evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/retrieval_failure_diagnosis_report","invoke_url":"https://signalharness.ai/api/agent/services/retrieval_failure_diagnosis_report/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"retrieval_failure_diagnosis_report","minLength":34,"maxLength":34},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"30000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":6,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}},{"service_id":"ai_search_pipeline_regression_report","name":"Ai Search Pipeline Regression Report","machineName":"ai_search_pipeline_regression_report","machine_name":"ai_search_pipeline_regression_report","title":"Ai Search Pipeline Regression Report","serviceName":"Ai Search Pipeline Regression Report","tags":["ai-search-ai-search-report","ai-search-pipeline-regression","ai-agents","x402"],"metadata":{"name":"ai_search_pipeline_regression_report","machineName":"ai_search_pipeline_regression_report","machine_name":"ai_search_pipeline_regression_report","title":"Ai Search Pipeline Regression Report","serviceName":"Ai Search Pipeline Regression Report","description":"Ai Search Pipeline Regression Report performs a bounded deterministic ai search pipeline regression report operation over caller-supplied AI and search evidence.","tags":["ai-search-ai-search-report","ai-search-pipeline-regression","ai-agents","x402"]},"description":"Use this service when you need this capability: ai Search Pipeline Regression Report performs a bounded deterministic ai search pipeline regression report operation over caller-supplied AI and search evidence.","version":"1.0.0","visibility":"public","detail_url":"https://signalharness.ai/api/agent/services/ai_search_pipeline_regression_report","invoke_url":"https://signalharness.ai/api/agent/services/ai_search_pipeline_regression_report/invoke","input_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":1,"maxProperties":1,"required":["request_json"],"properties":{"request_json":{"type":"string","minLength":2,"maxLength":65536}}},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"minProperties":4,"maxProperties":4,"required":["service_id","evidence_scope","analysis_json","warnings"],"properties":{"service_id":{"type":"string","const":"ai_search_pipeline_regression_report","minLength":36,"maxLength":36},"evidence_scope":{"type":"string","const":"caller_supplied_data","minLength":20,"maxLength":20},"analysis_json":{"type":"string","minLength":2,"maxLength":65536},"warnings":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":512}}}},"amount_atomic":"50000","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","billing_type":"fixed_per_call","x402_compatible":true,"x402_versions":[2,1],"x402_v1_network":"base","prepaid_service_credits":{"eligible":true,"credit_cost":10,"credit_value_atomic":"5000","authorization":"opaque_server_side_entitlement"}}]}
