Routescore
Read-only pre-sign evidence for onchain agents: route quality, MEV exposure, clear/caution verdict.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (2)
- LOWen quote_mev_cover
- LOWen quote_lrt_slashing
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"@routescore/mcp"
]
}
}
}Paquetes ejecutables
0.3.5stdioPuntos de conexión remotos
https://www.routescore.io/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}Esquema de salida
{
"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.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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.
Esquema de entrada
{
"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
}Esquema de salida
{
"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
}Prompts recomendados
get_preflight_recordget_preflight_recordComunidad
Evidencia