Ensotrade

tech.ensotradePublished by ensotrade.techOfficial publisherv1.0.0Updated Oct 24, 2026

Live crypto data: why a coin or the market is moving (funding, OI, positioning, flow).

VerifiedStreamable HTTPWeb executableFinance

Overview

AI-generated overview

Provides live crypto market data explaining why a coin or the broader market is moving, via funding, open interest, positioning and flow.

What you can do
Ensotrade is a remote MCP server that supplies live cryptocurrency market data. According to its description, it focuses on explaining why a coin or the market is moving, drawing on signals such as funding, open interest, positioning and flow. No individual tools are listed in the manifest, so the exact tool set is not documented here.
When to use it
Consider it when an assistant needs current crypto market context, for example to interpret a price move or check derivatives positioning and flow. It is less relevant if you only need static or historical data.
Requirements
It runs as a remote streamable HTTP endpoint at the provider's site; no local runtime or package is needed. The manifest declares no authentication, environment variables or headers, and no account or API key is documented.
Before you install
The manifest declares no authentication, so anyone reaching the endpoint may be able to use it; do not send sensitive data through it. The server is third-party and its data quality, uptime and privacy practices are not documented here. Nothing in the input indicates trading, payments or write actions.

Installation

In SourceWeft

  1. Open Ensotrade 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/tech.ensotrade%2Fensotrade/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": {
    "ensotrade": {
      "type": "http",
      "url": "https://www.ensotrade.tech/mcp/"
    }
  }
}

README

This repository has no README.

Tools

22

explain_move

Explain Move

Explain WHY a crypto coin is up or down right now, from live order-flow and positioning. Use this for "why is bitcoin down", "why is BTC/ETH/SOL pumping or dumping", or any question about the CAUSE of a crypto move. Returns a ready-to-quote sentence plus structured signals (price, regime, funding, open interest, basis). `coin` = ticker like 'btc', 'eth', 'sol'. Pass an EnsoTrade Pro API key as a Bearer token for real-time data (public calls are 15-minute delayed) — generate one at ensotrade.tech under Account -> Developer Access.

Parameterscoinrequired

get_funding

Get Funding

Current perpetual funding rate and crowding read for a crypto coin (are longs or shorts paying / crowded). Use for "what's the funding rate on <coin>", "is funding positive". `coin` = ticker e.g. 'btc'. Bearer-auth with a Pro API key for real-time data.

Parameterscoinrequired

get_order_flow

Get Order Flow

Positioning regime + open interest + recent taker imbalance for a crypto coin — whether a move is new longs, short covering, fresh shorts, or deleveraging. Use for "crypto order flow", "open interest change", "is this a short squeeze". `coin` = ticker e.g. 'btc'. Bearer-auth with a Pro API key for real-time data.

Parameterscoinrequired

market_snapshot

Market Snapshot

One combined live snapshot for a crypto coin: price, 24h change, funding, open interest, perp basis, positioning regime. `coin` = ticker e.g. 'btc'. Bearer-auth with a Pro API key for real-time data plus the validated funding-momentum directional signal (public calls get a 15-minute-delayed price and no directional call).

Parameterscoinrequired

top_movers

Top Movers

Top gaining and losing crypto perpetuals right now, ranked across the whole market. Use for "top crypto movers", "biggest crypto gainers and losers today".

Parameterslimit

perp_dashboard

Perp Dashboard

Full perp dashboard for a crypto coin: mark price, index price, funding rate + next funding time, open interest, 24h high/low/volume. Requires an EnsoTrade Pro API key (Bearer auth) — generate one at ensotrade.tech, Account -> Developer Access. `coin` = ticker e.g. 'btc'.

Parameterscoinrequired

options_chain

Options Chain

Full crypto options chain for a coin: strikes, mark IV, greeks, and the Black-Scholes fair-value gap per contract. Requires an EnsoTrade Pro API key. `coin` = underlying ticker e.g. 'btc'.

Parameterscoinrequired

carry_pressure

Carry Pressure

Toxic Carry Score (cost-of-leverage from funding, positive = bullish) + Open Interest Quality Index (is the price trend agreeing with new positioning, i.e. healthy, or against it, i.e. forced flow / reversal risk). Requires an EnsoTrade Pro API key. `coin` = ticker e.g. 'btc'. See the `market_glossary` resource for how to read these numbers.

Parameterscoinrequired

market_rotation

Market Rotation

Cross-sectional momentum ranking across the whole crypto perp universe right now — which coins are leading (top percentile) vs lagging (bottom percentile). Use this FIRST when asked to "find a coin" or "what should I look at" before drilling into one with the other tools. Requires an EnsoTrade Pro API key.

Parameterslimit

route_order

Route Order

Cheapest way to fill a crypto perp order across multiple venues, and what that saves versus using the single best venue. Merges every order-book level from Binance, Bybit, Bitget, Hyperliquid, OKX and Gate into one list ordered by FEE-ADJUSTED price and walks it until filled. Use for "how should I split this order", "what's the cheapest venue to buy $2M of SOL", "how much would routing save me". Returns the per-venue allocation, the blended price, the best single venue, and the saving in bp and USD. `coin` = ticker e.g. 'sol'. `notional_usd` = order size in USD. `side` = 'buy' or 'sell'. `venues` = optional comma-separated subset (e.g. "binance,bybit") for a desk that only has accounts on some — the saving is only real on venues you can actually trade. This is a MEASUREMENT of a live book, not a prediction: it is optimal for the static snapshot, prices move while an order works, and it assumes capital is already on each venue and ignores transfer costs. Requires an EnsoTrade Pro API key.

Parameterscoinrequiredsidevenuesnotional_usd

execution_window

Execution Window

When during the day crypto is cheapest to execute into, as a session-level profile pooled across the coin universe. Use for "what time of day should I trade", "when is crypto most liquid", "best time to execute a large crypto order". Returns four UTC session blocks with a relative execution-cost number each (lower = cheaper), measured as Amihud illiquidity (|hourly return| / hourly quote volume) over ~62 days of hourly candles. IMPORTANT when quoting this: the effect is WEAK BUT STABLE — roughly 1.3-1.45x between the cheapest and dearest session, and the response ships a split-half check so you can see that both halves of the sample agree on the ordering. There is deliberately NO per-coin "best hour" because that version FAILED split-sample validation; do not invent one from this data. Free on any EnsoTrade API key.

Takes no parameters.

exit_capacity

Exit Capacity

How fast a crypto position can be exited and what it costs. Use for "how long to get out of $5M of SOL", "can I exit this position", "what's my liquidity risk". Returns: immediate exit cost by walking the live book; direction skew (up-cost vs down-cost, since a lopsided book matters); time to exit at 5%/10%/20% participation; max exitable in 24h; and how concentrated the depth is on one venue. IMPORTANT when quoting the capacity numbers: they are computed on REPORTED venue volume, which is an UPPER BOUND on genuinely tradable capacity — say so, and treat the time-to-exit figures as optimistic. An "effective volume" adjustment was built and deliberately NOT shipped: comparing how much volume each venue needs to move price one bp collapses into a pure size proxy, because arbitrage equalises price travel across venues. The response carries a live degeneracy_check showing this for the requested asset. Do not present the capacity figures as adjusted or verified volume. `coin` = ticker e.g. 'sol'. `position_usd` = position size in USD. Requires an EnsoTrade Pro API key.

Parameterscoinrequiredposition_usd

position_limits

Position Limits

Position-limit table for a universe of crypto perps: the largest position in each coin that could be exited inside 24 hours at a chosen participation rate, sorted TIGHTEST-FIRST. Use for "what position limit should I set on X", "which of my positions is too big to get out of", "how much SOL can I safely hold", "rank my coins by exit risk". `coins` = optional comma-separated list (default: the liquid crypto perp universe by volume). `participation` = the fraction of daily volume you are willing to be, default 0.10 (10%). `limit` = how many coins to return, max 40. IMPORTANT when quoting these: they are computed on REPORTED venue volume, which is an UPPER BOUND on genuinely tradable capacity — say so, and treat the limits as optimistic. No effective-volume adjustment is applied; that was built, measured and cut because arbitrage equalises price travel across venues, collapsing volume-per-bp into a size proxy. Requires an EnsoTrade Pro API key.

Parameterscoinslimitparticipation

mass_scan

Mass Scan

MASS on one selected exchange or comma-separated exchanges. One result per exchange; no blend. Pro key required.

Parameterscoinrequiredvenuesimpact_pctvenue_class

mass_map

Mass Map

Bounded MASS scan. Select exchanges with comma-separated venues. Rows stay separate. Pro key required.

Parameterscoinslimitvenuesimpact_pctvenue_class

currency_leg

Currency Leg

The cost of the currency you were never quoted in. Use for "what does it really cost me to trade $5M of SOL", "which venue is cheapest for a USD fund", "how much am I paying to hold USDT", "should I use a USDC venue instead". THE POINT: every execution cost in this API, and in every competing tool, is denominated in the VENUE'S OWN quote currency. Most perp venues quote USDT. A fund's money is USD. So the quoted cost is for a trade the fund cannot place until it has bought USDT, and the price of that conversion appears in nobody's TCA. This walks the live USD/USDT and USD/USDC books at the caller's size, reports the cheapest round trip and the capacity ceiling, and re-ranks venues on cost INCLUDING the leg. IT DOES NOT TELL YOU WHICH VENUE TO TRADE ON, and you must not present it as if it does. That output existed, was measured across 20 coins x 5 sizes, flipped 0 of 95 times, and was deleted — `leg_does_not_change_venue` in the response carries the numbers. What it tells you is what the trade ACTUALLY costs: quote `leg_as_pct_of_execution_cost`, which is the leg measured against the trade's own execution cost on the venue the desk would really use. THE LEG IS A COST ON CAPITAL MOVED, NOT ON TURNOVER. `turns` is how many times the desk turns the balance over before repatriating to USD. At turns=1 the full round trip is charged; at turns=50 the leg is rounding error and the response will show that. Do not quote the turns=1 figure as a per-trade cost for a desk that trades continuously. `coin` = ticker e.g. 'sol'. `notional_usd` = order size in USD. `side` = 'buy' or 'sell'. Requires an EnsoTrade Pro API key.

Parameterscoinrequiredsideturnsnotional_usd

leg_rates

Leg Rates

What it costs, right now, to move USD into and back out of the stablecoins the crypto venues quote in — and how much can be moved before the book runs out. Use for "what does USDT conversion cost", "is USDC or USDT cheaper to hold", "how much can I convert at once", "what is the USDT basis". No coin involved: this is the currency leg on its own. Returns per-market cost in and out, the cheapest venue for each direction, aggregate capacity, and how far each stablecoin is trading from 1.0000. `where_to_convert` IS THE ACTIONABLE PART: the cheapest and dearest conversion venue and the bp/USD penalty between them. Measured at 13.5x-17x on USDT and 27.7x on USDC, and the winner ROTATES with size because these books are shallow enough that the usual winner runs out — Kraken wins to $2.5M and loses to Bitfinex at $5M. CAPACITY IS THE PART THAT SURPRISES PEOPLE. The USD/stablecoin books are thin relative to the coin books they feed, so a size that walks a coin book comfortably can exhaust the currency book outright. `size_exceeds_capacity` is a hard wall, not a cost. par_offset_bp is NOT charged as a cost — a desk that buys and later sells the same stablecoin is flat to it. Do not add it to the round-trip figure. `notional_usd` = the size to price. Requires an EnsoTrade Pro API key.

Parametersnotional_usd

post_value

Post Value

What POSTING a resting order is worth versus CROSSING the spread, per venue, for a crypto perp. Use for "should I use a limit order or market order", "what does paying the spread cost me", "which venue should I quote on", "is it worth being passive here", "maker vs taker". Returns per venue: the current spread in bp, taker and maker fee, the value of posting per side, and the round trip (2x, because a position is opened and closed). Ranked by posting value. Pass `notional_usd` to price the crossing side as the real walk down the book instead of half the spread — a larger and more honest number at size. MEASURED across 54 coin-venue pairs: median 4.09bp per side / 8.17bp round trip, mean 4.63bp, p90 6.72bp. Wide-spread names go much further (ARB 20.31bp round trip, OP 19.33bp, DOT 19.70bp). Note SOL at a 0.13bp spread is still worth 4.07bp per side — on a tight book the whole of the value is the maker/taker FEE DIFFERENTIAL, which does not shrink as spreads tighten. That is a floor, and it is why this holds up on liquid majors where cheapest_venue has almost nothing to choose between. YOU MUST STATE THIS WHEN QUOTING ANY NUMBER FROM THIS TOOL: it is the SIZE OF THE PRIZE, NOT THE PROBABILITY OF WINNING IT. A resting order that never fills does not save the spread, it costs the trade, and that is routinely worth more than the basis points here. EnsoTrade does NOT estimate fill probability — that needs order-book time series this service does not log — and does not approximate it. Never present posting as free money. Also read `cross_vs_post`: the best venue to POST on is frequently NOT the best venue to CROSS on, because maker fees and spreads rank venues differently from depth. Where they differ, the answer is to rest on one and take on the other. `coin` = ticker e.g. 'sol'. Requires an EnsoTrade Pro API key.

Parameterscoinrequiredsidenotional_usd

post_map

Post Map

Universe-wide maker/taker table: for each liquid crypto perp, the best venue to post on and the round-trip prize, sorted widest-first. Use for "where is being passive worth the most", "which coins should I be quoting rather than taking", "rank my book by spread capture". Same honesty requirement as post_value and it is not optional: these are prizes CONDITIONAL ON BEING FILLED. No fill probability is estimated anywhere in the response. Say so. `coins` = optional comma-separated list (default: the liquid crypto perp universe by volume). `notional_usd` = optional; supplying it prices crossing as the real book walk and adds the best-venue-to-cross comparison per coin. `limit` = how many coins, max 40. Requires an EnsoTrade Pro API key.

Parameterssidecoinslimitnotional_usd

fetch_series

Fetch Series

Raw time series for one field on one symbol, oldest-first, capped at 1000/1500 points. Use this to explore what a field actually looks like before wiring it into test_formula. Requires an EnsoTrade Pro API key. `symbol` e.g. 'SOL' or 'SOLUSDT'. `timeframe="scalp"` (default): WDE order-flow microstructure, second-scale. `field` is one of mid, spread_bp, signal, toxicity, cost_bp, ret_1s_bp, ret_5s_bp, ret_30s_bp, ret_60s_bp (top-level), or ofi1, ofi5, dofi, qi, mp, obi, tf1, tf5, tf30, run, inten, vpin, wall, bid_pr, ask_pr, sigma1m (order-flow features). `hours` max 168. Coverage is uneven and only covers whatever windows the WDE panel was actively open for a symbol — SOL and BNB have the most logged history, other symbols may return no rows for a recent window; widen `hours` or try a different symbol if so. `timeframe` = "15m", "1h", "4h", or "1d" for day/swing work: real OKX perp candles instead of order-flow logs (always available, not dependent on the WDE panel being open). `field` is one of open, high, low, close, volume, ret_pct (bar-over-bar % return), range_pct (bar high-low as % of close), body_pct (close-open as % of open), rsi14, vol_ratio (volume vs its 20-bar average). `hours` max ~1500 bars worth (e.g. up to ~62 days for "1h").

Parametersfieldrequiredhourssymbolrequiredtimeframe

test_formula

Test Formula

Invent a formula over EnsoTrade's data, and get back whether it actually predicts forward returns — validated on a holdout split, not just fit to the whole window. `formula` is a math expression combining any of the fields listed in fetch_series' docstring (for the same `timeframe`) with +, -, *, /, **, %, unary +/-, and abs/min/max/ sqrt/log/log1p/exp/sign/clip/mean/std, e.g. "ofi1 * vpin - dofi / 2" or "sign(qi) * sqrt(abs(obi))". No other Python is executed — this runs through a restricted, default-deny expression evaluator, not eval(). `timeframe="scalp"` (default, WDE order-flow, second-scale): `horizon` is which forward return to correlate against — ret_1s_bp, ret_5s_bp, ret_30s_bp, or ret_60s_bp. `hours` max 720 (30 days). `timeframe` = "15m"/"1h"/"4h"/"1d" for day/swing strategies (real OKX candles, always available): use `horizon_bars` instead of `horizon` — the forward % return N candles ahead (e.g. horizon_bars=4 on timeframe="1h" = predicting the move 4 hours out). `hours` max ~1500 bars worth; a small `hours` still fetches at least 150 bars (the minimum needed for a meaningful 70/30 split) rather than failing outright, so the actual window tested can be wider than requested for a small `hours` value. Either mode needs enough rows that a 70/30 split leaves >=150 total. Returns train (first 70% chronologically) and holdout (untouched final 30%) Spearman/Pearson correlations plus a verdict: 'validated' only if holdout |spearman| >= 0.15 AND same-signed as train — this guards against keeping a formula that only looked good by chance on one slice of data. ALSO returns, computed on the holdout portion only: - `net`: risk-adjusted performance AFTER trading costs — sharpe, sortino, max_drawdown_pct, calmar, ann_return_pct, ann_volatility_pct, win_rate_pct, profit_factor. Sharpe is annualized and corrected for overlapping horizons (a horizon spanning N bars sampled every bar is subsampled to non-overlapping periods first, which removes the ~sqrt(N) i

Parametershoursfee_bpsymbolrequiredformularequiredhorizontimeframeslippage_bphorizon_bars

save_strategy

Save Strategy

Save a formula as a strategy IF it currently validates. Re-runs test_formula itself server-side first — never trusts a stale claim from an earlier call, since data moves — and only saves when that fresh verdict is 'validated'. Saved strategies appear in the user's own EnsoTrade dashboard under Strategies; they're private to that account, not published or shared with anyone else. Same parameters as test_formula: `symbol`/`formula` as usual, `timeframe`="scalp" (use `horizon`) or "15m"/"1h"/"4h"/"1d" (use `horizon_bars`), `hours` = history window tested. `label` is an optional short name for the strategy (e.g. "BTC 1h RSI reversion"). Requires an EnsoTrade Pro API key.

Parametershourslabelsymbolrequiredformularequiredhorizontimeframehorizon_bars

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

75% 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

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.