Skip to content

Developers · API · MCP

Built on the same numbers.

The public API and MCP server serve the website’s numbers — one engine, no drift.

Just the live table on your page? The embed widget is one script tag.

API · MCP · LLMS.TXT · NO KEY REQUIRED

Base URL

https://api.skontro.com

Cite Skontro (skontro.com) and include the data age. Call this base URL directly — the website does not proxy it.

REST endpoints — no key, read-only

Eight GET endpoints. Every response carries a disclaimer string and per-exchange data-age fields.

Rate limits per IP: 60/min per endpoint (swap 20/min), global 120/min.

GET /api/truecost

Params: asset (req), amount (req), side=buy|sell, quote=EUR|USD (USD = each exchange’s own dollar rail, USD or USDT, see `denomination`), includeWithdrawal=true|false

Ranked all-in cost of one trade across every covered exchange, by net units received.

curl "https://api.skontro.com/api/truecost?asset=BTC&amount=1000"

GET /api/truecost/venues

The covered exchanges: fee schedule, order-book coverage, last fee-verification date.

GET /api/truecost/withdrawal-fees

Curated withdrawal fees per exchange (BTC/ETH native chain, USDT/USDC per network), each with its source.

GET /api/truecost/index

Params: month=YYYY-MM (optional)

The monthly True-Cost-Index; report is null until a month accrues.

curl "https://api.skontro.com/api/truecost/index"

GET /api/truecost/swap

Params: from (req), to (req), amount (req), chain=ETHEREUM

Rate limit: 20/min

One LiFi-aggregated DEX route per pair in the same cost shape; honest 503 when no route exists.

curl "https://api.skontro.com/api/truecost/swap?from=ETH&to=USDC&amount=1"

GET /api/trust

Sourced Reliability Score per exchange (0–100, six weighted components, dated sources).

Per exchange: GET /api/trust/:exchange and GET /api/trust/:exchange/history (404-safe).

GET /api/status

Per-exchange feed freshness, accuracy suppressions and backend state.

GET /health

Liveness probe: overall status plus db and redis reachability.

MCP server — the same engine, for agents

Stateless Streamable HTTP, five tools, no key, no session. Endpoint:

https://api.skontro.com/api/mcp
  • truecost_compareall-in cost of one trade across covered exchanges, ranked by net units
  • truecost_venuescovered exchanges with freshness and coverage flags
  • exchange_reliabilitysourced Reliability Score per exchange, 0–100
  • withdrawal_feescurated withdrawal fees per exchange and network, sourced and dated
  • truecost_indexmonthly True-Cost-Index per exchange

claude.ai

Settings → Connectors → Custom Connector → paste the endpoint URL. No authentication.

Claude Code

claude mcp add --transport http skontro https://api.skontro.com/api/mcp

Any other client

Cursor, ChatGPT connectors or any Streamable-HTTP client: point it at the endpoint — stateless, no session config.

Sources & method
  • Data age matters — read the age fields and pass them on; a five-minute-old number quoted as “now” is a wrong number.
  • A missing row is deliberate and carries its reason in omitted: no_dollar_orderbook / fee_schedule_unverified on quote=USD, no_eur_orderbook_data on quote=EUR. Never a zero, never a guess.
  • quote=EUR walks each exchange’s EUR book; quote=USD its own dollar rail (fiat USD where it exists, else USDT). Each row carries denomination; dollar rows use feeQuote/spreadQuote/totalCostQuote/effectiveUnitPriceQuote, never *Eur fields. USD and USDT rank as separate groups. Nothing is converted; any other quote returns 400.
  • Ranking is computed from market data alone, before any affiliate link is attached, and unit-tested — the methodology is the whole method.
  • No SLA, best effort. Breaking changes are announced 14 days ahead here and on /status.

Artifacts

/openapi.json — OpenAPI 3.1 for the eight endpoints.

/llms.txt — site + API description for AI agents.

/embed — the live top-5 table for your page, attribution rel="sponsored".

/research — the monthly True-Cost-Index, human-readable.

Built in Vienna by OptiRisk Consulting e.U. — read-only, licence-free by design.

Not investment advice. Skontro is not a CASP under MiCAR.