Routescore
Read-only pre-sign evidence for onchain agents: route quality, MEV exposure, clear/caution verdict.
Should I use this
Quality & Safety
Findings (2)
- LOWin quote_mev_cover
- LOWin quote_lrt_slashing
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"@routescore/mcp"
]
}
}
}Runnable packages
0.3.5stdioRemote endpoints
https://www.routescore.io/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (11)
๐ดcheck_swap(notional_usd, chain_id, route, token_out, token_in, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"notional_usd": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000000,
"description": "Trade size in USD."
},
"chain_id": {
"type": "integer",
"exclusiveMinimum": 0,
"description": "Chain ID. 1 = Ethereum (default), 4663 = Robinhood Chain."
},
"route": {
"type": "string",
"description": "Route id to score, e.g. 'uniswap-v3-rho'. Omit to score the chain's default public route."
},
"token_out": {
"type": "string",
"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."
},
"token_in": {
"type": "string",
"description": "Token being sold (address or symbol)."
},
"slippage_allowance_bps": {
"type": "number",
"minimum": 0,
"maximum": 10000,
"description": "Slippage allowance in bps. Default 50."
}
},
"required": [
"notional_usd"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"verdict": {
"type": "string",
"enum": [
"clear",
"caution",
"unsupported"
],
"description": "Advisory pre-sign verdict."
},
"chain": {
"type": [
"object",
"null"
],
"additionalProperties": true,
"description": "Resolved chain (chainId, name, supportLevel), or null."
},
"route": {
"type": [
"object",
"null"
],
"additionalProperties": true,
"description": "Scored route with modeled grade / quality / leak / slippage fields, or null."
},
"token_safety": {
"type": "object",
"additionalProperties": true,
"description": "Registry recognition read: recognized vs unverified, with flags and caveats. Recognition only."
},
"reference_price": {
"type": "object",
"additionalProperties": true,
"description": "Basis-regime gap-state evidence for tokenized assets (additive)."
},
"market_regime": {
"type": "object",
"additionalProperties": true,
"description": "Reference-market open/closed regime evidence (additive)."
},
"reasons": {
"type": "array",
"items": {
"type": "string"
},
"description": "Stable reason codes; open vocabulary โ tolerate unknown codes."
},
"record_id": {
"type": [
"string",
"null"
],
"description": "Id of the persisted evidence record; null if persistence failed."
},
"evidence_bundle_id": {
"type": [
"string",
"null"
],
"description": "Id of the evidence bundle; null when not persisted."
},
"record_output_hash": {
"type": [
"string",
"null"
],
"description": "sha256:<hex> content hash of the record; null if persistence failed."
},
"score_state": {
"type": "string",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"description": "Overall state of the response."
},
"source_freshness": {
"type": "object",
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[])."
},
"methodology_version": {
"type": "string",
"description": "Methodology-version string, e.g. routescore.public_api.v1."
},
"confidence_band": {
"type": "object",
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated."
},
"caveats": {
"type": "array",
"items": {
"type": "string"
},
"description": "Caveat sentences to relay verbatim."
},
"commercial_disclosure": {
"type": "object",
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message)."
},
"trust": {
"type": "object",
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only."
}
},
"additionalProperties": true
}๐ขget_preflight_record(record_id)
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.
Input Schema
{
"type": "object",
"properties": {
"record_id": {
"type": "string",
"minLength": 1,
"description": "The record id returned by check_swap (its record_id field)."
}
},
"required": [
"record_id"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"record": {
"type": "object",
"additionalProperties": true,
"description": "The full routescore.preflight_record.v0 document (schema, record_id, recorded_at, request, actor, policy_ref, response, integrity)."
},
"evidence_bundle": {
"type": [
"object",
"null"
],
"additionalProperties": true,
"description": "The stored evidence bundle, or null when none was captured."
},
"score_state": {
"type": "string",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"description": "Overall state of the response."
},
"source_freshness": {
"type": "object",
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[])."
},
"methodology_version": {
"type": "string",
"description": "Methodology-version string, e.g. routescore.public_api.v1."
},
"confidence_band": {
"type": "object",
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated."
},
"caveats": {
"type": "array",
"items": {
"type": "string"
},
"description": "Caveat sentences to relay verbatim."
},
"commercial_disclosure": {
"type": "object",
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message)."
},
"trust": {
"type": "object",
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only."
}
},
"additionalProperties": true
}๐กrecord_execution(idempotency_key, records)
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.
Input Schema
{
"type": "object",
"properties": {
"idempotency_key": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^(?=.*\\S)[^\\u0000-\\u001F\\u007F]+$",
"description": "Stable caller key for this exact records array. Reuse it only for an exact retry."
},
"records": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "object",
"additionalProperties": true
},
"description": "One to 100 complete routescore.execution_record.v1 documents. The MCP argument envelope is additionally capped at 32 KiB."
}
},
"required": [
"idempotency_key",
"records"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"schema": {
"type": "string",
"const": "routescore.execution_intake_result.v1"
},
"intake_id": {
"type": "string",
"format": "uuid"
},
"records": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"index",
"record_id",
"subject_id",
"record_output_hash",
"reused_existing_record"
],
"properties": {
"index": {
"type": "integer",
"minimum": 0
},
"record_id": {
"type": "string",
"format": "uuid"
},
"subject_id": {
"type": "string",
"format": "uuid"
},
"record_output_hash": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
"reused_existing_record": {
"type": "boolean"
}
}
}
},
"rejected": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"index",
"reason"
],
"properties": {
"index": {
"type": "integer",
"minimum": 0
},
"reason": {
"type": "string"
}
}
}
},
"summary": {
"type": "object",
"additionalProperties": false,
"required": [
"received",
"accepted",
"rejected"
],
"properties": {
"received": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"accepted": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"rejected": {
"type": "integer",
"minimum": 0,
"maximum": 100
}
}
},
"score_state": {
"type": "string",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"description": "Overall state of the response."
},
"source_freshness": {
"type": "object",
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[])."
},
"methodology_version": {
"type": "string",
"description": "Methodology-version string, e.g. routescore.public_api.v1."
},
"confidence_band": {
"type": "object",
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated."
},
"caveats": {
"type": "array",
"items": {
"type": "string"
},
"description": "Caveat sentences to relay verbatim."
},
"commercial_disclosure": {
"type": "object",
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message)."
},
"trust": {
"type": "object",
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only."
}
},
"required": [
"schema",
"intake_id",
"records",
"rejected",
"summary"
],
"additionalProperties": true
}๐ขreview_execution(record_id)
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.
Input Schema
{
"type": "object",
"properties": {
"record_id": {
"type": "string",
"format": "uuid",
"minLength": 36,
"maxLength": 36,
"description": "UUID of an execution_record.v1 already stored under the configured keyโs personal account."
}
},
"required": [
"record_id"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"review": {
"type": "object",
"additionalProperties": false,
"required": [
"schema",
"version",
"scope",
"input",
"state",
"exception_flags",
"conclusions",
"unavailable_evidence",
"caveats",
"integrity"
],
"properties": {
"schema": {
"type": "string",
"const": "routescore.review_execution.v1"
},
"version": {
"type": "string",
"const": "review_execution.v1"
},
"scope": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"owner_user_id",
"workspace_id"
],
"properties": {
"kind": {
"type": "string",
"const": "user"
},
"owner_user_id": {
"type": "string",
"format": "uuid"
},
"workspace_id": {
"type": "null"
}
},
"description": "Personal-account scope copied from the owner-scoped record."
},
"input": {
"type": "object",
"additionalProperties": false,
"required": [
"execution_record_id",
"execution_record_revision",
"execution_record_schema",
"evidence_hash",
"record_output_hash",
"chain_id",
"tx_hash"
],
"properties": {
"execution_record_id": {
"type": "string",
"format": "uuid"
},
"execution_record_revision": {
"type": "integer",
"minimum": 1
},
"execution_record_schema": {
"type": "string",
"const": "routescore.execution_record.v1"
},
"evidence_hash": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
"record_output_hash": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
"chain_id": {
"type": "integer",
"minimum": 1
},
"tx_hash": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$"
}
}
},
"state": {
"type": "string",
"enum": [
"reviewed",
"incomplete",
"adverse",
"unsupported",
"exception"
]
},
"exception_flags": {
"type": "array",
"items": {
"type": "string",
"enum": [
"receipt_reverted",
"transaction_dropped",
"finality_reorged"
]
}
},
"conclusions": {
"type": "array",
"minItems": 10,
"maxItems": 10,
"description": "The fixed v1 coverage register. Every conclusion names its evidence class, source refs, and input fields.",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"status",
"statement",
"evidence",
"details"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string"
},
"statement": {
"type": "string"
},
"evidence": {
"type": "object",
"additionalProperties": false,
"required": [
"evidence_class",
"source_refs",
"input_fields"
],
"properties": {
"evidence_class": {
"type": "string",
"enum": [
"measured",
"calculated",
"modeled",
"unavailable"
]
},
"source_refs": {
"type": "array",
"items": {
"type": "string"
}
},
"input_fields": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
}
}
},
"details": {}
}
}
},
"unavailable_evidence": {
"type": "array",
"description": "Explicit gap register; missing evidence is never inferred or imputed.",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"field",
"reason",
"source_refs"
],
"properties": {
"field": {
"type": "string"
},
"reason": {
"type": "string"
},
"source_refs": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"caveats": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"integrity": {
"type": "object",
"additionalProperties": false,
"required": [
"hash_algo",
"review_output_hash",
"verification"
],
"properties": {
"hash_algo": {
"type": "string",
"const": "sha256"
},
"review_output_hash": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
"verification": {
"type": "string"
}
}
}
},
"description": "Deterministic routescore.review_execution.v1 result. It is retrospective decision support, not advice or a best-execution certification."
},
"score_state": {
"type": "string",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"description": "Overall state of the response."
},
"source_freshness": {
"type": "object",
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[])."
},
"methodology_version": {
"type": "string",
"description": "Methodology-version string, e.g. routescore.public_api.v1."
},
"confidence_band": {
"type": "object",
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated."
},
"caveats": {
"type": "array",
"items": {
"type": "string"
},
"description": "Caveat sentences to relay verbatim."
},
"commercial_disclosure": {
"type": "object",
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message)."
},
"trust": {
"type": "object",
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only."
}
},
"required": [
"review"
],
"additionalProperties": true
}๐ขreview_public_transaction(chain_id, tx_hash)
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.
Input Schema
{
"type": "object",
"properties": {
"chain_id": {
"type": "integer",
"const": 1,
"minimum": 1,
"maximum": 1,
"description": "Ethereum mainnet chain id. Public transaction review currently accepts only 1."
},
"tx_hash": {
"type": "string",
"minLength": 66,
"maxLength": 66,
"pattern": "^0x[0-9a-fA-F]{64}$",
"description": "One public Ethereum 32-byte transaction hash."
}
},
"required": [
"chain_id",
"tx_hash"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"review": {
"type": "object",
"additionalProperties": false,
"required": [
"schema",
"version",
"input",
"state",
"exception_flags",
"coverage",
"conclusions",
"gap_register",
"sources",
"caveats",
"integrity"
],
"properties": {
"schema": {
"type": "string",
"const": "routescore.public_transaction_review.v1"
},
"version": {
"type": "string",
"const": "public_transaction_review.v1"
},
"input": {
"type": "object",
"additionalProperties": false,
"required": [
"chain_id",
"tx_hash",
"observed_at",
"input_evidence_hash"
],
"properties": {
"chain_id": {
"type": "integer",
"const": 1
},
"tx_hash": {
"type": "string",
"pattern": "^0x[0-9a-f]{64}$"
},
"observed_at": {
"type": "string",
"format": "date-time"
},
"input_evidence_hash": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
}
}
},
"state": {
"type": "string",
"enum": [
"incomplete",
"exception"
]
},
"exception_flags": {
"type": "array",
"items": {
"type": "string",
"enum": [
"receipt_reverted"
]
}
},
"coverage": {
"type": "array",
"minItems": 17,
"maxItems": 17,
"description": "Fixed evidence-coverage register; unavailable public facts remain explicit.",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"status",
"evidence",
"reason"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"available",
"unavailable"
]
},
"evidence": {
"type": "object",
"additionalProperties": false,
"required": [
"evidence_class",
"source_refs",
"input_fields"
],
"properties": {
"evidence_class": {
"type": "string",
"enum": [
"measured",
"calculated",
"unavailable"
]
},
"source_refs": {
"type": "array",
"items": {
"type": "string"
}
},
"input_fields": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"reason": {
"type": [
"string",
"null"
]
}
}
}
},
"conclusions": {
"type": "array",
"minItems": 10,
"maxItems": 10,
"description": "Fixed public-review conclusions with evidence class, source refs, input fields, and explicit gaps.",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"status",
"statement",
"evidence",
"details"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"observed",
"calculated",
"pending",
"exception",
"unavailable"
]
},
"statement": {
"type": "string"
},
"evidence": {
"type": "object",
"additionalProperties": false,
"required": [
"evidence_class",
"source_refs",
"input_fields"
],
"properties": {
"evidence_class": {
"type": "string",
"enum": [
"measured",
"calculated",
"unavailable"
]
},
"source_refs": {
"type": "array",
"items": {
"type": "string"
}
},
"input_fields": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"details": {
"type": "object",
"additionalProperties": true
}
}
}
},
"gap_register": {
"type": "array",
"description": "Unavailable route, amount, fee, price, benchmark, dropped-state, reorg-history, and optional venue evidence.",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"field",
"reason",
"source_refs"
],
"properties": {
"field": {
"type": "string"
},
"reason": {
"type": "string"
},
"source_refs": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"sources": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"source_kind",
"source_ref",
"content_hash",
"supports"
],
"properties": {
"source_kind": {
"type": "string",
"enum": [
"ethereum_receipt",
"ethereum_canonical_head",
"venue_registry_match"
]
},
"source_ref": {
"type": "string"
},
"content_hash": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
"supports": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"caveats": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"integrity": {
"type": "object",
"additionalProperties": false,
"required": [
"hash_algo",
"review_output_hash",
"verification"
],
"properties": {
"hash_algo": {
"type": "string",
"const": "sha256"
},
"review_output_hash": {
"type": "string",
"pattern": "^sha256:[0-9a-f]{64}$"
},
"verification": {
"type": "string"
}
}
}
},
"description": "Tenant-free deterministic routescore.public_transaction_review.v1 result from normalized public Ethereum evidence."
},
"score_state": {
"type": "string",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"description": "Overall state of the response."
},
"source_freshness": {
"type": "object",
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[])."
},
"methodology_version": {
"type": "string",
"description": "Methodology-version string, e.g. routescore.public_api.v1."
},
"confidence_band": {
"type": "object",
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated."
},
"caveats": {
"type": "array",
"items": {
"type": "string"
},
"description": "Caveat sentences to relay verbatim."
},
"commercial_disclosure": {
"type": "object",
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message)."
},
"trust": {
"type": "object",
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only."
}
},
"required": [
"review"
],
"additionalProperties": true
}๐ขwhoami
Confirm the configured API key works and report which plan tier it carries. Returns the owning account email and tier.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"authenticated": {
"type": "boolean",
"description": "True when the key is valid."
},
"email": {
"type": "string",
"description": "The owning account email."
},
"tier": {
"type": "string",
"enum": [
"free",
"pro",
"power",
"team",
"dao"
],
"description": "The owning account tier."
},
"check_swap_enabled": {
"type": "boolean",
"description": "Whether the pre-sign check_swap endpoint is available (every tier)."
},
"quote_api_enabled": {
"type": "boolean",
"description": "Whether the modeled-quote / scenario tools are available (Power only)."
},
"plan_includes_api": {
"type": "boolean",
"description": "Back-compat alias for quote_api_enabled."
},
"score_state": {
"type": "string",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"description": "Overall state of the response."
},
"source_freshness": {
"type": "object",
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[])."
},
"methodology_version": {
"type": "string",
"description": "Methodology-version string, e.g. routescore.public_api.v1."
},
"confidence_band": {
"type": "object",
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated."
},
"caveats": {
"type": "array",
"items": {
"type": "string"
},
"description": "Caveat sentences to relay verbatim."
},
"commercial_disclosure": {
"type": "object",
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message)."
},
"trust": {
"type": "object",
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only."
}
},
"additionalProperties": true
}๐ขget_detector_manifest
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.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"detector_version_hash": {
"type": "string",
"description": "SHA-256 of the detector + pricing source."
},
"eligible_universe": {
"type": "object",
"additionalProperties": true,
"description": "The pinned pool / token universe scanned."
},
"generated_at": {
"type": "string",
"description": "ISO-8601 generation timestamp."
},
"score_state": {
"type": "string",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"description": "Overall state of the response."
},
"source_freshness": {
"type": "object",
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[])."
},
"methodology_version": {
"type": "string",
"description": "Methodology-version string, e.g. routescore.public_api.v1."
},
"confidence_band": {
"type": "object",
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated."
},
"caveats": {
"type": "array",
"items": {
"type": "string"
},
"description": "Caveat sentences to relay verbatim."
},
"commercial_disclosure": {
"type": "object",
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message)."
},
"trust": {
"type": "object",
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only."
}
},
"additionalProperties": true
}๐ขquote_mev_cover(notional_usd, asset_pair, route, chain_id, slippage_allowance_bps, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"notional_usd": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Trade size in USD."
},
"asset_pair": {
"type": "string",
"description": "Asset pair, e.g. 'USDC/ETH'. Default USDC/ETH."
},
"route": {
"type": "string",
"description": "Execution route, e.g. 'uniswap-v3'."
},
"chain_id": {
"type": "integer",
"description": "Chain ID (1 = Ethereum). Default 1."
},
"slippage_allowance_bps": {
"type": "number",
"description": "Slippage allowance in bps. Default 50."
},
"refund_threshold_bps": {
"type": "number",
"description": "Modeled refund threshold in bps. Default 50."
},
"historical_sandwich_freq": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Historical sandwich frequency as a 0โ1 fraction. Default 0.012."
}
},
"required": [
"notional_usd"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"allowed": {
"type": "boolean",
"description": "Whether the engine produced a modeled quote."
},
"bond_id": {
"type": "string"
},
"product": {
"type": "string"
},
"premium_bps": {
"type": "number",
"description": "Modeled premium in bps."
},
"premium_amount_usd": {
"type": "number",
"description": "Modeled premium in USD."
},
"expected_loss_bps": {
"type": "number",
"description": "Modeled expected loss in bps."
},
"cvar95_loss_bps": {
"type": "number",
"description": "Modeled CVaR-95 loss in bps."
},
"margin_bps": {
"type": "number",
"description": "Modeled margin component in bps."
},
"reason_codes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Stable reason codes."
},
"no_quote_reason": {
"type": [
"string",
"null"
],
"description": "Reason a modeled quote was withheld, or null."
},
"conditions": {
"type": "object",
"additionalProperties": true,
"description": "Engine-defined conditions."
},
"expected_outcome": {
"type": "object",
"additionalProperties": true,
"description": "Engine-defined expected-outcome payload."
},
"issued_at": {
"type": "string",
"description": "ISO-8601 issue timestamp."
},
"expires_at": {
"type": [
"string",
"null"
],
"description": "ISO-8601 expiry timestamp, or null."
},
"score_state": {
"type": "string",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"description": "Overall state of the response."
},
"source_freshness": {
"type": "object",
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[])."
},
"methodology_version": {
"type": "string",
"description": "Methodology-version string, e.g. routescore.public_api.v1."
},
"confidence_band": {
"type": "object",
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated."
},
"caveats": {
"type": "array",
"items": {
"type": "string"
},
"description": "Caveat sentences to relay verbatim."
},
"commercial_disclosure": {
"type": "object",
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message)."
},
"trust": {
"type": "object",
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only."
}
},
"additionalProperties": true
}๐ขquote_bridge_refund(notional_usd, bridge, source_chain_id, dest_chain_id, sla_seconds, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"notional_usd": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Amount bridged in USD."
},
"bridge": {
"type": "string",
"description": "Bridge name, e.g. 'across'."
},
"source_chain_id": {
"type": "integer",
"description": "Source chain ID. Default 1."
},
"dest_chain_id": {
"type": "integer",
"description": "Destination chain ID. Default 8453 (Base)."
},
"sla_seconds": {
"type": "integer",
"exclusiveMinimum": 0,
"description": "Expected delivery SLA in seconds. Default 60."
},
"bridge_risk_score": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Bridge risk score 0โ1. Default 0.05."
}
},
"required": [
"notional_usd"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"allowed": {
"type": "boolean",
"description": "Whether the engine produced a modeled quote."
},
"bond_id": {
"type": "string"
},
"product": {
"type": "string"
},
"premium_bps": {
"type": "number",
"description": "Modeled premium in bps."
},
"premium_amount_usd": {
"type": "number",
"description": "Modeled premium in USD."
},
"expected_loss_bps": {
"type": "number",
"description": "Modeled expected loss in bps."
},
"cvar95_loss_bps": {
"type": "number",
"description": "Modeled CVaR-95 loss in bps."
},
"margin_bps": {
"type": "number",
"description": "Modeled margin component in bps."
},
"reason_codes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Stable reason codes."
},
"no_quote_reason": {
"type": [
"string",
"null"
],
"description": "Reason a modeled quote was withheld, or null."
},
"conditions": {
"type": "object",
"additionalProperties": true,
"description": "Engine-defined conditions."
},
"expected_outcome": {
"type": "object",
"additionalProperties": true,
"description": "Engine-defined expected-outcome payload."
},
"issued_at": {
"type": "string",
"description": "ISO-8601 issue timestamp."
},
"expires_at": {
"type": [
"string",
"null"
],
"description": "ISO-8601 expiry timestamp, or null."
},
"score_state": {
"type": "string",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"description": "Overall state of the response."
},
"source_freshness": {
"type": "object",
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[])."
},
"methodology_version": {
"type": "string",
"description": "Methodology-version string, e.g. routescore.public_api.v1."
},
"confidence_band": {
"type": "object",
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated."
},
"caveats": {
"type": "array",
"items": {
"type": "string"
},
"description": "Caveat sentences to relay verbatim."
},
"commercial_disclosure": {
"type": "object",
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message)."
},
"trust": {
"type": "object",
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only."
}
},
"additionalProperties": true
}๐ขquote_lrt_slashing(covered_eth_amount, lrt_token, underlying_avs_exposure, correlation_max_overlap, cover_duration_weeks)
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.
Input Schema
{
"type": "object",
"properties": {
"covered_eth_amount": {
"type": "number",
"exclusiveMinimum": 0,
"description": "ETH amount used as the modeled position size."
},
"lrt_token": {
"type": "string",
"description": "LRT token, e.g. 'weETH'."
},
"underlying_avs_exposure": {
"type": "object",
"description": "AVS exposure weights, e.g. { \"EigenDA\": 1.0 }."
},
"correlation_max_overlap": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Max correlation overlap 0โ1. Default 0.5."
},
"cover_duration_weeks": {
"type": "integer",
"minimum": 1,
"maximum": 520,
"description": "Modeled cover duration in weeks. Default 12."
}
},
"required": [
"covered_eth_amount"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"allowed": {
"type": "boolean",
"description": "Whether the engine produced a modeled quote."
},
"bond_id": {
"type": "string"
},
"product": {
"type": "string"
},
"premium_bps": {
"type": "number",
"description": "Modeled premium in bps."
},
"premium_amount_usd": {
"type": "number",
"description": "Modeled premium in USD."
},
"expected_loss_bps": {
"type": "number",
"description": "Modeled expected loss in bps."
},
"cvar95_loss_bps": {
"type": "number",
"description": "Modeled CVaR-95 loss in bps."
},
"margin_bps": {
"type": "number",
"description": "Modeled margin component in bps."
},
"reason_codes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Stable reason codes."
},
"no_quote_reason": {
"type": [
"string",
"null"
],
"description": "Reason a modeled quote was withheld, or null."
},
"conditions": {
"type": "object",
"additionalProperties": true,
"description": "Engine-defined conditions."
},
"expected_outcome": {
"type": "object",
"additionalProperties": true,
"description": "Engine-defined expected-outcome payload."
},
"issued_at": {
"type": "string",
"description": "ISO-8601 issue timestamp."
},
"expires_at": {
"type": [
"string",
"null"
],
"description": "ISO-8601 expiry timestamp, or null."
},
"score_state": {
"type": "string",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"description": "Overall state of the response."
},
"source_freshness": {
"type": "object",
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[])."
},
"methodology_version": {
"type": "string",
"description": "Methodology-version string, e.g. routescore.public_api.v1."
},
"confidence_band": {
"type": "object",
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated."
},
"caveats": {
"type": "array",
"items": {
"type": "string"
},
"description": "Caveat sentences to relay verbatim."
},
"commercial_disclosure": {
"type": "object",
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message)."
},
"trust": {
"type": "object",
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only."
}
},
"additionalProperties": true
}๐ขsimulate_scenario(notional_usd, sandwich_freq_pct, avg_loss_bps, horizon_days, deductible_bps)
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.
Input Schema
{
"type": "object",
"properties": {
"notional_usd": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Per-swap notional in USD."
},
"sandwich_freq_pct": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Sandwich frequency as a percentage 0โ100. Default 1.2."
},
"avg_loss_bps": {
"type": "number",
"minimum": 0,
"description": "Average sandwich loss in bps. Default 40."
},
"horizon_days": {
"type": "integer",
"minimum": 1,
"maximum": 365,
"description": "Horizon in days (โ swaps). Default 30."
},
"deductible_bps": {
"type": "number",
"minimum": 0,
"description": "Deductible in bps. Default 100."
}
},
"required": [
"notional_usd"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"expected_premium_usd": {
"type": "number",
"description": "Modeled expected premium in USD over the horizon."
},
"expected_loss_usd": {
"type": "number",
"description": "Modeled expected loss in USD over the horizon."
},
"expected_refund_usd": {
"type": "number",
"description": "Modeled expected refund in USD over the horizon."
},
"loss_ratio_pct": {
"type": "number",
"description": "Modeled loss ratio as a percentage."
},
"narrative": {
"type": "string",
"description": "Plain-language summary of the modeled scenario."
},
"distribution": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"description": "Loss-distribution histogram bins for charting."
},
"score_state": {
"type": "string",
"enum": [
"valid",
"degraded",
"partial",
"stale",
"unsupported",
"unavailable"
],
"description": "Overall state of the response."
},
"source_freshness": {
"type": "object",
"additionalProperties": true,
"description": "Per-source freshness reading (state, checked_at, max_age_seconds, sources[])."
},
"methodology_version": {
"type": "string",
"description": "Methodology-version string, e.g. routescore.public_api.v1."
},
"confidence_band": {
"type": "object",
"additionalProperties": true,
"description": "Confidence band (low, high, unit, label); low/high are null when not calibrated."
},
"caveats": {
"type": "array",
"items": {
"type": "string"
},
"description": "Caveat sentences to relay verbatim."
},
"commercial_disclosure": {
"type": "object",
"additionalProperties": true,
"description": "No-pay-to-rank disclosure (paid_placement, score_influenced_by_partner, message)."
},
"trust": {
"type": "object",
"additionalProperties": true,
"description": "The full nested trust envelope; additionally carries generated_at and decision_support_only."
}
},
"additionalProperties": true
}Recommended Prompts
get_preflight_recordget_preflight_recordCommunity
Evidence