Server definition
- Hash
- sha256:f3c4cbb50c64e5a6122a114602e1d63f4b91682ccc8b0f3f4706a6a2e219ac3a
- What it is
- What a remote MCP server returned when asked what it offers: 11 tools
The blob, as servednamed by its sha256
{
"instructions": "Routescore is a read-only pre-sign evidence layer for onchain agents — one\nelement of the agentic execution stack, not the executor and not a guarantee.\n\nPrimary tool: check_swap. Call it AFTER you have constructed a proposed swap\nand BEFORE you sign it or hand it to an executor. Given the notional, chain,\nand (optionally) the route and token, it returns a clear / caution /\nunsupported verdict with machine-readable reasons and caveats, and persists a\nhash-verifiable record of exactly what was known before signing.\n\ncheck_swap never signs, executes, routes funds, or custodies assets — the\ncalling agent still decides whether to proceed. Relay the verdict, reasons,\nand caveats to the user or downstream executor verbatim: do not paraphrase\naway a caution or drop a caveat. Treat a verdict of \"unsupported\" as\nfirst-class evidence (\"not evaluated\"), not an error to retry around.\n\nEvery check_swap call returns a record_id; use get_preflight_record to fetch\nthat durable, offline-re-verifiable evidence later. Use whoami to confirm the\nconfigured key and its tier.\n\nUse record_execution only for complete execution_record.v1 documents that\nalready describe a transaction executed elsewhere. Supply a stable\nidempotency_key for exact retries. It is Pro-tier, personal-account scoped,\nappend-only evidence intake; it never accepts signing material or executes.\n\nUse review_execution only for an execution_record.v1 already stored under\nthe configured key owner. Relay its evidence coverage, unavailable fields,\nexceptions, and caveats; never present it as advice or certification.\n\nreview_public_transaction is a DEV-only contract-discovery tool and is\ndisabled against production. On an explicitly enabled non-production server,\nuse it for an arbitrary public Ethereum transaction hash that is not already\na stored execution_record.v1. It performs open-world\nevidence acquisition and returns the separate tenant-free\npublic_transaction_review.v1 contract. Missing route, amount, fee, benchmark,\ndropped-state, and historical-reorg evidence remains explicitly unavailable.\n\ncheck_swap is free on any tier (a free key runs 100 pre-sign checks/day). The\nquote_* and simulate_scenario tools return MODELED premium estimates —\ndecision support only, never a live cover, insurance, or offer — and require\nthe Power tier.",
"tools": [
{
"description": "CALL THIS BEFORE SIGNING AN ONCHAIN SWAP. Read-only pre-sign evidence check: given notional, chain, and an optional route and token, it returns a modeled route-quality grade, price-impact / slippage band, modeled MEV/execution exposure where observable, and a token registry read (recognized vs unverified), composed into a clear / caution / unsupported verdict with machine-readable reasons and caveats. Point-in-time decision support: it does not execute, route funds, sign, or promise an outcome — the agent still decides. Recognition is not safety, sellability, redemption, rights, liquidity, or investment-quality verification; unverified tokens, unknown order flow, and uncalibrated sequencer ordering downgrade the verdict rather than reading as safe. Relay the verdict, reasons, and caveats verbatim.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"chain_id": {
"description": "Chain ID. 1 = Ethereum (default), 4663 = Robinhood Chain.",
"exclusiveMinimum": 0,
"type": "integer"
},
"notional_usd": {
"description": "Trade size in USD.",
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"type": "number"
},
"route": {
"description": "Route id to score, e.g. 'uniswap-v3-rho'. Omit to score the chain's default public route.",
"type": "string"
},
"slippage_allowance_bps": {
"description": "Slippage allowance in bps. Default 50.",
"maximum": 10000,
"minimum": 0,
"type": "number"
},
"token_in": {
"description": "Token being sold (address or symbol).",
"type": "string"
},
"token_out": {
"description": "Token being received (address or symbol) — checked against Routescore's recognized-token registry (recognized vs unverified). RHC tokenized stock/ETF address-level recognition uses the Routescore registry contract address; symbol-only input is downgraded to unverified. Symbol-only recognition is not contract verification. Recognition is not a safety, sellability, rights, redemption, liquidity, or investment-quality verdict; unverified means Routescore has not confirmed the token.",
"type": "string"
}
},
"required": [
"notional_usd"
],
"type": "object"
},
"name": "check_swap",
"outputSchema": {
"additionalProperties": true,
"properties": {
"caveats": {
"description": "Caveat sentences to relay verbatim.",
"items": {
"type": "string"
},
"type": "array"
},
"chain": {
"additionalProperties": true,
"description": "Resolved chain (chainId, name, supportLevel), or null.",
"type": [
"object",
"null"
]
},
"commercial_disclosure": {
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
"type": "object"
},
"confidence_band": {
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
"type": "object"
},
"evidence_bundle_id": {
"description": "Id of the evidence bundle; null when not persisted.",
"type": [
"string",
"null"
]
},
"market_regime": {
"additionalProperties": true,
"description": "Reference-market open/closed regime evidence (additive).",
"type": "object"
},
"methodology_version": {
"description": "Methodology-version string, e.g. routescore.public_api.v1.",
"type": "string"
},
"reasons": {
"description": "Stable reason codes; open vocabulary — tolerate unknown codes.",
"items": {
"type": "string"
},
"type": "array"
},
"record_id": {
"description": "Id of the persisted evidence record; null if persistence failed.",
"type": [
"string",
"null"
]
},
"record_output_hash": {
"description": "sha256:<hex> content hash of the record; null if persistence failed.",
"type": [
"string",
"null"
]
},
"reference_price": {
"additionalProperties": true,
"description": "Basis-regime gap-state evidence for tokenized assets (additive).",
"type": "object"
},
"route": {
"additionalProperties": true,
"description": "Scored route with modeled grade / quality / leak / slippage fields, or null.",
"type": [
"object",
"null"
]
},
"score_state": {
"description": "Overall state of the response.",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"type": "string"
},
"source_freshness": {
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
"type": "object"
},
"token_safety": {
"additionalProperties": true,
"description": "Registry recognition read: recognized vs unverified, with flags and caveats. Recognition only.",
"type": "object"
},
"trust": {
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
"type": "object"
},
"verdict": {
"description": "Advisory pre-sign verdict.",
"enum": [
"clear",
"caution",
"unsupported"
],
"type": "string"
}
},
"type": "object"
}
},
{
"description": "Fetch the latest public MEV-detector run manifest: the detector version hash and the eligible pool/token universe it was committed to. Use to verify what the detector covers.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_detector_manifest",
"outputSchema": {
"additionalProperties": true,
"properties": {
"caveats": {
"description": "Caveat sentences to relay verbatim.",
"items": {
"type": "string"
},
"type": "array"
},
"commercial_disclosure": {
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
"type": "object"
},
"confidence_band": {
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
"type": "object"
},
"detector_version_hash": {
"description": "SHA-256 of the detector + pricing source.",
"type": "string"
},
"eligible_universe": {
"additionalProperties": true,
"description": "The pinned pool / token universe scanned.",
"type": "object"
},
"generated_at": {
"description": "ISO-8601 generation timestamp.",
"type": "string"
},
"methodology_version": {
"description": "Methodology-version string, e.g. routescore.public_api.v1.",
"type": "string"
},
"score_state": {
"description": "Overall state of the response.",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"type": "string"
},
"source_freshness": {
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
"type": "object"
},
"trust": {
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
"type": "object"
}
},
"type": "object"
}
},
{
"description": "Retrieve the durable evidence record a prior check_swap call persisted — the \"record\" leg of plan → preflight → execute → record. Fetch one record by the record_id that check_swap returned. Owner-scoped: the configured key only ever sees records belonging to its own account. The record embeds the evaluated check_swap response payload (including its evidence_bundle_id, before the additive record_id / record_output_hash linkage fields) plus a canonical-JSON SHA-256 integrity hash (record_id and recorded_at excluded) so the evidence can be re-verified offline, and includes the stored evidence bundle. Read-only evidence: record creation rejects known execution-material keys (calldata, transaction payloads, signing material) and drops identity-shaped labels from the actor context.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"record_id": {
"description": "The record id returned by check_swap (its record_id field).",
"minLength": 1,
"type": "string"
}
},
"required": [
"record_id"
],
"type": "object"
},
"name": "get_preflight_record",
"outputSchema": {
"additionalProperties": true,
"properties": {
"caveats": {
"description": "Caveat sentences to relay verbatim.",
"items": {
"type": "string"
},
"type": "array"
},
"commercial_disclosure": {
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
"type": "object"
},
"confidence_band": {
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
"type": "object"
},
"evidence_bundle": {
"additionalProperties": true,
"description": "The stored evidence bundle, or null when none was captured.",
"type": [
"object",
"null"
]
},
"methodology_version": {
"description": "Methodology-version string, e.g. routescore.public_api.v1.",
"type": "string"
},
"record": {
"additionalProperties": true,
"description": "The full routescore.preflight_record.v0 document (schema, record_id, recorded_at, request, actor, policy_ref, response, integrity).",
"type": "object"
},
"score_state": {
"description": "Overall state of the response.",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"type": "string"
},
"source_freshness": {
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
"type": "object"
},
"trust": {
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
"type": "object"
}
},
"type": "object"
}
},
{
"description": "Modeled premium estimate for cross-chain bridge execution failure against a modeled SLA expectation. Returns a modeled premium and conditions — not a live cover, refund, or premium-acceptance offer.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"bridge": {
"description": "Bridge name, e.g. 'across'.",
"type": "string"
},
"bridge_risk_score": {
"description": "Bridge risk score 0–1. Default 0.05.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"dest_chain_id": {
"description": "Destination chain ID. Default 8453 (Base).",
"type": "integer"
},
"notional_usd": {
"description": "Amount bridged in USD.",
"exclusiveMinimum": 0,
"type": "number"
},
"sla_seconds": {
"description": "Expected delivery SLA in seconds. Default 60.",
"exclusiveMinimum": 0,
"type": "integer"
},
"source_chain_id": {
"description": "Source chain ID. Default 1.",
"type": "integer"
}
},
"required": [
"notional_usd"
],
"type": "object"
},
"name": "quote_bridge_refund",
"outputSchema": {
"additionalProperties": true,
"properties": {
"allowed": {
"description": "Whether the engine produced a modeled quote.",
"type": "boolean"
},
"bond_id": {
"type": "string"
},
"caveats": {
"description": "Caveat sentences to relay verbatim.",
"items": {
"type": "string"
},
"type": "array"
},
"commercial_disclosure": {
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
"type": "object"
},
"conditions": {
"additionalProperties": true,
"description": "Engine-defined conditions.",
"type": "object"
},
"confidence_band": {
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
"type": "object"
},
"cvar95_loss_bps": {
"description": "Modeled CVaR-95 loss in bps.",
"type": "number"
},
"expected_loss_bps": {
"description": "Modeled expected loss in bps.",
"type": "number"
},
"expected_outcome": {
"additionalProperties": true,
"description": "Engine-defined expected-outcome payload.",
"type": "object"
},
"expires_at": {
"description": "ISO-8601 expiry timestamp, or null.",
"type": [
"string",
"null"
]
},
"issued_at": {
"description": "ISO-8601 issue timestamp.",
"type": "string"
},
"margin_bps": {
"description": "Modeled margin component in bps.",
"type": "number"
},
"methodology_version": {
"description": "Methodology-version string, e.g. routescore.public_api.v1.",
"type": "string"
},
"no_quote_reason": {
"description": "Reason a modeled quote was withheld, or null.",
"type": [
"string",
"null"
]
},
"premium_amount_usd": {
"description": "Modeled premium in USD.",
"type": "number"
},
"premium_bps": {
"description": "Modeled premium in bps.",
"type": "number"
},
"product": {
"type": "string"
},
"reason_codes": {
"description": "Stable reason codes.",
"items": {
"type": "string"
},
"type": "array"
},
"score_state": {
"description": "Overall state of the response.",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"type": "string"
},
"source_freshness": {
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
"type": "object"
},
"trust": {
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
"type": "object"
}
},
"type": "object"
}
},
{
"description": "Modeled premium estimate for slashing risk on a liquid-restaking-token (LRT) position given its AVS exposure. Returns a modeled premium and slashing bounds — not a live cover offer.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"correlation_max_overlap": {
"description": "Max correlation overlap 0–1. Default 0.5.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"cover_duration_weeks": {
"description": "Modeled cover duration in weeks. Default 12.",
"maximum": 520,
"minimum": 1,
"type": "integer"
},
"covered_eth_amount": {
"description": "ETH amount used as the modeled position size.",
"exclusiveMinimum": 0,
"type": "number"
},
"lrt_token": {
"description": "LRT token, e.g. 'weETH'.",
"type": "string"
},
"underlying_avs_exposure": {
"description": "AVS exposure weights, e.g. { \"EigenDA\": 1.0 }.",
"type": "object"
}
},
"required": [
"covered_eth_amount"
],
"type": "object"
},
"name": "quote_lrt_slashing",
"outputSchema": {
"additionalProperties": true,
"properties": {
"allowed": {
"description": "Whether the engine produced a modeled quote.",
"type": "boolean"
},
"bond_id": {
"type": "string"
},
"caveats": {
"description": "Caveat sentences to relay verbatim.",
"items": {
"type": "string"
},
"type": "array"
},
"commercial_disclosure": {
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
"type": "object"
},
"conditions": {
"additionalProperties": true,
"description": "Engine-defined conditions.",
"type": "object"
},
"confidence_band": {
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
"type": "object"
},
"cvar95_loss_bps": {
"description": "Modeled CVaR-95 loss in bps.",
"type": "number"
},
"expected_loss_bps": {
"description": "Modeled expected loss in bps.",
"type": "number"
},
"expected_outcome": {
"additionalProperties": true,
"description": "Engine-defined expected-outcome payload.",
"type": "object"
},
"expires_at": {
"description": "ISO-8601 expiry timestamp, or null.",
"type": [
"string",
"null"
]
},
"issued_at": {
"description": "ISO-8601 issue timestamp.",
"type": "string"
},
"margin_bps": {
"description": "Modeled margin component in bps.",
"type": "number"
},
"methodology_version": {
"description": "Methodology-version string, e.g. routescore.public_api.v1.",
"type": "string"
},
"no_quote_reason": {
"description": "Reason a modeled quote was withheld, or null.",
"type": [
"string",
"null"
]
},
"premium_amount_usd": {
"description": "Modeled premium in USD.",
"type": "number"
},
"premium_bps": {
"description": "Modeled premium in bps.",
"type": "number"
},
"product": {
"type": "string"
},
"reason_codes": {
"description": "Stable reason codes.",
"items": {
"type": "string"
},
"type": "array"
},
"score_state": {
"description": "Overall state of the response.",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"type": "string"
},
"source_freshness": {
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
"type": "object"
},
"trust": {
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
"type": "object"
}
},
"type": "object"
}
},
{
"description": "Modeled premium estimate for MEV-sandwich exposure on a swap. Returns a modeled premium (bps + USD), expected/CVaR loss, and conditions. Point-in-time decision support before routing a trade — not a live cover, insurance, or premium-acceptance offer.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"asset_pair": {
"description": "Asset pair, e.g. 'USDC/ETH'. Default USDC/ETH.",
"type": "string"
},
"chain_id": {
"description": "Chain ID (1 = Ethereum). Default 1.",
"type": "integer"
},
"historical_sandwich_freq": {
"description": "Historical sandwich frequency as a 0–1 fraction. Default 0.012.",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"notional_usd": {
"description": "Trade size in USD.",
"exclusiveMinimum": 0,
"type": "number"
},
"refund_threshold_bps": {
"description": "Modeled refund threshold in bps. Default 50.",
"type": "number"
},
"route": {
"description": "Execution route, e.g. 'uniswap-v3'.",
"type": "string"
},
"slippage_allowance_bps": {
"description": "Slippage allowance in bps. Default 50.",
"type": "number"
}
},
"required": [
"notional_usd"
],
"type": "object"
},
"name": "quote_mev_cover",
"outputSchema": {
"additionalProperties": true,
"properties": {
"allowed": {
"description": "Whether the engine produced a modeled quote.",
"type": "boolean"
},
"bond_id": {
"type": "string"
},
"caveats": {
"description": "Caveat sentences to relay verbatim.",
"items": {
"type": "string"
},
"type": "array"
},
"commercial_disclosure": {
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
"type": "object"
},
"conditions": {
"additionalProperties": true,
"description": "Engine-defined conditions.",
"type": "object"
},
"confidence_band": {
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
"type": "object"
},
"cvar95_loss_bps": {
"description": "Modeled CVaR-95 loss in bps.",
"type": "number"
},
"expected_loss_bps": {
"description": "Modeled expected loss in bps.",
"type": "number"
},
"expected_outcome": {
"additionalProperties": true,
"description": "Engine-defined expected-outcome payload.",
"type": "object"
},
"expires_at": {
"description": "ISO-8601 expiry timestamp, or null.",
"type": [
"string",
"null"
]
},
"issued_at": {
"description": "ISO-8601 issue timestamp.",
"type": "string"
},
"margin_bps": {
"description": "Modeled margin component in bps.",
"type": "number"
},
"methodology_version": {
"description": "Methodology-version string, e.g. routescore.public_api.v1.",
"type": "string"
},
"no_quote_reason": {
"description": "Reason a modeled quote was withheld, or null.",
"type": [
"string",
"null"
]
},
"premium_amount_usd": {
"description": "Modeled premium in USD.",
"type": "number"
},
"premium_bps": {
"description": "Modeled premium in bps.",
"type": "number"
},
"product": {
"type": "string"
},
"reason_codes": {
"description": "Stable reason codes.",
"items": {
"type": "string"
},
"type": "array"
},
"score_state": {
"description": "Overall state of the response.",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"type": "string"
},
"source_freshness": {
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
"type": "object"
},
"trust": {
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
"type": "object"
}
},
"type": "object"
}
},
{
"description": "Persist 1-100 already-built execution_record.v1 documents as immutable, personal-account post-trade evidence. Requires a stable idempotency_key; an exact replay returns the original result and reuse with different content fails closed. Pro tier, owner-scoped, and bounded by the MCP transport byte limit. This tool never accepts calldata, signing material, routes funds, executes a transaction, applies reviewer overrides, or exposes another tenant. Invalid rows are recorded only as redacted rejection reasons and are never echoed.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"idempotency_key": {
"description": "Stable caller key for this exact records array. Reuse it only for an exact retry.",
"maxLength": 200,
"minLength": 1,
"pattern": "^(?=.*\\S)[^\\u0000-\\u001F\\u007F]+$",
"type": "string"
},
"records": {
"description": "One to 100 complete routescore.execution_record.v1 documents. The MCP argument envelope is additionally capped at 32 KiB.",
"items": {
"additionalProperties": true,
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
}
},
"required": [
"idempotency_key",
"records"
],
"type": "object"
},
"name": "record_execution",
"outputSchema": {
"additionalProperties": true,
"properties": {
"caveats": {
"description": "Caveat sentences to relay verbatim.",
"items": {
"type": "string"
},
"type": "array"
},
"commercial_disclosure": {
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
"type": "object"
},
"confidence_band": {
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
"type": "object"
},
"intake_id": {
"format": "uuid",
"type": "string"
},
"methodology_version": {
"description": "Methodology-version string, e.g. routescore.public_api.v1.",
"type": "string"
},
"records": {
"items": {
"additionalProperties": false,
"properties": {
"index": {
"minimum": 0,
"type": "integer"
},
"record_id": {
"format": "uuid",
"type": "string"
},
"record_output_hash": {
"pattern": "^sha256:[0-9a-f]{64}$",
"type": "string"
},
"reused_existing_record": {
"type": "boolean"
},
"subject_id": {
"format": "uuid",
"type": "string"
}
},
"required": [
"index",
"record_id",
"subject_id",
"record_output_hash",
"reused_existing_record"
],
"type": "object"
},
"type": "array"
},
"rejected": {
"items": {
"additionalProperties": false,
"properties": {
"index": {
"minimum": 0,
"type": "integer"
},
"reason": {
"type": "string"
}
},
"required": [
"index",
"reason"
],
"type": "object"
},
"type": "array"
},
"schema": {
"const": "routescore.execution_intake_result.v1",
"type": "string"
},
"score_state": {
"description": "Overall state of the response.",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"type": "string"
},
"source_freshness": {
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
"type": "object"
},
"summary": {
"additionalProperties": false,
"properties": {
"accepted": {
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"received": {
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"rejected": {
"maximum": 100,
"minimum": 0,
"type": "integer"
}
},
"required": [
"received",
"accepted",
"rejected"
],
"type": "object"
},
"trust": {
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
"type": "object"
}
},
"required": [
"schema",
"intake_id",
"records",
"rejected",
"summary"
],
"type": "object"
}
},
{
"description": "Review one stored execution_record.v1 by record_id. Authenticated and personal-account owner-scoped: another account’s id is indistinguishable from a missing id. Returns the deterministic review_execution.v1 evidence coverage, exceptions, unavailable-evidence register, caveats, and canonical hash. Read-only retrospective decision support only: it does not query arbitrary public transactions, accept reviewer overrides, certify best execution or compliance, give advice, or expose admin actions.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"record_id": {
"description": "UUID of an execution_record.v1 already stored under the configured key’s personal account.",
"format": "uuid",
"maxLength": 36,
"minLength": 36,
"type": "string"
}
},
"required": [
"record_id"
],
"type": "object"
},
"name": "review_execution",
"outputSchema": {
"additionalProperties": true,
"properties": {
"caveats": {
"description": "Caveat sentences to relay verbatim.",
"items": {
"type": "string"
},
"type": "array"
},
"commercial_disclosure": {
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
"type": "object"
},
"confidence_band": {
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
"type": "object"
},
"methodology_version": {
"description": "Methodology-version string, e.g. routescore.public_api.v1.",
"type": "string"
},
"review": {
"additionalProperties": false,
"description": "Deterministic routescore.review_execution.v1 result. It is retrospective decision support, not advice or a best-execution certification.",
"properties": {
"caveats": {
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
},
"conclusions": {
"description": "The fixed v1 coverage register. Every conclusion names its evidence class, source refs, and input fields.",
"items": {
"additionalProperties": false,
"properties": {
"details": {},
"evidence": {
"additionalProperties": false,
"properties": {
"evidence_class": {
"enum": [
"measured",
"calculated",
"modeled",
"unavailable"
],
"type": "string"
},
"input_fields": {
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
},
"source_refs": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"evidence_class",
"source_refs",
"input_fields"
],
"type": "object"
},
"id": {
"type": "string"
},
"statement": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"id",
"status",
"statement",
"evidence",
"details"
],
"type": "object"
},
"maxItems": 10,
"minItems": 10,
"type": "array"
},
"exception_flags": {
"items": {
"enum": [
"receipt_reverted",
"transaction_dropped",
"finality_reorged"
],
"type": "string"
},
"type": "array"
},
"input": {
"additionalProperties": false,
"properties": {
"chain_id": {
"minimum": 1,
"type": "integer"
},
"evidence_hash": {
"pattern": "^sha256:[0-9a-f]{64}$",
"type": "string"
},
"execution_record_id": {
"format": "uuid",
"type": "string"
},
"execution_record_revision": {
"minimum": 1,
"type": "integer"
},
"execution_record_schema": {
"const": "routescore.execution_record.v1",
"type": "string"
},
"record_output_hash": {
"pattern": "^sha256:[0-9a-f]{64}$",
"type": "string"
},
"tx_hash": {
"pattern": "^0x[0-9a-fA-F]{64}$",
"type": "string"
}
},
"required": [
"execution_record_id",
"execution_record_revision",
"execution_record_schema",
"evidence_hash",
"record_output_hash",
"chain_id",
"tx_hash"
],
"type": "object"
},
"integrity": {
"additionalProperties": false,
"properties": {
"hash_algo": {
"const": "sha256",
"type": "string"
},
"review_output_hash": {
"pattern": "^sha256:[0-9a-f]{64}$",
"type": "string"
},
"verification": {
"type": "string"
}
},
"required": [
"hash_algo",
"review_output_hash",
"verification"
],
"type": "object"
},
"schema": {
"const": "routescore.review_execution.v1",
"type": "string"
},
"scope": {
"additionalProperties": false,
"description": "Personal-account scope copied from the owner-scoped record.",
"properties": {
"kind": {
"const": "user",
"type": "string"
},
"owner_user_id": {
"format": "uuid",
"type": "string"
},
"workspace_id": {
"type": "null"
}
},
"required": [
"kind",
"owner_user_id",
"workspace_id"
],
"type": "object"
},
"state": {
"enum": [
"reviewed",
"incomplete",
"adverse",
"unsupported",
"exception"
],
"type": "string"
},
"unavailable_evidence": {
"description": "Explicit gap register; missing evidence is never inferred or imputed.",
"items": {
"additionalProperties": false,
"properties": {
"field": {
"type": "string"
},
"reason": {
"type": "string"
},
"source_refs": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"field",
"reason",
"source_refs"
],
"type": "object"
},
"type": "array"
},
"version": {
"const": "review_execution.v1",
"type": "string"
}
},
"required": [
"schema",
"version",
"scope",
"input",
"state",
"exception_flags",
"conclusions",
"unavailable_evidence",
"caveats",
"integrity"
],
"type": "object"
},
"score_state": {
"description": "Overall state of the response.",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"type": "string"
},
"source_freshness": {
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
"type": "object"
},
"trust": {
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
"type": "object"
}
},
"required": [
"review"
],
"type": "object"
}
},
{
"description": "DEV-ONLY CONTRACT DISCOVERY; DISABLED AGAINST PRODUCTION. On an explicitly enabled non-production server, review one arbitrary public Ethereum transaction by transaction hash. This is separate from review_execution: it does not read an owner-scoped stored execution_record.v1 and never exposes tenant, reviewer, override, or administrative fields. Returns the deterministic tenant-free public_transaction_review.v1 coverage register, conclusions, explicit gap register, source provenance, caveats, and canonical hash. Receipt, block, index, and gas facts are measured; gas cost and point-in-time confirmation depth are calculated. Venue is unavailable in this endpoint until a server-owned verified registry adapter exists. Route, amounts, protocol fee, arrival price, feasible-route benchmark, dropped status, and historical reorg remain unavailable unless the public contract can support them. Read-only retrospective decision support only; it does not certify best execution or compliance and does not give advice.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"chain_id": {
"const": 1,
"description": "Ethereum mainnet chain id. Public transaction review currently accepts only 1.",
"maximum": 1,
"minimum": 1,
"type": "integer"
},
"tx_hash": {
"description": "One public Ethereum 32-byte transaction hash.",
"maxLength": 66,
"minLength": 66,
"pattern": "^0x[0-9a-fA-F]{64}$",
"type": "string"
}
},
"required": [
"chain_id",
"tx_hash"
],
"type": "object"
},
"name": "review_public_transaction",
"outputSchema": {
"additionalProperties": true,
"properties": {
"caveats": {
"description": "Caveat sentences to relay verbatim.",
"items": {
"type": "string"
},
"type": "array"
},
"commercial_disclosure": {
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
"type": "object"
},
"confidence_band": {
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
"type": "object"
},
"methodology_version": {
"description": "Methodology-version string, e.g. routescore.public_api.v1.",
"type": "string"
},
"review": {
"additionalProperties": false,
"description": "Tenant-free deterministic routescore.public_transaction_review.v1 result from normalized public Ethereum evidence.",
"properties": {
"caveats": {
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
},
"conclusions": {
"description": "Fixed public-review conclusions with evidence class, source refs, input fields, and explicit gaps.",
"items": {
"additionalProperties": false,
"properties": {
"details": {
"additionalProperties": true,
"type": "object"
},
"evidence": {
"additionalProperties": false,
"properties": {
"evidence_class": {
"enum": [
"measured",
"calculated",
"unavailable"
],
"type": "string"
},
"input_fields": {
"items": {
"type": "string"
},
"type": "array"
},
"source_refs": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"evidence_class",
"source_refs",
"input_fields"
],
"type": "object"
},
"id": {
"type": "string"
},
"statement": {
"type": "string"
},
"status": {
"enum": [
"observed",
"calculated",
"pending",
"exception",
"unavailable"
],
"type": "string"
}
},
"required": [
"id",
"status",
"statement",
"evidence",
"details"
],
"type": "object"
},
"maxItems": 10,
"minItems": 10,
"type": "array"
},
"coverage": {
"description": "Fixed evidence-coverage register; unavailable public facts remain explicit.",
"items": {
"additionalProperties": false,
"properties": {
"evidence": {
"additionalProperties": false,
"properties": {
"evidence_class": {
"enum": [
"measured",
"calculated",
"unavailable"
],
"type": "string"
},
"input_fields": {
"items": {
"type": "string"
},
"type": "array"
},
"source_refs": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"evidence_class",
"source_refs",
"input_fields"
],
"type": "object"
},
"id": {
"type": "string"
},
"reason": {
"type": [
"string",
"null"
]
},
"status": {
"enum": [
"available",
"unavailable"
],
"type": "string"
}
},
"required": [
"id",
"status",
"evidence",
"reason"
],
"type": "object"
},
"maxItems": 17,
"minItems": 17,
"type": "array"
},
"exception_flags": {
"items": {
"enum": [
"receipt_reverted"
],
"type": "string"
},
"type": "array"
},
"gap_register": {
"description": "Unavailable route, amount, fee, price, benchmark, dropped-state, reorg-history, and optional venue evidence.",
"items": {
"additionalProperties": false,
"properties": {
"field": {
"type": "string"
},
"reason": {
"type": "string"
},
"source_refs": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"field",
"reason",
"source_refs"
],
"type": "object"
},
"type": "array"
},
"input": {
"additionalProperties": false,
"properties": {
"chain_id": {
"const": 1,
"type": "integer"
},
"input_evidence_hash": {
"pattern": "^sha256:[0-9a-f]{64}$",
"type": "string"
},
"observed_at": {
"format": "date-time",
"type": "string"
},
"tx_hash": {
"pattern": "^0x[0-9a-f]{64}$",
"type": "string"
}
},
"required": [
"chain_id",
"tx_hash",
"observed_at",
"input_evidence_hash"
],
"type": "object"
},
"integrity": {
"additionalProperties": false,
"properties": {
"hash_algo": {
"const": "sha256",
"type": "string"
},
"review_output_hash": {
"pattern": "^sha256:[0-9a-f]{64}$",
"type": "string"
},
"verification": {
"type": "string"
}
},
"required": [
"hash_algo",
"review_output_hash",
"verification"
],
"type": "object"
},
"schema": {
"const": "routescore.public_transaction_review.v1",
"type": "string"
},
"sources": {
"items": {
"additionalProperties": false,
"properties": {
"content_hash": {
"pattern": "^sha256:[0-9a-f]{64}$",
"type": "string"
},
"source_kind": {
"enum": [
"ethereum_receipt",
"ethereum_canonical_head",
"venue_registry_match"
],
"type": "string"
},
"source_ref": {
"type": "string"
},
"supports": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"source_kind",
"source_ref",
"content_hash",
"supports"
],
"type": "object"
},
"type": "array"
},
"state": {
"enum": [
"incomplete",
"exception"
],
"type": "string"
},
"version": {
"const": "public_transaction_review.v1",
"type": "string"
}
},
"required": [
"schema",
"version",
"input",
"state",
"exception_flags",
"coverage",
"conclusions",
"gap_register",
"sources",
"caveats",
"integrity"
],
"type": "object"
},
"score_state": {
"description": "Overall state of the response.",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"type": "string"
},
"source_freshness": {
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
"type": "object"
},
"trust": {
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
"type": "object"
}
},
"required": [
"review"
],
"type": "object"
}
},
{
"description": "Run a what-if Monte Carlo: model expected premium vs expected refund/loss over a horizon, given assumptions about sandwich frequency, average loss, and deductible. Returns a narrative + distribution.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"avg_loss_bps": {
"description": "Average sandwich loss in bps. Default 40.",
"minimum": 0,
"type": "number"
},
"deductible_bps": {
"description": "Deductible in bps. Default 100.",
"minimum": 0,
"type": "number"
},
"horizon_days": {
"description": "Horizon in days (≈ swaps). Default 30.",
"maximum": 365,
"minimum": 1,
"type": "integer"
},
"notional_usd": {
"description": "Per-swap notional in USD.",
"exclusiveMinimum": 0,
"type": "number"
},
"sandwich_freq_pct": {
"description": "Sandwich frequency as a percentage 0–100. Default 1.2.",
"maximum": 100,
"minimum": 0,
"type": "number"
}
},
"required": [
"notional_usd"
],
"type": "object"
},
"name": "simulate_scenario",
"outputSchema": {
"additionalProperties": true,
"properties": {
"caveats": {
"description": "Caveat sentences to relay verbatim.",
"items": {
"type": "string"
},
"type": "array"
},
"commercial_disclosure": {
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
"type": "object"
},
"confidence_band": {
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
"type": "object"
},
"distribution": {
"description": "Loss-distribution histogram bins for charting.",
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
"expected_loss_usd": {
"description": "Modeled expected loss in USD over the horizon.",
"type": "number"
},
"expected_premium_usd": {
"description": "Modeled expected premium in USD over the horizon.",
"type": "number"
},
"expected_refund_usd": {
"description": "Modeled expected refund in USD over the horizon.",
"type": "number"
},
"loss_ratio_pct": {
"description": "Modeled loss ratio as a percentage.",
"type": "number"
},
"methodology_version": {
"description": "Methodology-version string, e.g. routescore.public_api.v1.",
"type": "string"
},
"narrative": {
"description": "Plain-language summary of the modeled scenario.",
"type": "string"
},
"score_state": {
"description": "Overall state of the response.",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"type": "string"
},
"source_freshness": {
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
"type": "object"
},
"trust": {
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
"type": "object"
}
},
"type": "object"
}
},
{
"description": "Confirm the configured API key works and report which plan tier it carries. Returns the owning account email and tier.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "whoami",
"outputSchema": {
"additionalProperties": true,
"properties": {
"authenticated": {
"description": "True when the key is valid.",
"type": "boolean"
},
"caveats": {
"description": "Caveat sentences to relay verbatim.",
"items": {
"type": "string"
},
"type": "array"
},
"check_swap_enabled": {
"description": "Whether the pre-sign check_swap endpoint is available (every tier).",
"type": "boolean"
},
"commercial_disclosure": {
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message).",
"type": "object"
},
"confidence_band": {
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated.",
"type": "object"
},
"email": {
"description": "The owning account email.",
"type": "string"
},
"methodology_version": {
"description": "Methodology-version string, e.g. routescore.public_api.v1.",
"type": "string"
},
"plan_includes_api": {
"description": "Back-compat alias for quote_api_enabled.",
"type": "boolean"
},
"quote_api_enabled": {
"description": "Whether the modeled-quote / scenario tools are available (Power only).",
"type": "boolean"
},
"score_state": {
"description": "Overall state of the response.",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"type": "string"
},
"source_freshness": {
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[]).",
"type": "object"
},
"tier": {
"description": "The owning account tier.",
"enum": [
"free",
"pro",
"power",
"team",
"dao"
],
"type": "string"
},
"trust": {
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only.",
"type": "object"
}
},
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:f3c4cbb50c64e5a6122a114602e1d63f4b91682ccc8b0f3f4706a6a2e219ac3a | sha256sum