# Agent Utility API — x402 microservices for autonomous agents Machine-first paid utilities for agent workflows: high-frequency hashing, video context extraction, context compression, task cleanup, safety checks, workflow helpers and commerce normalization. Base URL: https://agent-product-normalizer.vercel.app Payment: USDC on Base (eip155:8453) Pay-to: 0x74eCCC9bEC502d9Eb390bF15198A234447Dc59F8 CLI quickstart (no wallet or payment): - curl -sS https://agent-product-normalizer.vercel.app/openapi.json - curl -sS https://agent-product-normalizer.vercel.app/api/v1/no-progress-gate/sample Inspect x402 requirements without spending: - curl -i -sS -X POST https://agent-product-normalizer.vercel.app/api/v1/no-progress-gate -H 'content-type: application/json' --data '{"history":[{"tool":"search","args":{"q":"agent loops"},"result":{"hits":0}},{"tool":"search","args":{"q":"agent loops"},"result":{"hits":0}}]}' - Expect HTTP 402 with Payment-Required. Decode its base64 value or pass the response to an x402-compatible client, then retry with the client's PAYMENT-SIGNATURE proof. The paid handler does not run until the facilitator verifies that proof. High-frequency deterministic utility: - Free sample: GET /api/v1/hash/sample returns a fixed SHA-256 example without payment. Try it before integrating; your own text uses POST /api/v1/hash at $0.0008 via x402. Maximum 100000 UTF-8 bytes; SHA-1/MD5 are legacy only. Recommended video routes: - GET/POST /api/v1/video-analyze — $0.025 — YouTube video → agent-ready context. Extract transcript highlights, timestamped key points, chapters, technical commands, action items, candidate claims, context pack and optional evidence Q&A without making an agent read the full transcript. - GET/POST /api/v1/video-transcript — $0.015 — extract a YouTube transcript, captions and timestamped segments as video-to-text for downstream agents. - GET/POST /api/v1/video-brief — $0.006 — compact extractive brief from a supplied transcript. - GET/POST /api/v1/video-key-points — $0.004 — select high-value transcript passages. - GET/POST /api/v1/video-answer-question — $0.006 — extractive Q&A with evidence passages from a supplied transcript. - GET/POST /api/v1/video-chapters — $0.004 — split a transcript into topic-sized chapters. - GET/POST /api/v1/video-claims — $0.004 — identify candidate claims for later verification. - GET/POST /api/v1/video-action-items — $0.003 — extract action-oriented passages. Agent workflow utilities: - GET/POST /api/v1/clarify — $0.005 — turn a messy human request into an execution-ready task. - GET/POST /api/v1/task-gate — $0.004 — gate an autonomous action as PROCEED, CLARIFY, ASK_HUMAN or STOP with risks and next action. - Free sample: GET /api/v1/task-gate/sample returns a fixed preflight example without payment; use GET/POST /api/v1/task-gate at $0.004 for your own task. - GET/POST /api/v1/context-freshness — $0.002 — detect stale or near-expiry context and return the smallest refresh plan instead of re-fetching everything. - GET/POST /api/v1/call-value-gate — $0.003 — decide whether a proposed model, tool or human call creates enough expected value for its cost and remaining budget. - Free sample: GET /api/v1/call-value-gate/sample returns a fixed expected-value decision without payment; use GET/POST /api/v1/call-value-gate for your own call economics. - GET/POST /api/v1/compress-context — $0.005 — compress long agent context into compact operational state. - GET/POST /api/v1/should-ask-human — $0.003 — decide whether to ask the human or safely infer and continue. - GET/POST /api/v1/extract-constraints — $0.003 — split a request into hard constraints, preferences, exclusions, budgets and deadlines. - GET/POST /api/v1/rank-results — $0.005 — rank search results and flag duplicates, stale results and spam signals. - GET/POST /api/v1/dedupe-facts — $0.0015 — remove duplicate facts before another agent reads them. - GET/POST /api/v1/detect-conflicts — $0.002 — flag contradictory facts and numeric mismatches. - GET/POST /api/v1/extract-actions — $0.002 — pull action items from notes or conversation text. - GET/POST /api/v1/make-search-query — $0.0015 — turn a verbose task into compact search queries. - GET/POST /api/v1/missing-fields — $0.001 — check whether required tool-call inputs are present. - GET/POST /api/v1/retry-decision — $0.001 — classify tool/API failures and decide whether/how to retry. - POST /api/v1/no-progress-gate — $0.003 — fingerprint a rolling tool trace and return CONTINUE, REFRAME, STOP_RETRYING or ASK_HUMAN before another wasteful call. - Free sample: GET /api/v1/no-progress-gate/sample returns a fixed repeated-search trace without payment, so callers can inspect the decision schema before integrating. - GET/POST /api/v1/prompt-injection-scan — $0.002 — scan untrusted text for common prompt-injection patterns. - GET/POST /api/v1/redact-secrets — $0.002 — redact common credential/token patterns before handoff or logging. - GET/POST /api/v1/handoff-diff — $0.002 — report what changed between two agent states. - GET/POST /api/v1/choose-next-step — $0.002 — rank candidate next actions against current state. Commerce utilities: - GET/POST /api/v1/normalize — $0.01 — normalize a public product page into agent-ready commerce JSON. - GET/POST /api/v1/extract-offer — $0.01 — extract compact price, currency, availability and seller facts. - GET/POST /api/v1/validate — $0.02 — score whether product data is reliable enough for an agent. - GET/POST /api/v1/compare — $0.05 — compare 2-5 product pages and return the cheapest offer per currency. Discovery: - https://agent-product-normalizer.vercel.app/catalog - https://agent-product-normalizer.vercel.app/openapi.json - https://agent-product-normalizer.vercel.app/.well-known/x402 - https://agent-product-normalizer.vercel.app/.well-known/agent-card.json - https://agent-product-normalizer.vercel.app/.well-known/ai-plugin.json - https://agent-product-normalizer.vercel.app/skill.md Human/browser tests: - https://agent-product-normalizer.vercel.app/test-payment - https://agent-product-normalizer.vercel.app/test-clarify - https://agent-product-normalizer.vercel.app/test-compress-context - https://agent-product-normalizer.vercel.app/test-video-transcript - https://agent-product-normalizer.vercel.app/test-video-analyze Notes for agent callers: - Video summaries/Q&A are extractive and deterministic, not a general-purpose semantic LLM. - video-analyze can reconstruct low-punctuation auto-captions from timestamped segments. - For technical tutorials, video-analyze may return timestamped technical_commands. - All paid routes return HTTP 402 until a valid x402 payment is supplied.