On-chain Forensics · operations

Status, latency and versioning

Infrastructure is judged on numbers, so here are ours with the sample size and the timestamp attached. Nothing on this page is a marketing figure.

Last measurement

Friday November 6, 2026, 19:47 CT · single client, sequential requests, no connection reuse · 115 samples across 5 routes

RouteSamplesp50p95SlowestNotes
verdictFast cached verdict12385 ms466 ms470 msPrimary cache hit path
verdictFast second token5412 ms455 ms460 msSame shape, different cache row
forensicsGateway informational10280 ms340 ms360 msNo chain reads
forensicsMints challenge10435 ms737 ms901 msPaywall only, no data returned
alertsSubscribe challenge10257 ms320 ms340 msPaywall only, no data returned
Read this honestly: the cached routes answer in about 0.4 seconds, which is fine for a pre-trade check and not fine for a per-swap hook. Live scan routes that walk fresh chain state take seconds, not milliseconds. If you need us inside a hot path with a hard deadline, use verdictFast and treat anything else as a background or batch call.

Verify it yourself

for i in $(seq 1 20); do
  curl -s -o /dev/null -w "%{time_total}\n" \
    "https://api.onchainforensics.dev/functions/verdictFast?address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913&chain=base"
done

Latency depends on where you call from, so measure from your own egress rather than trusting ours.

Targets we hold ourselves to

PropertyTargetCurrent
Cached verdict p95under 800 ms466 ms measured
Paywall challenge p95under 900 ms737 ms worst route measured
Cache refreshevery 5 minutesevery 5 minutes, 429 tokens and climbing
Read sourcededicated node, public fallbackprivate Alchemy endpoint, public rotation behind it
Truthfulness of a readnever turn an unreadable chain into a zerounreadable sections return PARTIAL or UNAVAILABLE

No formal SLA contract is offered today. If you need one for a production integration, say so and we will put terms in writing before you build on us.

Versioning and deprecation

Every response and the OpenAPI document carry a semantic version. What that means in practice:

Install inside an agent

The same routes ship as an MCP server so a framework can load them without code:

npx -y onchain-forensics-mcp

Six tools, stdio transport, zero dependencies. On a spent free allowance the tool returns the decoded x402 challenge instead of an error, so the calling agent knows the exact price.

Token grades · 500 tokens graded in public, one page each. License the feed