{"uid":"cap_u8fyTlYDXlqffAK3_Kaeo","slug":"x402-discovery-parity-check-b14ce473","name":"X402 Discovery Parity Check","description":"X402 Discovery Parity Check: X402 Discovery Parity Check compares tool-name sets from catalog, OpenAPI, portfolio, and runtime from bounded caller-supplied values without an external provider. Call X402 Discovery Parity Check before paying for or accepting an x402 or agent delivery assembled from caller-supplied challenge and result metadata. Returns contract-specific checks, normalized evidence, mismatch reasons, and an explicit acceptance or rejection status for X402 Discovery Parity Check as…","url":"https://api.delx.ai/api/v1/x402/x402-discovery-parity-check","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"catalog_tools":{"type":"array","items":{"type":"string","maxLength":8192},"maxItems":256,"description":"Catalog Tools supplied to X402 Discovery Parity Check; used only for this bounded calculation and processed in memory without retention."},"openapi_tools":{"type":"array","items":{"type":"string","maxLength":8192},"maxItems":256,"description":"Openapi Tools supplied to X402 Discovery Parity Check; used only for this bounded calculation and processed in memory without retention."},"runtime_tools":{"type":"array","items":{"type":"string","maxLength":8192},"maxItems":256,"description":"Runtime Tools supplied to X402 Discovery Parity Check; used only for this bounded calculation and processed in memory without retention."},"portfolio_tools":{"type":"array","items":{"type":"string","maxLength":8192},"maxItems":256,"description":"Portfolio Tools supplied to X402 Discovery Parity Check; used only for this bounded calculation and processed in memory without retention."}}},"responseSchema":{"type":"json","example":{"result":{"counts":{"catalog":2,"openapi":2,"runtime":2,"portfolio":2},"parity":true,"missing":{"catalog":[],"openapi":[],"runtime":[],"portfolio":[]}},"schema":"delx/util-x402-discovery-parity-check/v1","status":"pass","evidence":{"retained":false,"input_sha256":"2a4e869067b7be7349f2d8d258047e08b504e1fc708e4bef33d84574262c87f4","external_calls":0},"operation":"delivery_contract:x402_discovery_parity_check"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_T1jR2HgyNzqsLzBSXJfQl","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Compares tool-name sets from catalog, OpenAPI, portfolio, and runtime sources to detect mismatches before accepting or paying for an x402 agent delivery.","exampleAgentPrompt":"Before I accept this x402 agent delivery, run a discovery parity check on these four tool sets — my catalog tools are ['tool_a','tool_b'], OpenAPI tools are ['tool_a','tool_c'], portfolio tools are ['tool_a','tool_b'], and runtime tools are ['tool_a','tool_b','tool_d'] — and tell me if they match or what's mismatched.","exampleUseCases":[{"title":"Pre-payment x402 tool set audit","prompt":"I'm about to pay for an x402 agent result — can you run a parity check comparing these tool sets first? Catalog: ['search','summarize','translate'], OpenAPI: ['search','summarize'], portfolio: ['search','summarize','translate'], runtime: ['search','summarize','translate','classify']. Tell me if there are any mismatches I should know about before I approve."},{"title":"Agent delivery acceptance gate","prompt":"Before my system accepts this agent delivery, verify that the catalog tools ['fetch','embed','rank'], openapi tools ['fetch','embed','rank'], portfolio tools ['fetch','embed'], and runtime tools ['fetch','embed','rank'] are all in parity — give me an explicit accept or reject and list any mismatch reasons."},{"title":"Debugging tool set drift in agentic pipeline","prompt":"Something feels off in my agentic pipeline — can you compare these four tool name lists and show me normalized evidence of any drift? Catalog: ['infer','score'], openapi: ['infer','score','rerank'], portfolio: ['infer','score'], runtime: ['infer']."}],"resultDescription":"Returns an explicit acceptance or rejection status, contract-specific validation checks, normalized evidence of each tool set, and a list of mismatch reasons explaining any discrepancies found between the catalog, OpenAPI, portfolio, and runtime tool-name sets.","failureModes":["Input arrays exceed 256 items per set causing rejection","Tool name strings exceed 8192 character limit per item","Missing or empty tool set arrays resulting in incomplete comparison","Ambiguous tool names causing false parity or false mismatch","Network timeout returning no result for large tool sets"],"whenToPreferThis":"Use this endpoint when you need a deterministic, in-memory, no-external-provider check of tool-name parity across four specific sources (catalog, OpenAPI, portfolio, runtime) before committing to an x402 payment or accepting an agent delivery. Prefer this over manual comparison or general-purpose validation tools when operating in an x402 agentic payment context where caller-supplied challenge and result metadata need explicit accept/reject decisions.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T19:02:55.040Z","isFirstParty":false}