Methodology · evidence boundaries

Inspect risk.
Keep the doubt.

A public, read-only inspector for Robinhood Chain pools and swap transactions. It catches supported hazards and explains missing evidence. It is not a universal safe-to-trade certificate.

Public ALLOW locked

Coverage is intentionally narrow.

Pool discovery is partial. Historical transactions describe past execution. Unsupported routes and incomplete evidence fail closed.

OpenAPI ↗
01 / What exists

A small evidence service.

Pool and pair lookup use a filtered registry seeded from the bounded high-fee pool study and verified DOAI swap evidence. Calldata checks recognize supported encodings. Transaction checks attempt read-only analysis; unsupported routes and incomplete evidence fail closed.

Transaction hashes describe historical execution, not a fresh proposal. Pool discovery is partial: absence does not establish safety or even absence of a pool.

02 / Decisions

No green by default.

DENY
A detected hazard, malformed request, or missing required execution evidence. Read the reason code.
WARN
A risk profile or partial inspection needing further checks. Not permission to trade.
UNPRICEABLE
Independent executable fair value or coverage is missing. Not permission to trade.
ALLOW
Reserved for complete, fresh transaction validation. The public deployment has no reviewed profile enabled and cannot issue ALLOW. An operator-reviewed, code-pinned single-hop profile is implemented separately.
03 / Data flow

Read only, by construction.

  1. A browser or agent submits a pool, pair, calldata, unsigned transaction, or historical hash.
  2. The API validates input and consults the compact registry.
  3. Supported on-demand RPC reads retrieve execution evidence.
  4. The engine returns explicit reasons, scope, and an evidence checksum.

No wallet connection, private keys, signing, broadcasting, or trading-bot integration.

04 / Implementation

Keep storage bounded.

Run the Node service behind a trusted reverse proxy. Use separately configured RPC endpoints, restrict bind address to loopback, and expose only the documented read-only API.

Maintain only selected PoolManager events with resumable checkpoints. The existing source collectors are reusable patterns; no 71 GB route cache or archive node is required. Enable bounded storage and log rotation; inspect runtime health rather than assuming the disk ceiling is an OS quota.

05 / Profile-gated exact path

Narrow by design.

Implemented: legacy Universal Router, one mandatory V4_SWAP command, actions 0x060c0f, ERC-20 → ERC-20, exact input, static fee, no hook. A pinned parent block, eth_simulateV1 with transaction validation, before/after wallet balances, reconciled swap events and independently grouped executable pool references are required.

No reviewed deployment profile is enabled publicly. Operators must supply evidenced immutable runtime-code pins and pool-control provenance—not just two provider URLs. Limits include ≤1 second decision age and ≤10 blocks of drift. Enso multi-hop routes, hooks, dynamic fees, native assets and arbitrary router commands do not inherit this coverage.

06 / Evidence limits

What a digest means.

The envelope checksum detects a changed payload when recomputed. It is not a digital signature, authenticity proof, signer authorization, or guarantee of future execution.

The response expiration bounds this evidence envelope only. It does not make historical pool data current. Inspect each result's block, observation time, coverage and missing checks separately.

07 / Developer & agent handoff

Ask for evidence, never authority.

Download the agent guide · OpenAPI schema

curl https://couchdicks.org/robinhood/swap-safety/api/v1/health

curl -X POST https://couchdicks.org/robinhood/swap-safety/api/v1/check/pool \
  -H 'Content-Type: application/json' \
  -d '{"poolId":"0x5c3a8adf691173825d3fdf1cfdb64070618b1e60e0010bb1e4c3988d4446ae72"}'

HTTP 200 means the inspection returned a result, not that trading is safe. Unknown response schemas, errors, timeouts and expired evidence all mean stop. Do not treat WARN or UNPRICEABLE as approval. Keep your own signer and trading policy outside this service.

Semantic references: pinned legacy V4 router interface and actions. These explain the ABI, not equivalence of Robinhood deployed bytecode. Operator attestation must establish that separately.