addrbookFor publishers
← The evidence ledger

Evidence row 263684

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 72d26e4d-83bb-44e8-acda-d265a18c3ab7
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
2de872cf0ea2e4e75d4381ba099f1b5579c660e50bafb1e848e18b2990490e30
Leaf
0xd891c8111eaaf4c0e1659213225f173dbb49cd0d19632ad13031ce2ec65e22c8

What was observed

{
  "count": 14,
  "tools": [
    {
      "description": "Your mf_ key's account view, grouped by `kind`. kind='account' (default)=tier/product, weighted daily quota, used/remaining today, billing, prepaid balance (/v1/account); kind='usage'=today's count + cap AND the endpoint_weights map (exact per-call cost units, /v1/usage); kind='tiers'=the Flow data-product tier ladder, delivered-now vs roadmap (/v1/tiers). Read account/usage to self-throttle by your remaining quota. Empty/unknown kind → a menu of kinds.",
      "inputSchema": {
        "properties": {
          "kind": {
            "default": "account",
            "description": "'account' (default, /v1/account) | 'usage' (/v1/usage — incl endpoint_weights) | 'tiers' (/v1/tiers). Empty/unknown → menu.",
            "title": "Kind",
            "type": "string"
          }
        },
        "title": "accountArguments",
        "type": "object"
      },
      "name": "account"
    },
    {
      "description": "LAB / RESEARCH tool — the full MidasFlow AI-Analyst report for a symbol: a synthesized narrative fusing flow, derivatives, levels, regime and signal context into a human-readable read RIGHT NOW. This is the HEAVIEST call (composes many sub-feeds) so it costs MORE units and requires a TOP tier; call it sparingly, AFTER cheaper context tools. Market DATA / AI-generated analytics, NOT financial advice. Routes: /v1/analyze/{symbol}.",
      "inputSchema": {
        "properties": {
          "lang": {
            "default": "en",
            "description": "Report language, e.g. 'en' | 'ru' | 'uk' | 'es' (BCP-47-ish). Default 'en'.",
            "title": "Lang",
            "type": "string"
          },
          "symbol": {
            "description": "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive).",
            "title": "Symbol",
            "type": "string"
          }
        },
        "required": [
          "symbol"
        ],
        "title": "analyzeArguments",
        "type": "object"
      },
      "name": "analyze"
    },
    {
      "description": "LAB / RESEARCH tool — replay an arbitrary {symbol, entry, tp, sl} setup over MidasFlow's 1m candle history and get its historical P(TP1-before-SL) + EV, in the canonical first-touch TP1 frame (same frame as get_accuracy). Historical market DATA, NOT a prediction or advice. Low-sample setups return a directional band (normal, not an error). NOTE: live results are gated behind ff:backtest_live — until that flips, EVERY tier gets a coming-soon envelope (no live numbers). Routes: POST /v1/backtest.",
      "inputSchema": {
        "properties": {
          "entry": {
            "description": "Entry price; defines the TP/SL offsets replayed over historical anchors.",
            "title": "Entry",
            "type": "number"
          },
          "lookback_days": {
            "default": 30,
            "description": "Historical window to sample anchors from, in days (clamped 7-90). Default 30.",
            "title": "Lookback Days",
            "type": "integer"
          },
          "max_hold_min": {
            "default": 240,
            "description": "Forward first-touch window per anchor in minutes (clamped 15-1440). Default 240. Timeout anchors are excluded from p, not losses.",
            "title": "Max Hold Min",
            "type": "integer"
          },
          "sl": {
            "description": "Stop-loss price. Direction (long/short) is inferred from tp/sl vs entry.",
            "title": "Sl",
            "type": "number"
          },
          "symbol": {
            "description": "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive).",
            "title": "Symbol",
            "type": "string"
          },
          "tp": {
            "description": "Take-profit price, or an ordered list of prices (nearest = TP1 banked first).",
            "title": "Tp"
          }
        },
        "required": [
          "symbol",
          "entry",
          "tp",
          "sl"
        ],
        "title": "backtestArguments",
        "type": "object"
      },
      "name": "backtest"
    },
    {
      "description": "LAB tool — pure local expected-value calculator over a win-rate and average win/loss percentages. No network, no advice, 0 units. Feed a get_accuracy bucket win-rate (or a score_symbol band) to reason about expectation per trade.",
      "inputSchema": {
        "properties": {
          "avg_loss_pct": {
            "description": "Average loss on a loss, in percent magnitude (e.g. 1.5 = -1.5%). Sign is ignored.",
            "title": "Avg Loss Pct",
            "type": "number"
          },
          "avg_win_pct": {
            "description": "Average gain on a win, in percent (e.g. 2.0 = +2%).",
            "title": "Avg Win Pct",
            "type": "number"
          },
          "stake_usd": {
            "default": 100,
            "description": "Notional stake to scale EV into dollars. Default 100.",
            "title": "Stake Usd",
            "type": "number"
          },
          "win_rate_pct": {
            "description": "Probability of a winning trade, in percent (0–100). Feed from a get_accuracy bucket win-rate.",
            "title": "Win Rate Pct",
            "type": "number"
          }
        },
        "required": [
          "win_rate_pct",
          "avg_win_pct",
          "avg_loss_pct"
        ],
        "title": "calc_evArguments",
        "type": "object"
      },
      "name": "calc_ev"
    },
    {
      "description": "Realized track-record (proof of edge, forward-only, Wilson-bounded), grouped by `kind`. kind='accuracy' (default)=source×boost first-TP win-rate + boost lift in the canonical TP1 frame (/v1/accuracy); kind='outcomes'=realized aggregate track-record over a window from resolved signal_outcomes, model-free (/v1/outcomes). Win-rate frame = P(price hit TP1 before SL), NOT realized PnL. Model internals never exposed. Empty/unknown kind → a menu of kinds.",
      "inputSchema": {
        "properties": {
          "kind": {
            "default": "accuracy",
            "description": "'accuracy' (default, /v1/accuracy) | 'outcomes' (/v1/outcomes). Empty/unknown → menu.",
            "title": "Kind",
            "type": "string"
          },
          "source": {
            "default": "",
            "description": "Source-family filter (kind='accuracy', client-side): '' = all | 'pump' | 'flow' | 'breakout' | 'unified' | 'other'.",
            "title": "Source",
            "type": "string"
          },
          "window": {
            "default": 0,
            "description": "Track-record window in days (kind='outcomes'; passed through to /v1/outcomes). 0 = endpoint default.",
            "title": "Window",
            "type": "integer"
          }
        },
        "title": "get_accuracyArguments",
        "type": "object"
      },
      "name": "get_accuracy"
    },
    {
      "description": "Recent OHLCV candle bars for a symbol at a chosen timeframe — the raw price/volume history other tools are derived from. Inspect trend, range, volatility, volume profile, or feed your own indicators. Market DATA, not advice. A symbol outside the candle store returns an empty bars list (normal, not an error). Routes: /v1/candles/{symbol}.",
      "inputSchema": {
        "properties": {
          "limit": {
            "default": 200,
            "description": "Max bars, newest last (1-1000; clamped server-side). Default 200.",
            "title": "Limit",
            "type": "integer"
          },
          "symbol": {
            "description": "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive).",
            "title": "Symbol",
            "type": "string"
          },
          "tf": {
            "default": "1h",
            "description": "Timeframe / bar size, e.g. '1m' | '5m' | '15m' | '1h' | '4h' | '1d'. Default '1h'.",
            "title": "Tf",
            "type": "string"
          }
        },
        "required": [
          "symbol"
        ],
        "title": "get_candlesArguments",
        "type": "object"
      },
      "name": "get_candles"
    },
    {
      "description": "Contextual market reads, grouped by `kind`. kind='regime'=market-regime labels (/v1/regime, market-wide, no symbol needed); 'phase'=move-lifecycle / entry-timing for a symbol (/v1/phase, premium+); 'derivatives'=normalized cross-exchange funding/OI/basis summary (/v1/derivatives); 'funding'=PER-VENUE funding+OI (/v1/funding); 'squeeze'=liquidation-cascade proximity (/v1/squeeze); 'intel'=per-symbol aggregated signal-quality roll-up (/v1/intel). Market DATA / context, NOT advice and NOT a win-rate. Empty/unknown kind → a menu of kinds.",
      "inputSchema": {
        "properties": {
          "kind": {
            "default": "",
            "description": "'regime' (market-wide, /v1/regime) | 'phase' (/v1/phase) | 'derivatives' (/v1/derivatives) | 'funding' (/v1/funding) | 'squeeze' (/v1/squeeze) | 'intel' (/v1/intel). Empty/unknown → menu.",
            "title": "Kind",
            "type": "string"
          },
          "symbol": {
            "default": "",
            "description": "Perp symbol, e.g. 'BTCUSDT' (required for every kind EXCEPT 'regime', which is market-wide). Case/space-insensitive.",
            "title": "Symbol",
            "type": "string"
          }
        },
        "title": "get_contextArguments",
        "type": "object"
      },
      "name": "get_context"
    },
    {
      "description": "Per-symbol order-flow microstructure, grouped by `kind`. kind='vpin'/'all' (default)=full snapshot (CVD trend+divergence, VPIN toxicity, sweep state, buy/whale aggression, /v1/flow); 'cvd'=CVD series (/v1/cvd); 'sweeps'=stop-sweep events (/v1/sweeps); 'cross'=cross-exchange flow origin (/v1/cross_flow). Realtime market CONTEXT, NOT advice / a win-rate. Empty/unknown kind → a menu of kinds. VPIN is ONE contested signal — pair with get_accuracy before treating it as edge.",
      "inputSchema": {
        "properties": {
          "kind": {
            "default": "all",
            "description": "'vpin'/'all' (full /v1/flow snapshot, default) | 'cvd' (/v1/cvd series) | 'sweeps' (/v1/sweeps) | 'cross' (/v1/cross_flow origin). Empty/unknown → menu.",
            "title": "Kind",
            "type": "string"
          },
          "symbol": {
            "default": "",
            "description": "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). Resolves the cross-venue aggregate.",
            "title": "Symbol",
            "type": "string"
          }
        },
        "title": "get_flowArguments",
        "type": "object"
      },
      "name": "get_flow"
    },
    {
      "description": "Liquidation-heatmap matrix for a symbol — price levels where leveraged positions cluster and are likely force-liquidated (price-magnet zones / liquidity pools). Anticipate where a move may accelerate or stall. Market DATA, not advice; a symbol with no clustering returns an empty matrix (normal, not an error). Routes: /v1/heatmap/{symbol}.",
      "inputSchema": {
        "properties": {
          "symbol": {
            "description": "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive).",
            "title": "Symbol",
            "type": "string"
          }
        },
        "required": [
          "symbol"
        ],
        "title": "get_heatmapArguments",
        "type": "object"
      },
      "name": "get_heatmap"
    },
    {
      "description": "Whole-market reads, grouped by `kind`. kind='movers' (default)=top movers ranked (/v1/movers); 'overview'=whole-market roll-up — breadth / direction / activity (/v1/market); 'anomalies'=per-symbol or cross-market anomaly board (volume_spike/abnormal_spread/phantom_tick) with severity bands (/v1/anomalies). Cheap top-level CONTEXT to find what's MOVING before drilling into one symbol. Market DATA, NOT advice. Empty/unknown kind → a menu of kinds.",
      "inputSchema": {
        "properties": {
          "kind": {
            "default": "movers",
            "description": "'movers' (default, /v1/movers) | 'overview' (/v1/market) | 'anomalies' (/v1/anomalies). Empty/unknown → menu.",
            "title": "Kind",
            "type": "string"
          },
          "limit": {
            "default": 0,
            "description": "Max rows for movers (1-100, default 24) / anomalies (1-200, default 20); clamped server-side.",
            "title": "Limit",
            "type": "integer"
          },
          "symbol": {
            "default": "",
            "description": "Anomalies single-symbol filter (kind='anomalies' only; empty = cross-market board). Case/space-insensitive.",
            "title": "Symbol",
            "type": "string"
          }
        },
        "title": "get_marketArguments",
        "type": "object"
      },
      "name": "get_market"
    },
    {
      "description": "Live order-book snapshot for a symbol — bid/ask walls, book imbalance, spread — FOLDED with support/resistance levels (classic TA fused with cross-exchange book walls + Fibonacci) so you see resting liquidity AND the level map in one call. Cross-exchange aggregate, derived levels only. Market DATA, not advice; thin/uncovered symbols return null fields (normal). Routes: /v1/orderbook/{symbol} + folds /v1/sr as `sr`.",
      "inputSchema": {
        "properties": {
          "include_sr": {
            "default": true,
            "description": "If true (default), fold support/resistance + Fibonacci levels (/v1/sr) into the response under `sr`. Set false to skip.",
            "title": "Include Sr",
            "type": "boolean"
          },
          "sr_timeframe": {
            "default": "1h",
            "description": "Timeframe for the folded S/R computation. Default '1h'.",
            "title": "Sr Timeframe",
            "type": "string"
          },
          "symbol": {
            "description": "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). Resolves the cross-venue aggregate.",
            "title": "Symbol",
            "type": "string"
          }
        },
        "required": [
          "symbol"
        ],
        "title": "get_orderbookArguments",
        "type": "object"
      },
      "name": "get_orderbook"
    },
    {
      "description": "Pull recent MidasFlow SignalEvent records (newest first). quality='normal' (default) = the bucketed signal log across source families; quality='elite' = the rare highest-conviction multi-model-consensus crown feed (premium+, lagged anti-front-run). Tier-gated + moat-scrubbed server-side. Market DATA, not advice. Routes: normal→/v1/signals/pull, elite→/v1/signals/elite.",
      "inputSchema": {
        "properties": {
          "cursor": {
            "default": 0,
            "description": "Pagination cursor (normal feed only) — pass 'next_cursor' from the previous page for older events (0 = newest).",
            "title": "Cursor",
            "type": "number"
          },
          "limit": {
            "default": 20,
            "description": "Max events to return (normal 1-200, elite 1-50; clamped server-side). Default 20.",
            "title": "Limit",
            "type": "integer"
          },
          "quality": {
            "default": "normal",
            "description": "'normal' (default, /v1/signals/pull) | 'elite' (crown consensus feed, /v1/signals/elite, premium+).",
            "title": "Quality",
            "type": "string"
          },
          "source": {
            "default": "",
            "description": "Source-family filter: '' / 'all' | 'pump' | 'flow' | 'mfb' (case/space-insensitive). Ignored when quality='elite'.",
            "title": "Source",
            "type": "string"
          },
          "symbol": {
            "default": "",
            "description": "Single symbol filter, e.g. 'BTCUSDT' (empty = all symbols).",
            "title": "Symbol",
            "type": "string"
          }
        },
        "title": "get_signalsArguments",
        "type": "object"
      },
      "name": "get_signals"
    },
    {
      "description": "Large-player / forced-flow intel, grouped by `kind`. kind='whales' (default)=recent large ('whale') prints for a symbol, banded size+side (/v1/whales); kind='liquidations'=multi-exchange liquidation prints over a rolling window, long-liq vs short-liq notional bands per venue (/v1/liquidations; empty symbol = market-wide top movers by liq notional). Raw notional is banded. Market DATA, NOT a signal/advice. Empty/unknown kind → a menu of kinds.",
      "inputSchema": {
        "properties": {
          "exchange": {
            "default": "",
            "description": "Liquidations venue filter (kind='liquidations' only): '' / 'all' for the full market, or a single major CEX. Unknown venue = error.",
            "title": "Exchange",
            "type": "string"
          },
          "kind": {
            "default": "whales",
            "description": "'whales' (default, /v1/whales) | 'liquidations' (/v1/liquidations). Empty/unknown → menu.",
            "title": "Kind",
            "type": "string"
          },
          "symbol": {
            "default": "",
            "description": "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). Required for kind='whales'; empty for kind='liquidations' = market-wide top movers.",
            "title": "Symbol",
            "type": "string"
          },
          "window": {
            "default": 60,
            "description": "Liquidations lookback seconds, 1-300 (kind='liquidations' only; clamped). Default 60.",
            "title": "Window",
            "type": "integer"
          }
        },
        "title": "get_whalesArguments",
        "type": "object"
      },
      "name": "get_whales"
    },
    {
      "description": "CROWN data product: calibrated P(first TP1 before SL) band + coarse trade plan (TP ladder %, SL %, weights) for ONE symbol, FOLDED with a pre-trade feed-safety check (is the feed live/real-volume/fresh, no phantom ticks). Coverage is present-or-null — most symbols return p_tp1_band=null (valid, NOT an error). Feed the band into calc_ev; never read it as buy/sell. Routes: /v1/score/{symbol} + folds /v1/symbol/check as `safety`.",
      "inputSchema": {
        "properties": {
          "direction": {
            "default": "long",
            "description": "'long' | 'short' — steers the plan ladder only; the P(TP1) score itself is direction-agnostic.",
            "title": "Direction",
            "type": "string"
          },
          "include_safety": {
            "default": true,
            "description": "If true (default), also fold a /v1/symbol/check feed-safety read into the response under `safety`. Set false to skip that extra call.",
            "title": "Include Safety",
            "type": "boolean"
          },
          "symbol": {
            "description": "Perp symbol, e.g. 'BTCUSDT' (case/space-insensitive). A calibrated score exists only for recently-evaluated symbols; most return p_tp1_band=null (valid).",
            "title": "Symbol",
            "type": "string"
          }
        },
        "required": [
          "symbol"
        ],
        "title": "score_symbolArguments",
        "type": "object"
      },
      "name": "score_symbol"
    }
  ]
}

What the leaf hashes

{"body":"2de872cf0ea2e4e75d4381ba099f1b5579c660e50bafb1e848e18b2990490e30","id":263684,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793033643130709,"prev":null,"subject":"72d26e4d-83bb-44e8-acda-d265a18c3ab7","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0xd891b93e2a8ac5f083b4eb04c9b1da6e3e3126f99b10540fac36f5ad1b1ab615
  2. 0x9e6eb2dae8a6458399dd810f357eabf9a66ca24182d5b28f1b0e0f01a866a562
  3. 0xd3a1f261534d19b6a3ed0183a5cfc15899dff12d7e760eb1088be19ca15e6915
  4. 0xf9ab51c4087815c2a32cbe431160eaf7adcd17926df6b2f0a521bd0c1e51cfd9
  5. 0xfc522987435b44c63445391caa3a7840615314539b7ce346ac2df5830eca914f
  6. 0xaf6f0daab5b944997a538b1c632e668dc29bf0ed22e3a265b868a70f3b612760
  7. 0x19a295308573c06deedbc24e91890e6debcb843a32e7d19046c29955ca52d8af
  8. 0xddfa9d48cd1e3ac9e55c35009d006cc2d45c5c2c53f0ea30b4e4c688e7c75e88
  9. 0xcb3f3572b8a5f5546e773203d814dae2d7ff6c70e7cb2f6fde9cc426a7a54ad0
  10. 0xcced339e83616c17d79611bcc0e7ac8b05c10472b6ca8350f4c914df1195d992
  11. 0xd96796540b8f5b592d8f03fc775e7a26bd00af394ce468ff886a43215a522475
  12. 0x07e91966e8a0c43a0725bd3d523259064a93333c2900e6171b69ffbfd9f423f1
  13. 0xcd9e3af1fa905ec61b99ee9442716d7c7a439aecacd018ec229a24def1cabf6b
  14. 0x6b927d53caa5125cdba9255612d524976c691f8672796c3f0885ba2c5b3af1ad
  15. 0x6dc40f983a3840a0ad927a9ca17f4ff1e3b649a6c735e2a09b140db7c2caf13b
  16. 0x703f95866af09c5e5d6ead7411e9a10f964a41a2aff64d4a55ff0053c023a023
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON