Live Canton Network DEX data: prices, best execution across venues, exit cost, premiums. No key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Alerts fired on Canton DEXes: stablecoin peg breaks, premiums over 1%, hourly moves over 5%, and spreads that clear their costs. Newest last.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http canton-venues https://cantonvenues.com/mcp
Alerts fired on Canton DEXes: stablecoin peg breaks, premiums over 1%, hourly moves over 5%, and spreads that clear their costs. Newest last.
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"title": "alertsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20
}
}
}Was a trade well executed? Give the token sold and bought, the amount sold, the amount received, the time (ISO such as 2026-10-27T18:05:00Z, or unix seconds) and optionally the venue. The trade is priced again on every venue from the pool reserves and order books read at the five-minute ticks either side of it (archive since 27 Oct 2026), by the same code as quote(), after network fees. Returns the venue that returned the most, how far the trade fell short of it in basis points (at the reading least favourable to that), and with venue given, how much of the gap was the choice of venue and how much the fill itself. Nothing is executed or stored.
| Argument | Type | Description |
|---|---|---|
| buy* | string | |
| sell* | string | |
| time* | string | |
| venue | any | |
| amount_in* | number | |
| amount_out* | number |
{
"type": "object",
"title": "check_tradeArguments",
"required": [
"sell",
"buy",
"amount_in",
"amount_out",
"time"
],
"properties": {
"buy": {
"type": "string",
"title": "Buy"
},
"sell": {
"type": "string",
"title": "Sell"
},
"time": {
"type": "string",
"title": "Time"
},
"venue": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Venue",
"default": null
},
"amount_in": {
"type": "number",
"title": "Amount In"
},
"amount_out": {
"type": "number",
"title": "Amount Out"
}
}
}What selling a token for dollars (USDCx) nets on Canton, as a share of its value at our price: a ladder from $1K to $1M per venue and at the best one (with across_venues when selling the token for CC on one venue and that CC for dollars on another keeps more), the largest sale each venue (and all of them together) takes within 1%, 2% and 5%, what limited each (the cost, or the end of a venue's visible order book), and the worst share at $10K and $50K since the record began. For lending, vault and risk tools: what collateral sells for on Canton, not only what it is quoted at. With amount_usd, also that exact sale priced now on every venue (as quote() would).
| Argument | Type | Description |
|---|---|---|
| symbol* | string | |
| amount_usd | any |
{
"type": "object",
"title": "exit_costArguments",
"required": [
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"title": "Symbol"
},
"amount_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Amount Usd",
"default": null
}
}
}Every token on Canton DEXes with price, 24h/7d change, liquidity and volume. sort_by: liquidity, volume, change_24h, change_7d or premium.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| sort_by | string |
{
"type": "object",
"title": "list_tokensArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 30
},
"sort_by": {
"type": "string",
"title": "Sort By",
"default": "liquidity"
}
}
}Canton DEX market right now: CC price, spot volume per venue we read, Canton's TVL for the day named, top movers, the largest premiums to global prices, and the latest alerts.
No arguments.
{
"type": "object",
"title": "market_overviewArguments",
"properties": {}
}Perp markets on Rocky, Ekiden and Canborsa: price, basis to the outside spot price, funding, spread, open interest and 24h volume where the venue publishes them. base filters by asset, e.g. BTC, ETH or CC.
| Argument | Type | Description |
|---|---|---|
| base | any |
{
"type": "object",
"title": "perpsArguments",
"properties": {
"base": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Base",
"default": null
}
}
}CC pools on every AMM (Cantex, Tradecraft, OneSwap, Pool Party) with liquidity, 24h volume where the venue publishes it, fee and LP fee APR from the last 24 hours of volume; a pool whose reserves have stood still while its price left the market carries `not_trading_since`. sort_by: tvl, volume or apr.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| sort_by | string |
{
"type": "object",
"title": "poolsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 20
},
"sort_by": {
"type": "string",
"title": "Sort By",
"default": "tvl"
}
}
}How far Canton DEX prices sit from outside markets: CBTC vs BTC, cETH vs ETH, eXAU and eXAG vs gold and silver spot (while the spot market trades), CC vs global CC, and every stablecoin vs $1. kind: all, reference or peg.
| Argument | Type | Description |
|---|---|---|
| kind | string |
{
"type": "object",
"title": "premiumsArguments",
"properties": {
"kind": {
"type": "string",
"title": "Kind",
"default": "all"
}
}
}Best execution for selling `amount` of token `sell` (or `amount_usd` worth) for token `buy`, on every venue that can make the trade on its own markets in one or two swaps: an AMM pool (Cantex, Tradecraft, OneSwap, Pool Party), an order book (Temple, Rocky), or two of them in a row on the same venue (Temple: CC to USDCx, then USDCx to CBTC; Pool Party: CC to USDC.B, then USDC.B to CBTC). The same comparison as the site's best execution, at any size. Pool fees, book fees and price impact are included; `after_network_fee` also takes off the venue's per-trade network fee on each swap (the fee table, with which fees are measured, documented or assumed, is in `network_fees`). A pool whose reserves have stood still while its price left the market is no market here (`not_trading`). A venue whose route takes an order book that shows more of a token than exists (a side larger than its registry's total supply) carries `book_shows_more_than_exists`: its price, not a size it can fill.
| Argument | Type | Description |
|---|---|---|
| buy* | string | |
| sell* | string | |
| amount | any | |
| amount_usd | any |
{
"type": "object",
"title": "quoteArguments",
"required": [
"sell",
"buy"
],
"properties": {
"buy": {
"type": "string",
"title": "Buy"
},
"sell": {
"type": "string",
"title": "Sell"
},
"amount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Amount",
"default": null
},
"amount_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Amount Usd",
"default": null
}
}
}Buy-on-one-venue, sell-on-the-other round trips at their best size, after each venue's network fee: `cost_cc` per route, `swap_cost_cc` per venue (Cantex measured, OneSwap and Tradecraft documented, the rest assumed at 1.5 CC). A trip through an order book in dollars (via=usd) also pays the CC/USDCx leg of each pool side. `clears` is true when one nets at least $0.50.
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"title": "spreadsArguments",
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
}
}
}One token: price, changes, liquidity and volume, price on each venue, premium to its outside reference, its pools with fee APR, and hourly USD prices for the last 7 days.
| Argument | Type | Description |
|---|---|---|
| symbol* | string |
{
"type": "object",
"title": "tokenArguments",
"required": [
"symbol"
],
"properties": {
"symbol": {
"type": "string",
"title": "Symbol"
}
}
}Every Canton trading venue we know of: type, 24h volume, and whether we price it live, see its volume only, or cannot read it (key needed, testnet, no public API). Also the share of Canton spot DEX volume that these prices cover.
No arguments.
{
"type": "object",
"title": "venuesArguments",
"properties": {}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 2, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.