{"name":"Agent Product Normalizer","description":"Low-cost deterministic x402 utilities that reduce agent tool calls, context waste, retries, unsafe actions and unnecessary model spend.","version":"0.9.6","protocolVersion":"1.0","url":"https://agent-product-normalizer.vercel.app","provider":{"organization":"Agent Product Normalizer","url":"https://agent-product-normalizer.vercel.app"},"documentationUrl":"https://agent-product-normalizer.vercel.app/skill.md","supportedProtocols":["x402","http"],"supportedInterfaces":[{"url":"https://agent-product-normalizer.vercel.app/catalog","protocolBinding":"HTTP+JSON","protocolVersion":"1.0"}],"capabilities":{"streaming":false,"pushNotifications":false,"extendedAgentCard":true,"x402":true},"defaultInputModes":["application/json","text/plain"],"defaultOutputModes":["application/json"],"securitySchemes":{"x402":{"type":"x402","description":"HTTP 402 payment challenge. Pay exact USDC on Base and retry the identical request with the PAYMENT-SIGNATURE header. No signup or API key."}},"securityRequirements":[{"x402":[]}],"discovery":{"catalog":"https://agent-product-normalizer.vercel.app/catalog","x402":"https://agent-product-normalizer.vercel.app/.well-known/x402","openapi":"https://agent-product-normalizer.vercel.app/openapi.json","llms":"https://agent-product-normalizer.vercel.app/llms.txt"},"payment":{"protocol":"x402","version":2,"scheme":"exact","network":"eip155:8453","asset":"USDC","payTo":"0x74eCCC9bEC502d9Eb390bF15198A234447Dc59F8","facilitator":"https://facilitator.payai.network","requestHeader":"PAYMENT-SIGNATURE","challengeHeader":"PAYMENT-REQUIRED","responseHeader":"PAYMENT-RESPONSE","flow":["request resource","receive HTTP 402 with PAYMENT-REQUIRED","authorize the exact requirement","retry identical request with PAYMENT-SIGNATURE","server verifies and settles through facilitator","receive result and PAYMENT-RESPONSE"],"resources":[{"id":"call-value-gate","name":"Agent Call Value Gate","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/call-value-gate","price":"$0.003","pricing":{"amount":"0.003","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"context-freshness","name":"Agent Context Freshness Gate","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/context-freshness","price":"$0.002","pricing":{"amount":"0.002","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"task-gate","name":"Agent Task Gate","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/task-gate","price":"$0.004","pricing":{"amount":"0.004","currency":"USDC","network":"eip155:8453","scheme":"exact"},"freeSample":"https://agent-product-normalizer.vercel.app/api/v1/task-gate/sample"},{"id":"hash","name":"Deterministic Text Hash","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/hash","price":"$0.0008","pricing":{"amount":"0.0008","currency":"USDC","network":"eip155:8453","scheme":"exact"},"freeSample":"https://agent-product-normalizer.vercel.app/api/v1/hash/sample"},{"id":"prompt-injection-scan","name":"Prompt Injection Scan","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/prompt-injection-scan","price":"$0.002","pricing":{"amount":"0.002","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"redact-secrets","name":"Secret Redactor","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/redact-secrets","price":"$0.002","pricing":{"amount":"0.002","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"compress-context","name":"Agent Context Compressor","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/compress-context","price":"$0.005","pricing":{"amount":"0.005","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"dedupe-facts","name":"Agent Fact Deduplicator","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/dedupe-facts","price":"$0.0015","pricing":{"amount":"0.0015","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"retry-decision","name":"Agent Retry Decision","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/retry-decision","price":"$0.001","pricing":{"amount":"0.001","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"no-progress-gate","name":"Agent No-Progress Gate","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/no-progress-gate","price":"$0.003","pricing":{"amount":"0.003","currency":"USDC","network":"eip155:8453","scheme":"exact"},"freeSample":"https://agent-product-normalizer.vercel.app/api/v1/no-progress-gate/sample"},{"id":"missing-fields","name":"Required Field Check","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/missing-fields","price":"$0.001","pricing":{"amount":"0.001","currency":"USDC","network":"eip155:8453","scheme":"exact"}}]},"skills":[{"id":"call-value-gate","name":"Agent Call Value Gate","description":"Decide whether the next model, tool or human call is worth its expected value, latency, failure risk and remaining budget before spending more.","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/call-value-gate","price":"$0.003","tags":["agents","expected-value","budget","tool-call","model-routing","cost-control","roi"],"examples":["Should this agent spend $0.02 on another search call with a $0.05 remaining budget?"],"url":"https://agent-product-normalizer.vercel.app/api/v1/call-value-gate","inputModes":["application/json"],"outputModes":["application/json"],"pricing":{"amount":"0.003","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"context-freshness","name":"Agent Context Freshness Gate","description":"Classify context as fresh, near-expiry or stale and return the minimum refresh plan to avoid redundant fetches, calls and context tokens.","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/context-freshness","price":"$0.002","tags":["agents","context","freshness","ttl","cache","stale-context","tool-calls"],"examples":["Which context items actually need refreshing before the next agent step?"],"url":"https://agent-product-normalizer.vercel.app/api/v1/context-freshness","inputModes":["application/json"],"outputModes":["application/json"],"pricing":{"amount":"0.002","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"task-gate","name":"Agent Task Gate","description":"Preflight an autonomous action and return PROCEED, CLARIFY, ASK_HUMAN or STOP with missing fields, risks, constraints and the next action.","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/task-gate","price":"$0.004","freeSample":"https://agent-product-normalizer.vercel.app/api/v1/task-gate/sample","tags":["agents","preflight","decision","autonomy","safety","workflow"],"examples":["Can this autonomous action proceed safely with the information currently available?"],"url":"https://agent-product-normalizer.vercel.app/api/v1/task-gate","inputModes":["application/json"],"outputModes":["application/json"],"pricing":{"amount":"0.004","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"hash","name":"Deterministic Text Hash","description":"Generate deterministic SHA-256 or SHA-512 digests for cache keys, checksums, deduplication and content fingerprints. SHA-1 and MD5 are legacy-only.","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/hash","price":"$0.0008","freeSample":"https://agent-product-normalizer.vercel.app/api/v1/hash/sample","tags":["hash","sha256","sha512","checksum","cache","deduplication","deterministic"],"examples":["Create a SHA-256 fingerprint for this payload."],"url":"https://agent-product-normalizer.vercel.app/api/v1/hash","inputModes":["application/json"],"outputModes":["application/json"],"pricing":{"amount":"0.0008","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"prompt-injection-scan","name":"Prompt Injection Scan","description":"Scan untrusted retrieved text for common prompt-injection signals before an agent places it into working context.","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/prompt-injection-scan","price":"$0.002","tags":["agents","security","prompt-injection","retrieval","safety"],"examples":["Check this retrieved page text for prompt-injection indicators."],"url":"https://agent-product-normalizer.vercel.app/api/v1/prompt-injection-scan","inputModes":["application/json"],"outputModes":["application/json"],"pricing":{"amount":"0.002","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"redact-secrets","name":"Secret Redactor","description":"Redact common credentials and secret-like strings before agent handoff, storage or logging.","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/redact-secrets","price":"$0.002","tags":["agents","security","redaction","secrets","logging"],"examples":["Remove credential-like values from these logs before handing them to another agent."],"url":"https://agent-product-normalizer.vercel.app/api/v1/redact-secrets","inputModes":["application/json"],"outputModes":["application/json"],"pricing":{"amount":"0.002","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"compress-context","name":"Agent Context Compressor","description":"Compress long operational notes into compact state for downstream agents and handoffs.","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/compress-context","price":"$0.005","tags":["agents","context","compression","handoff","tokens"],"examples":["Compress these project notes into only the state needed for the next agent."],"url":"https://agent-product-normalizer.vercel.app/api/v1/compress-context","inputModes":["application/json"],"outputModes":["application/json"],"pricing":{"amount":"0.005","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"dedupe-facts","name":"Agent Fact Deduplicator","description":"Remove duplicate and near-duplicate facts before downstream model or agent consumption.","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/dedupe-facts","price":"$0.0015","tags":["agents","dedupe","facts","context","tokens"],"examples":["Deduplicate these collected facts before synthesis."],"url":"https://agent-product-normalizer.vercel.app/api/v1/dedupe-facts","inputModes":["application/json"],"outputModes":["application/json"],"pricing":{"amount":"0.0015","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"retry-decision","name":"Agent Retry Decision","description":"Make a deterministic retry decision from status, error and attempt count so agents avoid wasteful retry loops.","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/retry-decision","price":"$0.001","tags":["agents","retry","failure","loop-breaker","cost-control"],"examples":["Should the agent retry this 429 response on attempt 2?"],"url":"https://agent-product-normalizer.vercel.app/api/v1/retry-decision","inputModes":["application/json"],"outputModes":["application/json"],"pricing":{"amount":"0.001","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"no-progress-gate","name":"Agent No-Progress Gate","description":"Fingerprint a rolling tool trace and return CONTINUE, REFRAME, STOP_RETRYING or ASK_HUMAN when repeated calls, unchanged results, failures or budgets show no progress.","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/no-progress-gate","price":"$0.003","freeSample":"https://agent-product-normalizer.vercel.app/api/v1/no-progress-gate/sample","tags":["agents","loop-breaker","tool-calls","progress","budget","cost-control","deterministic"],"examples":["Should the agent make another tool call after three identical calls returned the same result?"],"url":"https://agent-product-normalizer.vercel.app/api/v1/no-progress-gate","inputModes":["application/json"],"outputModes":["application/json"],"pricing":{"amount":"0.003","currency":"USDC","network":"eip155:8453","scheme":"exact"}},{"id":"missing-fields","name":"Required Field Check","description":"Check whether a tool-call payload contains the required fields before spending a remote call.","endpoint":"https://agent-product-normalizer.vercel.app/api/v1/missing-fields","price":"$0.001","tags":["agents","tool-call","validation","preflight","schema"],"examples":["Check this payload for missing required tool parameters before execution."],"url":"https://agent-product-normalizer.vercel.app/api/v1/missing-fields","inputModes":["application/json"],"outputModes":["application/json"],"pricing":{"amount":"0.001","currency":"USDC","network":"eip155:8453","scheme":"exact"}}],"note":"This is an x402 HTTP API, not a conversational JSON-RPC agent. Paid routes return HTTP 402 first; x402 payment is the authentication and settlement mechanism."}