{"uid":"cap_YwCTGncB-rMDOUt1XwSm-","slug":"agent-exec-drift-monitor-api-endpoint-change-detector-cd3abb7f","name":"agent-exec Drift Monitor — API Endpoint Change Detector","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.45.67.221.128.sslip.io/drift","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_IxwSEPG6wJJIFYxSvBTZX","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 live snapshot of a known API-discovery venue and compares it to a stored baseline, returning both bodies, metadata, and a diff-events list so agents can detect changes.","exampleAgentPrompt":"Check whether the live x402-list venue has drifted from its stored baseline — fetch it now and give me the diff events, both body hashes, and HTTP statuses.","exampleUseCases":[{"title":"Detect changes to API marketplace listings","prompt":"Has the clearedindex venue changed since it was last snapshotted? Fetch it now and tell me if the body hash is different and what events were detected."},{"title":"Automated drift alert for agent directory","prompt":"Monitor the agentry venue for any drift — compare today's live fetch against the baseline and flag any events showing content changes."},{"title":"Verify percall venue integrity before relying on it","prompt":"Before I use percall's listings, can you confirm its current body matches the stored baseline and there are no unexpected diff events?"}],"resultDescription":"Returns a JSON object with two snapshots: t1 (archived baseline with URL, HTTP status, content-type, body, byte count, SHA-256, and fetch time) and t2 (live fetch with the same fields plus the final redirect URL), plus a venue label and an events array describing detected differences between the two.","failureModes":["Invalid venue enum value — request rejected with validation error","Live fetch network timeout — t2 fields may be null","Target venue returns non-200 status — captured in t2.http_status but body may be null","Payment failure (HTTP 402) — call not executed if x402 payment is invalid or insufficient","SHA-256 mismatch with no events — body changed but diff parser found no structured events"],"whenToPreferThis":"Use this endpoint when you need to compare a known API-discovery venue's current live state against a stored baseline without setting up any account or API key — ideal for lightweight agent-driven change detection on a pay-per-use basis. Prefer it over generic web-diffing tools when the target is one of the five supported x402/agent-discovery venues and you want structured diff events plus cryptographic body hashes.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T18:38:35.713Z","isFirstParty":false}