Canton Venues

com.cantonvenuesPublished by cantonvenues.comOfficial publisherv1.0.1Updated Nov 3, 2026

Live Canton Network DEX data: prices, best execution across venues, exit cost, premiums. No key.

VerifiedStreamable HTTPWeb executable

Overview

Canton Venues's hosted MCP server (cantonvenues.com), published by cantonvenues.com; no sign-in required; Streamable HTTP; 12 tools.

No AI overview yet: these facts come from the registry entry and the server itself.

Publisher
cantonvenues.com
Endpoint
cantonvenues.com
Last checked

Installation

In SourceWeft

  1. Open Canton Venues in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.cantonvenues%2Fcanton-venues/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "canton-venues": {
      "type": "http",
      "url": "https://cantonvenues.com/mcp"
    }
  }
}

README

Canton Venues SDK

The Canton Algorithmic Trading Toolkit: an open-source Python SDK for trading and reading every venue on the Canton Network. It powers cantonvenues.com. Install and import it as cantonvenues.

The core (cantonvenues.core) is venue-agnostic: a small typed domain model and four adapter interfaces, all with a shared VenueError hierarchy.

  • PoolDataAdapter — read and price an AMM: Instrument, Pool, Quote.
  • VenueAdapter — a PoolDataAdapter you can also trade: Balance, SwapResult.
  • MarketDataAdapter — read-only market state for venues shaped as a symbol and a book rather than a pool and a swap: Market, OrderBook, Trade, Ticker, FundingRate.
  • OrderTradingAdapter — a MarketDataAdapter you can also trade: limit orders (post-only, with expiry), cancels, open orders, balances. Trading is off unless the adapter is built with trading=True, so a market-data reader holding the same key can never place an order.

Eight venues, four market structures, one client:

AdapterVenueShapeSurface
TempleAdapterTemplespot order booksettled volume without a key; ticker, book and trades with an account key; limit orders and cancels, opt-in (order path awaiting its first live run)
CantexAdapterCantexspot AMMread + swap, mainnet
CantexPublicDataCantexspot AMMkeyless reserves, volume, candles and tickers, mainnet
RockyAdapterRockyspot and perp order booksmarket data, mainnet, no key
TradecraftAdapterTradecraftspot AMMread + pricing, mainnet
OneSwapPublicDataOneSwapspot AMMkeyless reserves, mainnet
PoolPartyPublicDataPool Partyspot AMMkeyless reserves and volume, mainnet
EkidenAdapterEkidenperpetual futuresmarket data, mainnet (testnet available)
CanborsaPublicDataCanborsaperpetual futureskeyless markets, funding, prices and execution depth, mainnet (web app routes, undocumented)
DexRefAdapterCanton DEX reference implementationspot order book + RFQread + swap, its hosted testnet

CantexAdapter wraps the official cantex_sdk async client, so auth, signing and transport live in the SDK and the adapter only translates its models and exceptions. The other venues ship no Python SDK (or, like Temple, only a JavaScript one) and are called directly over HTTP. Every integration point is mapped to the source or the live response it came from in SOURCES.md.

Install

cantex_sdk is not published on PyPI, so it is declared as a git dependency and pulled directly from GitHub:

bash
pip install "cantonvenues @ git+https://github.com/olevasyliev/canton-venues-sdk"# or, from a checkout:pip install -e ".[dev]"

Environment variables

Credentials are read only from the environment (never hard-coded). The names are the SDK's own:

VariableRequiredDescription
CANTEX_OPERATOR_KEYyesOperator Ed25519 private key (hex). Used for challenge-response auth and ledger signing.
CANTEX_TRADING_KEYfor swapsIntent-trading secp256k1 private key (hex). Required for swap().
CANTEX_BASE_URLnoAPI base URL. Defaults to https://api.testnet.cantex.io.
TRADECRAFT_BASE_URLnoTradecraft API base. Defaults to mainnet, https://api.tradecraft.fi/v1. Reading it needs no credentials.
TEMPLE_API_KEYfor Temple booksAccount key from the Temple app (Settings > API Keys). Settled volume needs none.
EKIDEN_BASE_URLnoEkiden gateway. Defaults to mainnet, https://api.ekiden.fi.

Usage

python
import asynciofrom decimal import Decimalfrom cantonvenues import CantexAdapter, Instrument
async def main():    async with CantexAdapter() as venue:  # reads keys from the environment        pools = await venue.pools()        quote = await venue.quote(            Decimal("1"),            pools[0].token_a,            pools[0].token_b,        )        print(quote.returned_amount, quote.trade_price)
asyncio.run(main())

Market data from an order-book venue, no key needed:

python
from cantonvenues import RockyAdapter
async def top_of_book():    async with RockyAdapter() as rocky:          # RockyAdapter("perp") for perpetuals        book = await rocky.order_book("CBTC-USDCX", 20)        print(book.best_bid, book.best_ask, book.mid_price)

Live showcase

Canton Venues runs on this toolkit (examples/canton_venues): prices for every token across the venues above, Canton's premium to outside markets, best execution by trade size across pools and order books, a cross-venue spread scanner, a daily study of how fast spreads close, an open JSON API and an MCP server for AI agents.

Run tests

bash
pip install -e ".[dev]"pytest        # fully offline; the SDK client is mocked at its method boundaryruff check .

Live smoke

scripts/live_smoke.py is a read-only check against the real Cantex API: it authenticates (connect()), lists pools, and prices one small quote. It never calls swap() or transfer().

Create (or fill) a .env at the toolkit root with the real keys (same names as the Environment variables table above):

CANTEX_OPERATOR_KEY=...CANTEX_TRADING_KEY=...CANTEX_BASE_URL=...

Then run:

bash
python scripts/live_smoke.py

The script never prints credential values, only step results and, on failure, whether it was an auth error or a request error (exit code 1 either way).

Status

Live-validated on every venue. Tests are fully offline and run against the real response shapes captured from each venue.

  • Temple (mainnet, 2026-10-04) — settled volume per market without a key; ticker, order book (up to 200 levels) and trades with an account key. The live payloads differ from the types in Temple's own JavaScript SDK, and the adapter follows the live ones; see SOURCES.md. Trading: balances, open orders and trading_status (linked wallet, delegation, fee balance) are verified live; placing and cancelling are implemented from the SDK and scripts/temple_order_smoke.py (dry run unless --execute; a post-only order priced never to fill, cancelled at once) is the check that will close them, on Temple's testnet first.

  • Rocky (mainnet, 2026-10-03) — spot and perp markets, 24h tickers, depth and trades over its public Binance-style API. The ticker reports bid and ask as 0, so top of book comes from depth.

  • OneSwap and Pool Party (mainnet, 2026-10-03) — pool reserves (and, for Pool Party, per-pool volume) without a key, priced locally as constant product.

  • Ekiden moved to mainnet as the default on 2026-10-03 (live since 2026-09-08); the same routes answer there as on testnet.

  • Canborsa (mainnet, 2026-10-28) — perp markets, funding, 30-day volume, and prices and execution depth from the socket its web app reads; no documented API yet.

  • Cantex (mainnet, 2026-07-17) — challenge-response auth, pools, quoting, and an executed swap with real funds: 10 CC sold for 1.2981357151 USDCx on the CC-USDC market.

  • Reference DEX (hosted testnet, 2026-07-29) — swaps in both directions through the adapter, with balance deltas and pool reserves reconciling exactly. Two swap routes are supported: the documented wallet-authored allocation path, and deployments that host the trader's party themselves. scripts/dexref_testnet_report.py additionally exercises the venue's own hosted routes end to end: multi-level two-sided quoting from one party, the RFQ lifecycle with its best-execution receipt, and liquidity provision with the LP token.

  • Ekiden (Canton testnet gateway, 2026-07-27) — markets, tickers, order book, recent trades and funding history across all three of its perpetual markets. Trading needs an Ed25519-signed session and is not implemented.

  • Tradecraft (mainnet, 2026-08-11) — 23 pools across 13 tokens, read and priced end to end. scripts/tradecraft_market_smoke.py prices 45 of 45 directions and reproduces the venue's own quote to ~1e-16 relative from pool state alone, which is how the fee model in SOURCES.md was established rather than assumed: the engine charges half the pool's total fee on each leg, so the realized fee is 0.299775% where 0.3% is published. Orders settle through Daml choices on the venue's package and need a validator node, so the adapter reads and prices but cannot trade.

Run the live checks with scripts/live_swap_smoke.py (Cantex, dry-run by default), scripts/dexref_testnet_smoke.py and scripts/dexref_testnet_report.py (reference DEX, read-only unless given --execute), scripts/ekiden_market_smoke.py (Ekiden) and scripts/tradecraft_market_smoke.py (Tradecraft) — the last two are read-only by construction.

Source: README.md at commit e9d17ab

Tools

12

market_overview

Canton DEX market overview

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.

Takes no parameters.

list_tokens

List Canton DEX tokens

Every token on Canton DEXes with price, 24h/7d change, liquidity and volume. sort_by: liquidity, volume, change_24h, change_7d or premium.

Parameterslimitsort_by

token

Token detail

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.

Parameterssymbolrequired

quote

Quote a trade on Canton DEXes

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.

Parametersbuyrequiredsellrequiredamountamount_usd

premiums

Canton premium to global prices

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.

Parameterskind

spreads

Cross-venue spreads

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.

Parameterslimit

alerts

Recent alerts

Alerts fired on Canton DEXes: stablecoin peg breaks, premiums over 1%, hourly moves over 5%, and spreads that clear their costs. Newest last.

Parameterslimit

pools

Liquidity pools

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.

Parameterslimitsort_by

venues

Canton venues and coverage

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.

Takes no parameters.

perps

Perpetual futures

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.

Parametersbase

exit_cost

Exit cost: what selling a token for dollars nets

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).

Parameterssymbolrequiredamount_usd

check_trade

Check a trade against every Canton venue at that time

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.

Parametersbuyrequiredsellrequiredtimerequiredvenueamount_inrequiredamount_outrequired

Version history

2
  1. v1.0.1LatestNov 3, 2026
  2. v1.0.0Nov 3, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts