{"uid":"cap_9VF3exxEEh1dkBqzNTUgR","slug":"agent-exec-drift-api-drift-detection-for-x402-venues-1de263a4","name":"agent-exec /drift — API Drift Detection for x402 Venues","description":"Accountless, pay-per-use code execution for software agents: submit source code, get stdout, stderr and exit code back from an isolated, network-less sandbox. No account, no API key -- possession of valid payment is sufficient.","url":"https://agent-exec.448c.org/drift?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","required":["venue"],"properties":{"venue":{"enum":["agentry","clearedindex","percall","verantis","x402-list"],"type":"string","description":"One of the endpoints we already snapshot."}}},"responseSchema":{"type":"object","required":["venue","t1","t2","events"],"properties":{"t1":{"type":"object","required":["fetched_at","url","http_status","content_type","body_bytes","body_sha256","body"],"properties":{"url":{"type":"string","description":"The URL actually read. Always the baseline's recorded URL for t1; the final URL after any redirects for t2 (empty string if the live fetch never reached one)."},"body":{"type":["string","null"],"description":"The raw body itself -- verify it yourself rather than trusting `events`. Null on t2 when the live fetch never reached a response."},"body_bytes":{"type":"integer","description":"Bytes of body actually read and hashed."},"fetched_at":{"type":"string","format":"date-time","description":"When this side was observed -- the archived snapshot time for t1, or this request's own fetch time for t2."},"body_sha256":{"type":["string","null"],"description":"sha256 of the body, hex-encoded, or null on t2 when the live fetch never reached a response."},"http_status":{"type":["integer","null"],"description":"The HTTP status observed, or null on t2 when the live fetch never reached a response at all."},"content_type":{"type":["string","null"],"description":"The Content-Type header observed, or null if none/never reached."}}},"t2":{"allOf":[{"type":"object","required":["fetched_at","url","http_status","content_type","body_bytes","body_sha256","body"],"properties":{"url":{"type":"string","description":"The URL actually read. Always the baseline's recorded URL for t1; the final URL after any redirects for t2 (empty string if the live fetch never reached one)."},"body":{"type":["string","null"],"description":"The raw body itself -- verify it yourself rather than trusting `events`. Null on t2 when the live fetch never reached a response."},"body_bytes":{"type":"integer","description":"Bytes of body actually read and hashed."},"fetched_at":{"type":"string","format":"date-time","description":"When this side was observed -- the archived snapshot time for t1, or this request's own fetch time for t2."},"body_sha256":{"type":["string","null"],"description":"sha256 of the body, hex-encoded, or null on t2 when the live fetch never reached a response."},"http_status":{"type":["integer","null"],"description":"The HTTP status observed, or null on t2 when the live fetch never reached a response at all."},"content_type":{"type":["string","null"],"description":"The Content-Type header observed, or null if none/never reached."}}},{"type":"object","required":["fetch_ok","fetch_code","detail","body_truncated"],"properties":{"detail":{"type":["string","null"],"description":"Free-text detail on a non-OK fetch_code. Null when fetch_ok is true."},"fetch_ok":{"type":"boolean","description":"Whether the live fetch reached a real HTTP response, however unsuccessful. false means DNS/connect failure, timeout, too many redirects, or a redirect refused for SSRF safety -- see fetch_code."},"fetch_code":{"type":"string","description":"e.g. DRIFT_FETCH_OK, or a failure code from src/drift/liveFetch.ts's DriftFetchCode -- always billed regardless of outcome, see POST /drift/{venue}'s description."},"body_truncated":{"type":"boolean","description":"True if the body was larger than the 1048576-byte per-fetch cap."}}}]},"venue":{"type":"string"},"events":{"type":["array","null"],"items":{"type":"object","required":["type","path"],"properties":{"path":{"type":"string","description":"JSONPath-ish location of the change, e.g. \"$.checks[].weight\"."},"type":{"enum":["field_added","field_removed","weights_rebased","enum_extended","nulled_fleet_wide"],"type":"string"},"added":{"type":"array","items":{"type":"string"},"description":"Only present on enum_extended -- the newly observed distinct values, sorted."},"after":{"type":"object","properties":{"max":{"type":"number"},"min":{"type":"number"},"sum":{"type":"number"},"count":{"type":"number"}},"description":"Only present on weights_rebased."},"field":{"type":"string","description":"Only present on weights_rebased, enum_extended and nulled_fleet_wide."},"before":{"type":"object","properties":{"max":{"type":"number"},"min":{"type":"number"},"sum":{"type":"number"},"count":{"type":"number"}},"description":"Only present on weights_rebased."},"beforeNullFraction":{"type":"number","description":"Only present on nulled_fleet_wide -- the fraction that was null before it became fleet-wide (always < 1)."}}},"description":"Our typed diff between t1 and t2, or null if t2's body did not parse as JSON (or t1 has no recorded fingerprint) -- verify against t1.body/t2.body yourself rather than trusting this."},"payment":{"type":"object","properties":{"asset":{"type":"string"},"payer":{"type":"string","description":"The paying wallet's address."},"amount":{"type":"string","description":"Atomic units of the settlement asset that were charged."},"network":{"type":"string"},"transaction":{"type":"string","description":"On-chain settlement transaction hash."}},"description":"Always present -- POST /drift and POST /drift/{venue} are both paid, unlike GET /drift/{venue}'s free baseline check."}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.0061","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","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.0061/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0061","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0061","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm__l6dU4i7GY8AttUCfOpO6","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.0061","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches a snapshot of a known x402 API marketplace venue and compares it against a stored baseline to detect changes (drift) in the live response.","exampleAgentPrompt":"Check whether the clearedindex x402 venue has drifted from its baseline — fetch the current live response and compare it against the stored snapshot so I can see what changed.","exampleUseCases":[{"title":"Monitor x402 marketplace for listing changes","prompt":"Has the agentry venue changed since the last baseline was recorded? Fetch the current response and show me any drift events or body differences."},{"title":"Verify percall venue content integrity","prompt":"Compare the live percall x402 venue against its stored baseline and tell me if the SHA-256 hash matches — I want to confirm nothing has changed."},{"title":"Audit verantis endpoint for API updates","prompt":"Run a drift check on the verantis venue and let me know if the HTTP status, content-type, or body has changed since the last snapshot."}],"resultDescription":"Returns two response objects: t1 (the archived baseline snapshot) and t2 (the freshly fetched live response), each containing the URL, HTTP status, content-type, body bytes, SHA-256 hash, raw body, and fetch timestamp. Also includes a list of diff events describing what changed between the two fetches, and the venue name.","failureModes":["Invalid venue value — only agentry, clearedindex, percall, verantis, and x402-list are accepted; any other value returns a 400 or validation error","Live fetch failure — t2 fields (body, sha256, http_status, content_type) may be null if the upstream venue URL is unreachable","Payment not included or invalid — returns HTTP 402 requiring x402-compatible payment of 0.0061 USDC before the request is processed","Venue URL redirected — t2 URL will reflect the final redirected URL, which may differ from the baseline t1 URL"],"whenToPreferThis":"Use this endpoint when you specifically need to detect drift or changes in one of the five pre-indexed x402 API venue snapshots (agentry, clearedindex, percall, verantis, x402-list). It is ideal for monitoring whether AI agent API marketplaces have updated their listings, changed status codes, or altered their response bodies since a known baseline. Prefer this over generic HTTP diff tools when operating within the x402 pay-per-use micropayment ecosystem with no account setup required.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-10T18:32:10.380Z","isFirstParty":false,"canonicalSlug":"agent-exec-drift-api-drift-detection-for-x402-venues-1de263a4"}