Routescore

Read-only pre-sign evidence for onchain agents: route quality, MEV exposure, clear/caution verdict.

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
87%
Naming quality
91%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'quote_mev_cover' description lacks action verbin quote_mev_cover
  • LOWTool 'quote_lrt_slashing' description lacks action verbin quote_lrt_slashing

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~8,679Tokens (tool definitions)
~8.5 KBTypical response size
Significant attention impact (6.78% of 128k context)

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

npm@routescore/mcp0.3.5stdio

Remote endpoints

https://www.routescore.io/api/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

๐ŸŸข Read-only๐ŸŸก Write๐Ÿ”ด Deleteโšช Unknown
๐Ÿ”ด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

retrieve_data
Get details about [item] from Routescore
Expected tools: get_preflight_record
fetch_info
Fetch [information type] using Routescore
Expected tools: get_preflight_record

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools
verifiedversion not recorded11 tools