{"name":"Agent Product Normalizer","version":"0.9.6","status":"ready","payment":{"network":"eip155:8453","asset":"USDC","pay_to":"0x74eCCC9bEC502d9Eb390bF15198A234447Dc59F8"},"services":[{"id":"hash","name":"Deterministic text hash","description":"Generate SHA-256, SHA-512, SHA-1 or MD5 digests for agent cache keys, checksums, deduplication and content fingerprints.","tags":["hash","fingerprint","checksum","cache","deduplication","deterministic"],"methods":["GET","POST"],"path":"/api/v1/hash","price":"$0.0008"},{"id":"normalize","methods":["GET","POST"],"path":"/api/v1/normalize","price":"$0.01"},{"id":"extract-offer","methods":["GET","POST"],"path":"/api/v1/extract-offer","price":"$0.01"},{"id":"validate","methods":["GET","POST"],"path":"/api/v1/validate","price":"$0.02"},{"id":"compare","methods":["GET","POST"],"path":"/api/v1/compare","price":"$0.05"},{"id":"clarify","name":"Agent Task Clarifier","description":"Turn a vague or messy request into an execution-ready goal, constraints, ambiguity signals and one focused question only when needed.","tags":["agents","intent","clarification","constraints","workflow"],"methods":["GET","POST"],"path":"/api/v1/clarify","price":"$0.005"},{"id":"task-gate","name":"Agent Task Gate","description":"Preflight an autonomous action and return PROCEED, CLARIFY, ASK_HUMAN or STOP with missing fields, risks and the next safe action.","tags":["agents","preflight","decision","autonomy","safety","workflow"],"methods":["GET","POST"],"path":"/api/v1/task-gate","price":"$0.004"},{"id":"context-freshness","name":"Agent Context Freshness Gate","description":"Classify context as fresh, near expiry or stale and return a minimal refresh plan so long-running agents avoid redundant fetches, tool calls and context tokens.","tags":["agents","context","freshness","ttl","cache","stale-context","tool-calls"],"methods":["GET","POST"],"path":"/api/v1/context-freshness","price":"$0.002"},{"id":"call-value-gate","name":"Agent Call Value Gate","description":"Decide whether the next model, tool or human call is worth its cost by comparing expected net value, success probability, latency cost, alternatives and remaining budget.","tags":["agents","expected-value","budget","pre-call","tool-call","model-routing","cost-control","roi"],"methods":["GET","POST"],"path":"/api/v1/call-value-gate","price":"$0.003","free_sample":"/api/v1/call-value-gate/sample"},{"id":"compress-context","methods":["GET","POST"],"path":"/api/v1/compress-context","price":"$0.005"},{"id":"should-ask-human","methods":["GET","POST"],"path":"/api/v1/should-ask-human","price":"$0.003"},{"id":"extract-constraints","methods":["GET","POST"],"path":"/api/v1/extract-constraints","price":"$0.003"},{"id":"rank-results","methods":["GET","POST"],"path":"/api/v1/rank-results","price":"$0.005"},{"id":"dedupe-facts","methods":["GET","POST"],"path":"/api/v1/dedupe-facts","price":"$0.0015"},{"id":"detect-conflicts","methods":["GET","POST"],"path":"/api/v1/detect-conflicts","price":"$0.002"},{"id":"extract-actions","methods":["GET","POST"],"path":"/api/v1/extract-actions","price":"$0.002"},{"id":"make-search-query","methods":["GET","POST"],"path":"/api/v1/make-search-query","price":"$0.0015"},{"id":"missing-fields","methods":["GET","POST"],"path":"/api/v1/missing-fields","price":"$0.001"},{"id":"retry-decision","methods":["GET","POST"],"path":"/api/v1/retry-decision","price":"$0.001"},{"id":"no-progress-gate","name":"Agent No-Progress Gate","description":"Detect repeated tool calls, unchanged results, repeated failures and exhausted budgets before an autonomous agent wastes another call.","tags":["agents","loop-breaker","tool-calls","cost-control","progress","deterministic"],"methods":["POST"],"path":"/api/v1/no-progress-gate","price":"$0.003","free_sample":"/api/v1/no-progress-gate/sample"},{"id":"prompt-injection-scan","methods":["GET","POST"],"path":"/api/v1/prompt-injection-scan","price":"$0.002"},{"id":"redact-secrets","methods":["GET","POST"],"path":"/api/v1/redact-secrets","price":"$0.002"},{"id":"handoff-diff","methods":["GET","POST"],"path":"/api/v1/handoff-diff","price":"$0.002"},{"id":"choose-next-step","methods":["GET","POST"],"path":"/api/v1/choose-next-step","price":"$0.002"},{"id":"video-transcript","methods":["GET","POST"],"path":"/api/v1/video-transcript","price":"$0.015"},{"id":"video-brief","methods":["GET","POST"],"path":"/api/v1/video-brief","price":"$0.006"},{"id":"video-key-points","methods":["GET","POST"],"path":"/api/v1/video-key-points","price":"$0.004"},{"id":"video-answer-question","methods":["GET","POST"],"path":"/api/v1/video-answer-question","price":"$0.006"},{"id":"video-chapters","methods":["GET","POST"],"path":"/api/v1/video-chapters","price":"$0.004"},{"id":"video-claims","methods":["GET","POST"],"path":"/api/v1/video-claims","price":"$0.004"},{"id":"video-action-items","methods":["GET","POST"],"path":"/api/v1/video-action-items","price":"$0.003"},{"id":"video-analyze","methods":["GET","POST"],"path":"/api/v1/video-analyze","price":"$0.025"}],"docs":"/openapi.json","browser_tests":{"hash":"/test-hash","normalize":"/test-payment","extract_offer":"/test-extract-offer","validate":"/test-validate","compare":"/test-compare","clarify":"/test-clarify","call_value_gate":"/test-call-value-gate","compress_context":"/test-compress-context","should_ask_human":"/test-should-ask-human","extract_constraints":"/test-extract-constraints","rank_results":"/test-rank-results","dedupe_facts":"/test-dedupe-facts","detect_conflicts":"/test-detect-conflicts","extract_actions":"/test-extract-actions","make_search_query":"/test-make-search-query","missing_fields":"/test-missing-fields","retry_decision":"/test-retry-decision","no_progress_gate_sample":"/test-no-progress-gate","prompt_injection_scan":"/test-prompt-injection-scan","redact_secrets":"/test-redact-secrets","handoff_diff":"/test-handoff-diff","choose_next_step":"/test-choose-next-step","video_transcript":"/test-video-transcript","video_analyze":"/test-video-analyze"}}