Server definition
- Hash
- sha256:03cb29281bd448107c78599220c4dff77651eb12306f93be3f85f6b8df877749
- What it is
- What a remote MCP server returned when asked what it offers: 52 tools
The blob, as servednamed by its sha256
{
"instructions": "n0brains market-intel server (read-only data; journal tools write only to your own private journal). tools/list and initialize are open so unauthenticated catalog discovery works. AGENT PLAYBOOK — follow this instead of exploring the catalog tool-by-tool:\n\nn0brains = measured market intel (crypto + HIP-3 stocks/metals/indices). Every\nnumber carries its own honesty metadata. The server does the synthesis FOR\nyou — prefer the composite tools; do not rebuild them from the raw feed.\n\nPICK THE WORKFLOW THAT MATCHES THE ASK:\n\n1) \"Find me a trade\" -> get_actionable_signals. Check has_trade_signal; render\n reads[] (never empty when any read exists; actionable=false items are\n context, not trades). Nothing gate-passed? rank_trades('BTC,ETH,SOL,...')\n -> best setup_score, respect tradeable+reason+warnings. Grade the\n candidate: check_trade(asset, side, entry, stop, target, leverage)\n -> A..F + flags + falsifiers. Pro: log_trade it.\n\n2) \"Should I take THIS trade?\" -> check_trade FIRST (one call: event risk,\n crowding, liq distance vs vol, stop-in-noise, proven-edge conflict, RR).\n Add get_positioning(coin) for who's crowded, get_event_outlook for\n scheduled events inside the horizon. That's the whole vet.\n\n3) \"What's going on with <coin>?\" -> get_state(coin) — one call: price,\n intraday consensus, swing outlook, levels, options, macro regime. Drill\n only if asked: get_positioning (crowding), get_long_short (who is long\n where, by real source), get_levels/get_indicators (structure + Fib),\n get_liquidation_map (magnets), get_options (vol),\n get_sentiment/get_mindshare_coin (attention). Pro prose write-up you can\n quote verbatim: get_state_brief(coin).\n\n4) \"Market overview / morning brief\" -> get_market_brief (one call). Deeper:\n get_market_regime + get_liquidity_map + get_cross_asset_flows +\n get_economic_calendar(days_ahead=7). Conditioning: get_market_analogs.\n Attention: get_mindshare. Alt rotation: get_rotation.\n\n5) Alt-coin VETTING (forensics) -> get_trust FIRST (honeypot / mint / tax /\n insider screen — a bullish read on a honeypot is worthless), then\n get_manipulation (pump probability, cascade risk) and get_narrative\n (is the story building or dying, 1h/4h/24h). find_similar_signals shows\n what similar past setups looked like.\n\nMONITORING: get_signals_since(since_timestamp=cursor, asset?, signal_type?),\ncarry the returned server_timestamp forward. Do not poll list_signals.\nUNIVERSE + QUOTA: get_checkable_assets = what check_trade/get_trade_plan can\nprice (honor degraded:true — incomplete list, retry). get_usage = your call\nbudget; get_check_history includes free_checks_remaining_today.\n\nHOW TO READ n0brains DATA (do not skip):\n- action_hint=ignore => NOT a trade, whatever direction/urgency say. Only\n action_hint=trade_signal cleared the proven per-(type,direction) gate.\n- historical_edge on each signal = that (type|direction|regime) cell's\n measured record; win_rate 0.15 means the cell LOSES on 24h. Never echo a\n signal's direction without its cell record.\n- confidence=null => anti-predictive cell (calibration_inverted_in_cell).\n- n_signals overstates (overlapping windows) — weigh n_eff and n_measured.\n- Swing outlooks are proven at 7-30d horizons; suggested hold = the proven\n horizon; never an intraday claim.\n- calibration:\"uncalibrated\" (macro conviction, rotation, regime) = context\n weighting only, never sizing.\n- tradeable:false + reason on plans is a decision, not an error — surface\n the reason to the user.\n- Whale reads are fade-corrected AT SOURCE; do not re-invert them.\n- get_price is the canonical spot; a payload whose own spot disagrees\n materially is stale — discount it.\n\nRECEIPTS: get_proof (full board, + horizon='7d|14d|30d' swing boards +\nasset_class boards), get_performance (by signal type), get_discovery (mined\npattern edges), get_check_history (YOUR past checks with resolved outcomes),\nhttps://n0brains.com/proof.\nTIERS: free = check_trade 3/day, 15-min delayed signals, levels/performance/\nregime/macro/calendar. Pro = real-time everything + private trade journal\n(log_trade/close_trade/get_journal).\n",
"tools": [
{
"description": "[JOURNAL] Amend an OPEN journal trade by trade_id: move your stop or target, fix size_usd / leverage / thesis. A stop MOVE changes only the current stop (what the watchdog and close-time touch scan use); realized R stays measured against your INITIAL stop, so trailing to breakeven can't inflate R. To fix a genuine fat-finger in the original entry or stop, also pass correct_entry=true — that resets the R basis (disclosed in the response). asset/side can't be amended — void and re-log for that. Pro.",
"inputSchema": {
"properties": {
"correct_entry": {
"default": false,
"title": "Correct Entry",
"type": "boolean"
},
"entry": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Entry"
},
"leverage": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Leverage"
},
"size_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Size Usd"
},
"stop": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Stop"
},
"target": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Target"
},
"thesis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Thesis"
},
"trade_id": {
"title": "Trade Id",
"type": "integer"
}
},
"required": [
"trade_id"
],
"title": "amend_tradeArguments",
"type": "object"
},
"name": "amend_trade",
"outputSchema": null
},
{
"description": "[START HERE — 'vet my trade'] Ask n0brains First: graded pre-trade conditions assessment for a proposed trade. Give asset + side (long/short); optionally entry, stop, target, leverage, horizon_hours (default 24). Returns grade A..F with flags (positioning crowding, scheduled event risk inside the horizon, liquidation distance vs realized daily volatility, stop inside noise range, proven-edge conflicts, late entry), supporting factors, and falsifiers to watch. Grades are logged and resolved at horizon; cross-grade performance stays withheld until the deployed weekly truth gate clears. Pair with get_positioning (who is crowded) + get_event_outlook (scheduled risk inside the horizon) for the full vet. Analytical, not advice.",
"inputSchema": {
"properties": {
"asset": {
"title": "Asset",
"type": "string"
},
"entry": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Entry"
},
"horizon_hours": {
"default": 24,
"title": "Horizon Hours",
"type": "integer"
},
"leverage": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Leverage"
},
"side": {
"title": "Side",
"type": "string"
},
"stop": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Stop"
},
"target": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Target"
}
},
"required": [
"asset",
"side"
],
"title": "check_tradeArguments",
"type": "object"
},
"name": "check_trade",
"outputSchema": null
},
{
"description": "[JOURNAL] Close a journal trade by trade_id (from log_trade or get_journal). Optionally exit_price (defaults to live price) and note (exit reasoning). n0brains resolves the outcome from real candles over the held window: return %, R multiple vs your initial stop, MAE/MFE (worst drawdown / best unrealized gain while open), and whether your stop or target level actually traded. HISTORICAL backfill: pass closed_at (epoch seconds of the real exit) + explicit exit_price. Pro.",
"inputSchema": {
"properties": {
"closed_at": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Closed At"
},
"exit_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Exit Price"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Note"
},
"trade_id": {
"title": "Trade Id",
"type": "integer"
}
},
"required": [
"trade_id"
],
"title": "close_tradeArguments",
"type": "object"
},
"name": "close_trade",
"outputSchema": null
},
{
"description": "[DRILL-DOWN — history rhymes] Semantic similarity search across the signal corpus: give a coin and/or a free-text query (q), get the k most similar past signals ranked by embedding cosine similarity — 'have we seen this setup before and what did it look like'. k = 1-20 (default 5). Provide at least one of coin / q. Mirrors REST /signals/similar. Pro. Analytical, not advice.",
"inputSchema": {
"properties": {
"coin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Coin"
},
"k": {
"default": 5,
"title": "K",
"type": "integer"
},
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Q"
}
},
"title": "find_similar_signalsArguments",
"type": "object"
},
"name": "find_similar_signals",
"outputSchema": null
},
{
"description": "[START HERE — 'find me a trade'] Signals the production trade-gate itself marked actionable (action_hint=trade_signal — the engine's per-(type,direction) proven verdict), age ≤ max_age_min. Skips anti-predictive cells. Also returns swing_outlooks: labeled days-scale reads from cells proven at 7-30d horizons, each with its proven horizon and a suggested hold — NOT intraday trades. Pass min_score / min_confidence only if you want additional numeric bars on top of the engine verdict. When the result is empty, the `context` block points to rank_trades / get_trade_plan — a signal-gate miss does not mean no setup exists (positioning/levels setups aren't signal-driven). ALWAYS check `has_trade_signal` (true only when a real intraday trade cleared the gate) and render `reads` — a single array that is NEVER empty when any read exists: it holds the gate-passed trade signals, or, when none cleared, the strongest context read + swing outlooks, each tagged `kind` and `actionable`. `signals` stays strictly gate-passed; items in `reads` with actionable=false are NOT trades. Next: grade any candidate with check_trade; rank_trades when nothing cleared the gate.",
"inputSchema": {
"properties": {
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset"
},
"max_age_min": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 60,
"title": "Max Age Min"
},
"min_confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Confidence"
},
"min_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Score"
},
"signal_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Signal Type"
}
},
"title": "get_actionable_signalsArguments",
"type": "object"
},
"name": "get_actionable_signals",
"outputSchema": {
"$defs": {
"FlippedCellStats": {
"additionalProperties": true,
"properties": {
"avg_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Avg Pnl Pct"
},
"cell": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cell"
},
"sample_n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Sample N"
},
"win_rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Win Rate"
}
},
"title": "FlippedCellStats",
"type": "object"
},
"HistoricalEdge": {
"additionalProperties": true,
"description": "Output of historical_edge.enrich_signal — fields from cell_stats.json.",
"properties": {
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "As Of"
},
"avg_pnl_pct": {
"title": "Avg Pnl Pct",
"type": "number"
},
"cell": {
"title": "Cell",
"type": "string"
},
"median_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Median Pnl Pct"
},
"sample_n": {
"title": "Sample N",
"type": "integer"
},
"win_rate": {
"title": "Win Rate",
"type": "number"
}
},
"required": [
"cell",
"sample_n",
"win_rate",
"avg_pnl_pct"
],
"title": "HistoricalEdge",
"type": "object"
},
"PairedInverse": {
"additionalProperties": true,
"description": "Output of historical_edge for anti-predictive cells. Includes cost-tier\nadjudication added in commit c041582.",
"properties": {
"advisory_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Advisory Text"
},
"basis": {
"title": "Basis",
"type": "string"
},
"citation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Citation"
},
"cost_tier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cost Tier"
},
"direction": {
"enum": [
"bullish",
"bearish",
"neutral"
],
"title": "Direction",
"type": "string"
},
"flipped_cell_stats": {
"anyOf": [
{
"$ref": "#/$defs/FlippedCellStats"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Flipped Cell Stats"
},
"implied_avg_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Implied Avg Pnl Pct"
},
"inverse_validated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Inverse Validated"
},
"round_trip_cost_pct_assumed": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Round Trip Cost Pct Assumed"
}
},
"required": [
"direction",
"basis"
],
"title": "PairedInverse",
"type": "object"
},
"SignalOut": {
"additionalProperties": true,
"description": "Mirror of api.py list_signals + single-signal entry serializer.\n\nFields in REST list response (api.py:600-660):\n id, asset, signal_type, direction, urgency, summary, confidence,\n action_hint, corroborated, score, timestamp, expires_at,\n trade_quality_score, trade_quality_band, expected_move_pct, regime_at_signal,\n manipulation_score, coordinated_pump_prob,\n signal_latency_secs, priced_in_score, priced_in_ret_1h_pct, priced_in_vol_z,\n disclaimer\n+ via _attach_type_performance: type_performance\n+ via historical_edge.enrich_signal: historical_edge, paired_inverse, calibration_inverted_in_cell\n+ trade_signal only: reference_price, invalidation_level, target_level, levels_basis\n+ Pro tier only: sources (list), source (str), channel (str)\n+ Pro single-signal only: content",
"properties": {
"action_hint": {
"anyOf": [
{
"enum": [
"trade_signal",
"alert",
"monitor",
"ignore"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Action Hint"
},
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset"
},
"asset_class": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset Class"
},
"calibration_inverted_in_cell": {
"default": false,
"title": "Calibration Inverted In Cell",
"type": "boolean"
},
"channel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Channel"
},
"confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence"
},
"confidence_revised_by_corroboration": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Revised By Corroboration"
},
"confidence_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Status"
},
"confidence_suppressed_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Suppressed Reason"
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content"
},
"conviction": {
"anyOf": [
{
"enum": [
"strong",
"notable",
"watch",
"none"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Conviction"
},
"coordinated_pump_prob": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Coordinated Pump Prob"
},
"corroborated": {
"default": false,
"title": "Corroborated",
"type": "boolean"
},
"direction": {
"enum": [
"bullish",
"bearish",
"neutral"
],
"title": "Direction",
"type": "string"
},
"disclaimer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclaimer"
},
"expected_move_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Expected Move Pct"
},
"expires_at": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Expires At"
},
"historical_edge": {
"anyOf": [
{
"$ref": "#/$defs/HistoricalEdge"
},
{
"type": "null"
}
],
"default": null
},
"id": {
"title": "Id",
"type": "integer"
},
"invalidation_level": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Invalidation Level"
},
"levels_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Levels Basis"
},
"manipulation_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Manipulation Score"
},
"model_transform": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Model Transform"
},
"observed_behavior": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Behavior"
},
"observed_direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Direction"
},
"observed_entity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Entity"
},
"paired_inverse": {
"anyOf": [
{
"$ref": "#/$defs/PairedInverse"
},
{
"type": "null"
}
],
"default": null
},
"predicted_direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Predicted Direction"
},
"priced_in_ret_1h_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Ret 1H Pct"
},
"priced_in_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Score"
},
"priced_in_vol_z": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Vol Z"
},
"reference_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Reference Price"
},
"regime_at_signal": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Regime At Signal"
},
"score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": 0,
"title": "Score"
},
"signal_latency_secs": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Signal Latency Secs"
},
"signal_type": {
"title": "Signal Type",
"type": "string"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Source"
},
"sources": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Sources"
},
"summary": {
"title": "Summary",
"type": "string"
},
"target_level": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Target Level"
},
"timestamp": {
"title": "Timestamp",
"type": "integer"
},
"trade_quality_band": {
"anyOf": [
{
"enum": [
"A+",
"A",
"B",
"C",
"D"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Trade Quality Band"
},
"trade_quality_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Trade Quality Score"
},
"transform_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Basis"
},
"transform_sample_n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Sample N"
},
"transform_validation_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Validation Status"
},
"type_performance": {
"anyOf": [
{
"$ref": "#/$defs/TypePerformance"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Type Performance"
},
"urgency": {
"anyOf": [
{
"enum": [
"high",
"medium",
"low"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Urgency"
}
},
"required": [
"id",
"signal_type",
"direction",
"summary",
"timestamp"
],
"title": "SignalOut",
"type": "object"
},
"TypePerformance": {
"additionalProperties": true,
"description": "Attached to signals via _attach_type_performance in api.py.",
"properties": {
"excess_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Excess Pct"
},
"hit_rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Hit Rate"
},
"n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "N"
},
"proven": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Proven"
}
},
"title": "TypePerformance",
"type": "object"
}
},
"additionalProperties": true,
"description": "Mirror of api.py /signals response: {count, signals, market_opens?}.",
"properties": {
"count": {
"title": "Count",
"type": "integer"
},
"market_opens": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Market Opens"
},
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Next Cursor"
},
"server_timestamp": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Server Timestamp"
},
"signals": {
"items": {
"$ref": "#/$defs/SignalOut"
},
"title": "Signals",
"type": "array"
}
},
"required": [
"count",
"signals"
],
"title": "SignalListOut",
"type": "object"
}
},
{
"description": "[RECEIPTS] Cells from cell_stats.json with inverse_flagged=true. These are (signal_type × direction × regime) buckets where the empirical win-rate is below the inverse_thresholds floor with sufficient sample. Signals in these cells get calibration_inverted_in_cell=true and have confidence nulled in customer-facing serialization.",
"inputSchema": {
"properties": {},
"title": "get_anti_predictive_cellsArguments",
"type": "object"
},
"name": "get_anti_predictive_cells",
"outputSchema": {
"$defs": {
"CellStatOut": {
"additionalProperties": true,
"description": "One cell from cell_stats.json.",
"properties": {
"avg_pnl_pct": {
"default": 0,
"title": "Avg Pnl Pct",
"type": "number"
},
"cell": {
"title": "Cell",
"type": "string"
},
"inverse_flagged": {
"default": false,
"title": "Inverse Flagged",
"type": "boolean"
},
"sample_n": {
"default": 0,
"title": "Sample N",
"type": "integer"
},
"win_rate": {
"default": 0,
"title": "Win Rate",
"type": "number"
}
},
"required": [
"cell"
],
"title": "CellStatOut",
"type": "object"
}
},
"additionalProperties": true,
"description": "MCP-only: cells from /app/data/cell_stats.json where inverse_flagged=true.",
"properties": {
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "As Of"
},
"cell_stats_path": {
"default": "/app/data/cell_stats.json",
"title": "Cell Stats Path",
"type": "string"
},
"cells": {
"items": {
"$ref": "#/$defs/CellStatOut"
},
"title": "Cells",
"type": "array"
},
"note": {
"default": "Cells flagged anti-predictive: empirical win-rate below floor with sufficient sample. historical_edge.enrich_signal will set calibration_inverted_in_cell=true on signals in these cells.",
"title": "Note",
"type": "string"
}
},
"required": [
"cells"
],
"title": "AntiPredictiveCellsOut",
"type": "object"
}
},
{
"description": "[RECEIPTS] Per-non-crypto-asset-class forward-return scoreboard (asset_class = stock | index | metal | commodity). Measured on that class's own rows + baseline (stock excess vs SP500; index/metal/commodity absolute). Intel-only: the tradeable badge is informational, non-crypto is not auto-traded yet. status=accruing until a (type,direction) reaches the min sample. Same data as REST /proof?asset_class=. For the crypto board use get_performance or REST /proof. Not financial advice.",
"inputSchema": {
"properties": {
"asset_class": {
"title": "Asset Class",
"type": "string"
}
},
"required": [
"asset_class"
],
"title": "get_asset_class_proofArguments",
"type": "object"
},
"name": "get_asset_class_proof",
"outputSchema": null
},
{
"description": "[RECEIPTS — your own] Your past check_trade assessments WITH resolved outcomes: each row is the trade as you submitted it, the grade it got, and (once the horizon passed) the side-adjusted result with stop-touch honored. This is your personal calibration on the CHECKS you asked for (the journal covers trades you actually took). Free tier also gets free_checks_remaining_today. Mirrors REST /checks/history (last 50). Analytical, not advice.",
"inputSchema": {
"properties": {},
"title": "get_check_historyArguments",
"type": "object"
},
"name": "get_check_history",
"outputSchema": null
},
{
"description": "[META] The asset universe check_trade / get_trade_plan / get_levels can price: Hyperliquid perp coins + tokenized HIP-3 stocks/metals/indices. Call once instead of discovering support by error. Contract: count === len(assets); `degraded: true` means the list is INCOMPLETE/STALE — do not treat it as the universe, do not cache it, retry later; no `degraded` key means healthy. Mirrors REST /check/assets (shared cache).",
"inputSchema": {
"properties": {},
"title": "get_checkable_assetsArguments",
"type": "object"
},
"name": "get_checkable_assets",
"outputSchema": null
},
{
"description": "[DRILL-DOWN] Return-correlation + beta of a coin to BTC and ETH over a 7d window of 15m log returns, plus its most/least correlated peers. Descriptive statistic (correlation is not causation). Same data as REST /correlation/{coin}.",
"inputSchema": {
"properties": {
"coin": {
"title": "Coin",
"type": "string"
}
},
"required": [
"coin"
],
"title": "get_correlationArguments",
"type": "object"
},
"name": "get_correlation",
"outputSchema": {
"additionalProperties": true,
"description": "Mirror of api.py /correlation/{coin}. corr+beta to BTC/ETH + peers.",
"properties": {
"coin": {
"title": "Coin",
"type": "string"
},
"disclaimer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclaimer"
},
"least_correlated": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Least Correlated",
"type": "array"
},
"most_correlated": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Most Correlated",
"type": "array"
},
"to_btc": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "To Btc"
},
"to_eth": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "To Eth"
}
},
"required": [
"coin"
],
"title": "CorrelationCoinOut",
"type": "object"
}
},
{
"description": "[CONTEXT] Cross-asset flows: crypto rotation, crypto-vs-tradfi OI split, institutional posture (ETF flow / COT / 13F, descriptive). Answers 'where are funds going and is the market buying something other than crypto?'. Mirrors REST /flows. ETF flow is proven non-predictive. Not advice.",
"inputSchema": {
"properties": {},
"title": "get_cross_asset_flowsArguments",
"type": "object"
},
"name": "get_cross_asset_flows",
"outputSchema": null
},
{
"description": "[RECEIPTS — experimental] Emergent edge discovery: corroboration class-combinations mined from the shadow ledger vs realized forward returns, ranked by measured edge (honesty-gated, both-halves). Surfaces patterns nobody hand-coded. status=accruing until the ledger fills (~60-90d). Candidate, not advice.",
"inputSchema": {
"properties": {},
"title": "get_discoveryArguments",
"type": "object"
},
"name": "get_discovery",
"outputSchema": null
},
{
"description": "[TIMING] Scheduled macro + earnings calendar — the 'knows WHEN' feed. Upcoming high-impact US macro releases (CPI, NFP, FOMC, PPI, GDP) and tracked single-name earnings (NVDA, TSLA, MSFT, +) with consensus/previous, and actual + surprise once printed. Args: days_back (0-90, default 7), days_ahead (0-60, default 14), event_class ('macro'|'earnings', optional). Same data as REST /calendar. Context for timing/regime, not a direction call.",
"inputSchema": {
"properties": {
"days_ahead": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 14,
"title": "Days Ahead"
},
"days_back": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 7,
"title": "Days Back"
},
"event_class": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Event Class"
}
},
"title": "get_economic_calendarArguments",
"type": "object"
},
"name": "get_economic_calendar",
"outputSchema": null
},
{
"description": "[TIMING] Upcoming scheduled macro releases + earnings joined with each event's MEASURED historical reaction distribution (event-study library, grouped by surprise sign): 'CPI prints Thursday — the last N hot prints moved SPX/BTC X%'. history=null until a cell accrues (the library earns its conditionals, it never manufactures them). Same data as REST /event-outlook. Not a direction call.",
"inputSchema": {
"properties": {
"days_ahead": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 14,
"title": "Days Ahead"
}
},
"title": "get_event_outlookArguments",
"type": "object"
},
"name": "get_event_outlook",
"outputSchema": null
},
{
"description": "[DRILL-DOWN] Technical indicators for a coin (e.g. 'BTC', 'ETH', 'SOL', 'XRP'): RSI(14), MACD, SMA/EMA (20/50/200 + 200-week), Stochastic, and FIBONACCI retracement levels (90-day swing). Returns daily + weekly timeframes plus a plain-language read. Same data as REST /indicators/{coin}. Use for momentum + Fib confluence with get_levels.",
"inputSchema": {
"properties": {
"coin": {
"title": "Coin",
"type": "string"
}
},
"required": [
"coin"
],
"title": "get_indicatorsArguments",
"type": "object"
},
"name": "get_indicators",
"outputSchema": {
"additionalProperties": true,
"title": "get_indicatorsDictOutput",
"type": "object"
}
},
{
"description": "[JOURNAL] Read your private trade journal. status=open|closed|void|all (default all shows open+closed; void is hidden unless asked), limit for history (default 20). Open trades include live unrealized PnL/R and a warning if your stop level has traded since entry. Closed trades include resolved outcomes (ret %, R, MAE/MFE). stats block = personal calibration: win rate and realized R per n0brains entry grade — where your entries were actually good. Pro.",
"inputSchema": {
"properties": {
"limit": {
"default": 20,
"title": "Limit",
"type": "integer"
},
"status": {
"default": "all",
"title": "Status",
"type": "string"
}
},
"title": "get_journalArguments",
"type": "object"
},
"name": "get_journal",
"outputSchema": null
},
{
"description": "[DRILL-DOWN] Support/resistance levels for a coin (e.g. 'BTC', 'ETH', 'SOL'). Reads from levels_engine + Hyperliquid mids. Levels are detected on THREE timeframes — 15m (3 days back), 4h (90 days) and 1d (2 years) — and every level carries its `timeframe`, `distance_pct` and zone band. `nearest_resistance`/`nearest_support` are the immediate intraday levels (within ~5% of spot) and are often fractions of a percent away; for swing structure read `structure.resistance` / `structure.support`, which are the 4h/1d levels out to 35% from spot, strongest first. A level merged across tiers lists the confirming timeframes in `confirmed_by`. Same data as REST /levels/{coin}.",
"inputSchema": {
"properties": {
"coin": {
"title": "Coin",
"type": "string"
}
},
"required": [
"coin"
],
"title": "get_levelsArguments",
"type": "object"
},
"name": "get_levels",
"outputSchema": {
"$defs": {
"LevelInfo": {
"additionalProperties": true,
"properties": {
"distance_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Distance Pct"
},
"price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Price"
},
"strength": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Strength"
},
"touches": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Touches"
}
},
"title": "LevelInfo",
"type": "object"
}
},
"additionalProperties": true,
"description": "Mirror of api.py /levels/{coin}.",
"properties": {
"all_resistance": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "All Resistance",
"type": "array"
},
"all_support": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "All Support",
"type": "array"
},
"coin": {
"title": "Coin",
"type": "string"
},
"current_price": {
"title": "Current Price",
"type": "number"
},
"nearest_resistance": {
"anyOf": [
{
"$ref": "#/$defs/LevelInfo"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Nearest Resistance"
},
"nearest_support": {
"anyOf": [
{
"$ref": "#/$defs/LevelInfo"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Nearest Support"
},
"structure": {
"anyOf": [
{
"additionalProperties": {
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Structure"
},
"timeframes": {
"items": {
"type": "string"
},
"title": "Timeframes",
"type": "array"
},
"trend_state": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Trend State"
}
},
"required": [
"coin",
"current_price"
],
"title": "LevelsOut",
"type": "object"
}
},
{
"description": "[DRILL-DOWN] Liquidation map for a coin (e.g. 'BTC', 'ETH'), binned into price clusters — the same feed that powers positioning's liq_magnet and market_state's target/invalidation. Shows long/short imbalance per zone (long_usd vs short_usd per bucket), nearest dense cluster below and above price, and top zones by notional. PROVENANCE VARIES BY COIN — always read the returned `observed` / `modeled` / `method` fields before describing the data. BTC, ETH and HIP-3 tokenized stocks/metals/indices have a DEX book, so their maps are OBSERVED per-position liquidation prices (Hyperliquid + GMX). Coins with no DEX book (XRP, SOL, DOGE, most alts) return a MODELED estimate built from aggregate CEX open interest and calibrated leverage tiers — real zones, but an estimate, and its long/short totals are symmetric by construction. Same data as REST /liqmap/{coin}.",
"inputSchema": {
"properties": {
"coin": {
"title": "Coin",
"type": "string"
}
},
"required": [
"coin"
],
"title": "get_liquidation_mapArguments",
"type": "object"
},
"name": "get_liquidation_map",
"outputSchema": null
},
{
"description": "[CONTEXT] Net cross-asset liquidity map: Fed net liquidity, stablecoin dry-powder, total perp OI, liquidation pressure, net taker flow. Answers 'where is liquidity?'. Mirrors REST /liquidity. Descriptive, not advice.",
"inputSchema": {
"properties": {},
"title": "get_liquidity_mapArguments",
"type": "object"
},
"name": "get_liquidity_map",
"outputSchema": null
},
{
"description": "[DRILL-DOWN] Long/short positioning for one coin from REAL data, mode picked by the asset's primary source: DEX price-point buckets (Hyperliquid+GMX, BTC/ETH-style), CFTC COT (metals/oil/indices), or exchange long/short ratios (alts). Returns latest buckets {price, long_usd, short_usd}, totals + long_pct + ls_ratio, the accumulated trend over `days` (1-90, default 7), and funding + OI-by-venue context. Complements get_positioning (the 8-leg synthesis) with the raw who-is-long-where view. Mirrors REST /charts/long-short/{coin}. Analytical, not advice.",
"inputSchema": {
"properties": {
"coin": {
"title": "Coin",
"type": "string"
},
"days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 7,
"title": "Days"
}
},
"required": [
"coin"
],
"title": "get_long_shortArguments",
"type": "object"
},
"name": "get_long_short",
"outputSchema": null
},
{
"description": "[CONTEXT] Current macro bias (regime, BTC/ETH bias + conviction, calendar risks). Mirrors REST /macro current snapshot. Honesty overlay applied: fields marked uncalibrated, insufficient-data flags surfaced.",
"inputSchema": {
"properties": {},
"title": "get_macroArguments",
"type": "object"
},
"name": "get_macro",
"outputSchema": {
"$defs": {
"MacroReport": {
"additionalProperties": true,
"description": "Top-level shape of macro_analyzer.load_report() + honesty overlays\nadded by /macro REST handler (api.py:1064-1130).",
"properties": {
"btc": {
"anyOf": [
{
"$ref": "#/$defs/MacroSub"
},
{
"type": "null"
}
],
"default": null
},
"calendar_risks": {
"items": {},
"title": "Calendar Risks",
"type": "array"
},
"calibration": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Calibration"
},
"disclaimer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclaimer"
},
"eth": {
"anyOf": [
{
"$ref": "#/$defs/MacroSub"
},
{
"type": "null"
}
],
"default": null
},
"generated_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Generated At"
},
"horizon": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Horizon"
},
"regime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Regime"
},
"regime_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Regime Reason"
},
"summary_md": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Summary Md"
},
"window_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Window Days"
}
},
"title": "MacroReport",
"type": "object"
},
"MacroSub": {
"additionalProperties": true,
"description": "macro_analyzer.load_report()['btc' or 'eth'] shape — verified from\n/app/data/macro_history/macro_*.json files on evo-x2-llm.",
"properties": {
"bias": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Bias"
},
"calibration": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Calibration"
},
"conviction": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Conviction"
},
"invalidation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Invalidation"
},
"key_levels": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Key Levels"
},
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Reason"
},
"sample_size": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Sample Size"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Status"
},
"sufficient_data": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Sufficient Data"
}
},
"title": "MacroSub",
"type": "object"
}
},
"additionalProperties": true,
"description": "Mirror of REST /macro: {current, history?, history_note?}.",
"properties": {
"current": {
"$ref": "#/$defs/MacroReport"
},
"history": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/MacroReport"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "History"
},
"history_note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "History Note"
}
},
"required": [
"current"
],
"title": "MacroOut",
"type": "object"
}
},
{
"description": "[CONTEXT] Active signals whose direction AGREES with the current macro bias (conviction ≥ 0.6). Uses the same rule the internal pipeline uses to boost confidence x1.12 (vs CONFLICTS, which dampens x0.88). macro and macro_pulse signal types are excluded (they ARE the macro). Optional asset filter.",
"inputSchema": {
"properties": {
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset"
},
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 50,
"title": "Limit"
}
},
"title": "get_macro_aligned_signalsArguments",
"type": "object"
},
"name": "get_macro_aligned_signals",
"outputSchema": {
"$defs": {
"FlippedCellStats": {
"additionalProperties": true,
"properties": {
"avg_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Avg Pnl Pct"
},
"cell": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cell"
},
"sample_n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Sample N"
},
"win_rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Win Rate"
}
},
"title": "FlippedCellStats",
"type": "object"
},
"HistoricalEdge": {
"additionalProperties": true,
"description": "Output of historical_edge.enrich_signal — fields from cell_stats.json.",
"properties": {
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "As Of"
},
"avg_pnl_pct": {
"title": "Avg Pnl Pct",
"type": "number"
},
"cell": {
"title": "Cell",
"type": "string"
},
"median_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Median Pnl Pct"
},
"sample_n": {
"title": "Sample N",
"type": "integer"
},
"win_rate": {
"title": "Win Rate",
"type": "number"
}
},
"required": [
"cell",
"sample_n",
"win_rate",
"avg_pnl_pct"
],
"title": "HistoricalEdge",
"type": "object"
},
"PairedInverse": {
"additionalProperties": true,
"description": "Output of historical_edge for anti-predictive cells. Includes cost-tier\nadjudication added in commit c041582.",
"properties": {
"advisory_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Advisory Text"
},
"basis": {
"title": "Basis",
"type": "string"
},
"citation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Citation"
},
"cost_tier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cost Tier"
},
"direction": {
"enum": [
"bullish",
"bearish",
"neutral"
],
"title": "Direction",
"type": "string"
},
"flipped_cell_stats": {
"anyOf": [
{
"$ref": "#/$defs/FlippedCellStats"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Flipped Cell Stats"
},
"implied_avg_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Implied Avg Pnl Pct"
},
"inverse_validated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Inverse Validated"
},
"round_trip_cost_pct_assumed": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Round Trip Cost Pct Assumed"
}
},
"required": [
"direction",
"basis"
],
"title": "PairedInverse",
"type": "object"
},
"SignalOut": {
"additionalProperties": true,
"description": "Mirror of api.py list_signals + single-signal entry serializer.\n\nFields in REST list response (api.py:600-660):\n id, asset, signal_type, direction, urgency, summary, confidence,\n action_hint, corroborated, score, timestamp, expires_at,\n trade_quality_score, trade_quality_band, expected_move_pct, regime_at_signal,\n manipulation_score, coordinated_pump_prob,\n signal_latency_secs, priced_in_score, priced_in_ret_1h_pct, priced_in_vol_z,\n disclaimer\n+ via _attach_type_performance: type_performance\n+ via historical_edge.enrich_signal: historical_edge, paired_inverse, calibration_inverted_in_cell\n+ trade_signal only: reference_price, invalidation_level, target_level, levels_basis\n+ Pro tier only: sources (list), source (str), channel (str)\n+ Pro single-signal only: content",
"properties": {
"action_hint": {
"anyOf": [
{
"enum": [
"trade_signal",
"alert",
"monitor",
"ignore"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Action Hint"
},
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset"
},
"asset_class": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset Class"
},
"calibration_inverted_in_cell": {
"default": false,
"title": "Calibration Inverted In Cell",
"type": "boolean"
},
"channel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Channel"
},
"confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence"
},
"confidence_revised_by_corroboration": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Revised By Corroboration"
},
"confidence_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Status"
},
"confidence_suppressed_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Suppressed Reason"
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content"
},
"conviction": {
"anyOf": [
{
"enum": [
"strong",
"notable",
"watch",
"none"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Conviction"
},
"coordinated_pump_prob": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Coordinated Pump Prob"
},
"corroborated": {
"default": false,
"title": "Corroborated",
"type": "boolean"
},
"direction": {
"enum": [
"bullish",
"bearish",
"neutral"
],
"title": "Direction",
"type": "string"
},
"disclaimer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclaimer"
},
"expected_move_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Expected Move Pct"
},
"expires_at": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Expires At"
},
"historical_edge": {
"anyOf": [
{
"$ref": "#/$defs/HistoricalEdge"
},
{
"type": "null"
}
],
"default": null
},
"id": {
"title": "Id",
"type": "integer"
},
"invalidation_level": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Invalidation Level"
},
"levels_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Levels Basis"
},
"manipulation_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Manipulation Score"
},
"model_transform": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Model Transform"
},
"observed_behavior": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Behavior"
},
"observed_direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Direction"
},
"observed_entity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Entity"
},
"paired_inverse": {
"anyOf": [
{
"$ref": "#/$defs/PairedInverse"
},
{
"type": "null"
}
],
"default": null
},
"predicted_direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Predicted Direction"
},
"priced_in_ret_1h_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Ret 1H Pct"
},
"priced_in_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Score"
},
"priced_in_vol_z": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Vol Z"
},
"reference_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Reference Price"
},
"regime_at_signal": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Regime At Signal"
},
"score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": 0,
"title": "Score"
},
"signal_latency_secs": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Signal Latency Secs"
},
"signal_type": {
"title": "Signal Type",
"type": "string"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Source"
},
"sources": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Sources"
},
"summary": {
"title": "Summary",
"type": "string"
},
"target_level": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Target Level"
},
"timestamp": {
"title": "Timestamp",
"type": "integer"
},
"trade_quality_band": {
"anyOf": [
{
"enum": [
"A+",
"A",
"B",
"C",
"D"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Trade Quality Band"
},
"trade_quality_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Trade Quality Score"
},
"transform_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Basis"
},
"transform_sample_n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Sample N"
},
"transform_validation_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Validation Status"
},
"type_performance": {
"anyOf": [
{
"$ref": "#/$defs/TypePerformance"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Type Performance"
},
"urgency": {
"anyOf": [
{
"enum": [
"high",
"medium",
"low"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Urgency"
}
},
"required": [
"id",
"signal_type",
"direction",
"summary",
"timestamp"
],
"title": "SignalOut",
"type": "object"
},
"TypePerformance": {
"additionalProperties": true,
"description": "Attached to signals via _attach_type_performance in api.py.",
"properties": {
"excess_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Excess Pct"
},
"hit_rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Hit Rate"
},
"n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "N"
},
"proven": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Proven"
}
},
"title": "TypePerformance",
"type": "object"
}
},
"additionalProperties": true,
"description": "Mirror of api.py /signals response: {count, signals, market_opens?}.",
"properties": {
"count": {
"title": "Count",
"type": "integer"
},
"market_opens": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Market Opens"
},
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Next Cursor"
},
"server_timestamp": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Server Timestamp"
},
"signals": {
"items": {
"$ref": "#/$defs/SignalOut"
},
"title": "Signals",
"type": "array"
}
},
"required": [
"count",
"signals"
],
"title": "SignalListOut",
"type": "object"
}
},
{
"description": "[FORENSICS] Manipulation-risk analysis for one asset: composite manipulation score, coordinated-pump probability, fake-engagement risk, liquidation-cascade detection. Richer than the per-signal manipulation_score field — this is the full standalone read. Mirrors REST /manipulation/{coin}. Analytical, not advice.",
"inputSchema": {
"properties": {
"coin": {
"title": "Coin",
"type": "string"
}
},
"required": [
"coin"
],
"title": "get_manipulationArguments",
"type": "object"
},
"name": "get_manipulation",
"outputSchema": null
},
{
"description": "[CONTEXT] Nearest historical market-state analogs to right now: k-NN over the cross-asset state (SPX/NDX momentum, VIX level + term structure, DXY, yield curve) with what SPX/NDX/BTC actually did over the following 1d/5d (median, quartiles, hit-rate) per analog and in aggregate. k = 3-25 (default 12), episode-separated. Same data as REST /analogs. Conditioning context, NOT a prediction.",
"inputSchema": {
"properties": {
"k": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 12,
"title": "K"
}
},
"title": "get_market_analogsArguments",
"type": "object"
},
"name": "get_market_analogs",
"outputSchema": null
},
{
"description": "[START HERE — market overview] One-call morning brief: market regime (risk appetite), liquidity read, high-impact events next 72h, the engine's actionable reads (has_trade_signal + reads[]), and cross-asset trade-plan ranking — compact projections of get_market_regime / get_liquidity_map / get_economic_calendar / get_actionable_signals / rank_trades, assembled server-side. Optional coin arg scopes the actionable reads to that coin and adds it to the ranked set (ranking stays setup_score-sorted). Drill into any block with the underlying tool. Descriptive + engine verdicts; uncalibrated blocks labeled; not financial advice.",
"inputSchema": {
"properties": {
"coin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Coin"
}
},
"title": "get_market_briefArguments",
"type": "object"
},
"name": "get_market_brief",
"outputSchema": null
},
{
"description": "[DRILL-DOWN] Latest TradFi market open prices for BTC/ETH/SOL across sessions. Source: watchers.market_opening_watcher.get_latest_opens(). Same data as REST /market-opens.",
"inputSchema": {
"properties": {},
"title": "get_market_opensArguments",
"type": "object"
},
"name": "get_market_opens",
"outputSchema": {
"additionalProperties": true,
"description": "Mirror of /market-opens: {market_opens: ...}.",
"properties": {
"market_opens": {
"additionalProperties": true,
"title": "Market Opens",
"type": "object"
}
},
"required": [
"market_opens"
],
"title": "MarketOpensOut",
"type": "object"
}
},
{
"description": "[CONTEXT — market overview] Market-wide risk-appetite read: risk-on / risk-off / squeeze from a blend of the macro composite, cross-sectional breadth, funding regime and vol. Answers 'do conditions favor risk right now?'. Mirrors REST /regime. Descriptive, uncalibrated, not financial advice. One-call morning brief incl. this block: get_market_brief.",
"inputSchema": {
"properties": {},
"title": "get_market_regimeArguments",
"type": "object"
},
"name": "get_market_regime",
"outputSchema": null
},
{
"description": "[DRILL-DOWN] Mindshare leaderboard: each asset's share of crypto attention across n0brains' sources over the window, ranked, with velocity (rising / falling / emerging). The edge is a coin's attention ACCELERATING before price moves. Directional proxy over n0brains sources, NOT a market-wide social-firehose absolute. Same data as REST /mindshare.",
"inputSchema": {
"properties": {},
"title": "get_mindshareArguments",
"type": "object"
},
"name": "get_mindshare",
"outputSchema": {
"additionalProperties": true,
"description": "Mirror of api.py /mindshare. Per-asset attention share + velocity, ranked.\nDirectional proxy over n0brains sources (see coverage_note).",
"properties": {
"assets": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Assets",
"type": "array"
},
"disclaimer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclaimer"
},
"sufficient_data": {
"default": true,
"title": "Sufficient Data",
"type": "boolean"
},
"total_mentions": {
"default": 0,
"title": "Total Mentions",
"type": "integer"
}
},
"title": "MindshareOut",
"type": "object"
}
},
{
"description": "[DRILL-DOWN] One coin's mindshare: its attention share %, rank, and velocity vs the prior window (rising/falling/stable/emerging). Same data as REST /mindshare/{coin}.",
"inputSchema": {
"properties": {
"coin": {
"title": "Coin",
"type": "string"
}
},
"required": [
"coin"
],
"title": "get_mindshare_coinArguments",
"type": "object"
},
"name": "get_mindshare_coin",
"outputSchema": {
"additionalProperties": true,
"description": "Mirror of api.py /mindshare/{coin}. One coin's share, rank, velocity, trend.",
"properties": {
"coin": {
"title": "Coin",
"type": "string"
},
"disclaimer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclaimer"
},
"mindshare_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Mindshare Pct"
},
"rank": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Rank"
},
"sufficient_data": {
"default": true,
"title": "Sufficient Data",
"type": "boolean"
},
"trend": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Trend"
},
"velocity": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Velocity"
}
},
"required": [
"coin"
],
"title": "MindshareCoinOut",
"type": "object"
}
},
{
"description": "[FORENSICS] Narrative heatmap for one asset: signal momentum, velocity, decay, manipulation probability and directional conviction across 1h / 4h / 24h windows — is the story building or dying? Complements get_mindshare_coin (attention share) with time-structure. Mirrors REST /narrative/{coin}. Analytical, not advice.",
"inputSchema": {
"properties": {
"coin": {
"title": "Coin",
"type": "string"
}
},
"required": [
"coin"
],
"title": "get_narrativeArguments",
"type": "object"
},
"name": "get_narrative",
"outputSchema": null
},
{
"description": "[DRILL-DOWN] Options analytics for a coin (BTC or ETH): ATM implied vol, skew (put-call IV proxy — the fear gauge), IV term structure, put/call OI ratio, and max-pain, from public Deribit data. Positive skew = downside hedging/fear; term_structure slope > 0 = contango. Descriptive positioning, not prediction. Same data as REST /options/{coin}.",
"inputSchema": {
"properties": {
"coin": {
"title": "Coin",
"type": "string"
}
},
"required": [
"coin"
],
"title": "get_optionsArguments",
"type": "object"
},
"name": "get_options",
"outputSchema": {
"additionalProperties": true,
"description": "Mirror of api.py /options/{coin}. ATM IV, skew, term structure, P/C OI,\nmax-pain from Deribit. Descriptive (extra fields: method/disclaimer).",
"properties": {
"atm_iv": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Atm Iv"
},
"coin": {
"title": "Coin",
"type": "string"
},
"disclaimer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclaimer"
},
"max_pain": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Max Pain"
},
"put_call_oi_ratio": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Put Call Oi Ratio"
},
"skew": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Skew"
},
"spot": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Spot"
},
"term_structure": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Term Structure"
}
},
"required": [
"coin"
],
"title": "OptionsOut",
"type": "object"
}
},
{
"description": "[RECEIPTS] Backtest performance over last N days (1-365, default 30). Same data as REST /performance. Note: no asset filter — performance is aggregated across all assets. Performance is the live forward-return record by signal type. DENOMINATOR CONTRACT — every block (overall, by_signal_type, by_coin, by_source) carries total/wins/partials/losses/expired/settled/win_rate. `total` counts signals emitted, settled or NOT: most expire unsettled, so wins/total is not a win rate and ranks lanes backwards. `win` = full take-profit only; a partial is not a loss. Rank on win_rate (wins/settled) or avg_pnl. `win_rate` is null when settled=0 — that is 'not yet measurable', NOT zero. For the gated per-type verdict with confidence intervals and the tradeable badge, use get_proof instead.",
"inputSchema": {
"properties": {
"days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 30,
"title": "Days"
}
},
"title": "get_performanceArguments",
"type": "object"
},
"name": "get_performance",
"outputSchema": {
"additionalProperties": true,
"description": "Mirror of /performance. Real handler returns by-type breakdowns.\n\nNote: real handler does NOT accept asset filter. Tool should not advertise it.",
"properties": {
"days": {
"title": "Days",
"type": "integer"
}
},
"required": [
"days"
],
"title": "PerformanceOut",
"type": "object"
}
},
{
"description": "[READ FIRST] The routing guide for every n0brains tool: which tool answers which intent (find a trade / vet a trade / coin snapshot / market brief / monitoring) and how to interpret the honesty fields (action_hint, historical_edge, n_eff, calibration). Call this once if you are unsure which tool to use — it replaces trial-and-error over the 40-tool catalog. Static text, no market data, free tier.",
"inputSchema": {
"properties": {},
"title": "get_playbookArguments",
"type": "object"
},
"name": "get_playbook",
"outputSchema": null
},
{
"description": "[DRILL-DOWN — who is crowded] Positioning thesis for one coin: who is crowded and which way. Combines funding-rate crowding (30d z-score), taker CVD buy/sell dominance (2h + 24h), open-interest-vs-price divergence (new longs / short-covering / new shorts / capitulation), options put-call + skew + max-pain TREND (BTC/ETH/XRP/SOL), nearest liquidation magnets above/below with notional, and whale stance (fade-corrected) into a single net positioning bias in [-1,1] with plain-English reasoning per component, per-line data freshness, and a coverage grade (full/broad/partial/thin — how many of the 8 legs actually contributed; full means every leg, `missing` names any that did not, so a thin-coverage score cannot read like a full one). Use INSTEAD of manually combining get_liquidation_map + get_options + funding. Mirrors REST /positioning/{coin}. Conditioning context, not financial advice.",
"inputSchema": {
"properties": {
"coin": {
"default": "BTC",
"title": "Coin",
"type": "string"
}
},
"title": "get_positioningArguments",
"type": "object"
},
"name": "get_positioning",
"outputSchema": null
},
{
"description": "[TRUTH ANCHOR] THE canonical current price (live exchange mid) for a coin — the single source of truth every other n0brains tool's spot/current_price should agree with. Returns {coin, price, source, age_secs, ts}. Use this to sanity-check any analytic payload: if a tool's spot disagrees materially with this, that tool's price is stale and its read should be discounted. Free tier. Public data, not financial advice.",
"inputSchema": {
"properties": {
"coin": {
"title": "Coin",
"type": "string"
}
},
"required": [
"coin"
],
"title": "get_priceArguments",
"type": "object"
},
"name": "get_price",
"outputSchema": null
},
{
"description": "[TRUTH ANCHOR] Batch canonical prices for several coins in one call. coins = comma-separated symbols, e.g. 'BTC,ETH,SOL' (max 50). Returns {prices:{SYM:price}, missing:[...], source, age_secs}.",
"inputSchema": {
"properties": {
"coins": {
"title": "Coins",
"type": "string"
}
},
"required": [
"coins"
],
"title": "get_pricesArguments",
"type": "object"
},
"name": "get_prices",
"outputSchema": null
},
{
"description": "[RECEIPTS] The full public forward-return proof board — richer than get_performance: per-signal-type measured post-signal performance with the proven-gate `tradeable` badges, plus the SWING boards. Args: asset_class (stock|index|metal|commodity — same as get_asset_class_proof) OR horizon ('7d'|'14d'|'30d' for the swing-horizon boards, measurement-only, never badged tradeable). Omit both for the default 24h crypto board. Same data as REST /proof and n0brains.com/proof. Measured, not advice.",
"inputSchema": {
"properties": {
"asset_class": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset Class"
},
"horizon": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Horizon"
}
},
"title": "get_proofArguments",
"type": "object"
},
"name": "get_proof",
"outputSchema": null
},
{
"description": "[CONTEXT] Altseason/rotation read: is capital rotating INTO alts (altseason) or back to BTC (risk-off)? rotation_score in [-1,1] from relative-strength breadth + correlation trend. Breadth is a PROXY, not true BTC dominance. Uncalibrated heuristic. Same data as REST /rotation.",
"inputSchema": {
"properties": {},
"title": "get_rotationArguments",
"type": "object"
},
"name": "get_rotation",
"outputSchema": {
"additionalProperties": true,
"description": "Mirror of api.py /rotation. Altseason/rotation read — uncalibrated\nheuristic; breadth is a proxy not true dominance (see disclaimer/notes).",
"properties": {
"breadth": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Breadth"
},
"disclaimer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclaimer"
},
"regime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Regime"
},
"rotation_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Rotation Score"
},
"sufficient_data": {
"default": true,
"title": "Sufficient Data",
"type": "boolean"
},
"top_rotating_in": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Top Rotating In",
"type": "array"
},
"top_rotating_out": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Top Rotating Out",
"type": "array"
}
},
"title": "RotationOut",
"type": "object"
}
},
{
"description": "[DRILL-DOWN] Aggregate sentiment for a coin: net directional lean (confidence-weighted, recency-decayed), chatter volume + velocity (is it accelerating?), and contributing sources, over 24h. Coverage is CURATED high-edge authors — what the tracked smart-money voices lean, NOT mass social volume. Same data as REST /sentiment/{coin}.",
"inputSchema": {
"properties": {
"coin": {
"title": "Coin",
"type": "string"
}
},
"required": [
"coin"
],
"title": "get_sentimentArguments",
"type": "object"
},
"name": "get_sentiment",
"outputSchema": {
"additionalProperties": true,
"description": "Mirror of api.py /sentiment/{coin}. Net sentiment + volume + velocity from\ncurated authors (NOT mass social volume — see coverage_note).",
"properties": {
"accelerating": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Accelerating"
},
"coin": {
"title": "Coin",
"type": "string"
},
"disclaimer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclaimer"
},
"lean": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Lean"
},
"net_sentiment": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Net Sentiment"
},
"sufficient_data": {
"default": true,
"title": "Sufficient Data",
"type": "boolean"
},
"top_sources": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Top Sources",
"type": "array"
},
"velocity": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Velocity"
},
"volume": {
"default": 0,
"title": "Volume",
"type": "integer"
}
},
"required": [
"coin"
],
"title": "SentimentOut",
"type": "object"
}
},
{
"description": "[RAW FEED — detail] Fetch a single signal by ID with full enrichment (historical_edge, paired_inverse, latency, priced_in fields). Returns 404 semantics via tool error if signal not found.",
"inputSchema": {
"properties": {
"id": {
"title": "Id",
"type": "integer"
}
},
"required": [
"id"
],
"title": "get_signalArguments",
"type": "object"
},
"name": "get_signal",
"outputSchema": {
"$defs": {
"FlippedCellStats": {
"additionalProperties": true,
"properties": {
"avg_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Avg Pnl Pct"
},
"cell": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cell"
},
"sample_n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Sample N"
},
"win_rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Win Rate"
}
},
"title": "FlippedCellStats",
"type": "object"
},
"HistoricalEdge": {
"additionalProperties": true,
"description": "Output of historical_edge.enrich_signal — fields from cell_stats.json.",
"properties": {
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "As Of"
},
"avg_pnl_pct": {
"title": "Avg Pnl Pct",
"type": "number"
},
"cell": {
"title": "Cell",
"type": "string"
},
"median_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Median Pnl Pct"
},
"sample_n": {
"title": "Sample N",
"type": "integer"
},
"win_rate": {
"title": "Win Rate",
"type": "number"
}
},
"required": [
"cell",
"sample_n",
"win_rate",
"avg_pnl_pct"
],
"title": "HistoricalEdge",
"type": "object"
},
"PairedInverse": {
"additionalProperties": true,
"description": "Output of historical_edge for anti-predictive cells. Includes cost-tier\nadjudication added in commit c041582.",
"properties": {
"advisory_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Advisory Text"
},
"basis": {
"title": "Basis",
"type": "string"
},
"citation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Citation"
},
"cost_tier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cost Tier"
},
"direction": {
"enum": [
"bullish",
"bearish",
"neutral"
],
"title": "Direction",
"type": "string"
},
"flipped_cell_stats": {
"anyOf": [
{
"$ref": "#/$defs/FlippedCellStats"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Flipped Cell Stats"
},
"implied_avg_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Implied Avg Pnl Pct"
},
"inverse_validated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Inverse Validated"
},
"round_trip_cost_pct_assumed": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Round Trip Cost Pct Assumed"
}
},
"required": [
"direction",
"basis"
],
"title": "PairedInverse",
"type": "object"
},
"TypePerformance": {
"additionalProperties": true,
"description": "Attached to signals via _attach_type_performance in api.py.",
"properties": {
"excess_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Excess Pct"
},
"hit_rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Hit Rate"
},
"n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "N"
},
"proven": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Proven"
}
},
"title": "TypePerformance",
"type": "object"
}
},
"additionalProperties": true,
"description": "Mirror of api.py list_signals + single-signal entry serializer.\n\nFields in REST list response (api.py:600-660):\n id, asset, signal_type, direction, urgency, summary, confidence,\n action_hint, corroborated, score, timestamp, expires_at,\n trade_quality_score, trade_quality_band, expected_move_pct, regime_at_signal,\n manipulation_score, coordinated_pump_prob,\n signal_latency_secs, priced_in_score, priced_in_ret_1h_pct, priced_in_vol_z,\n disclaimer\n+ via _attach_type_performance: type_performance\n+ via historical_edge.enrich_signal: historical_edge, paired_inverse, calibration_inverted_in_cell\n+ trade_signal only: reference_price, invalidation_level, target_level, levels_basis\n+ Pro tier only: sources (list), source (str), channel (str)\n+ Pro single-signal only: content",
"properties": {
"action_hint": {
"anyOf": [
{
"enum": [
"trade_signal",
"alert",
"monitor",
"ignore"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Action Hint"
},
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset"
},
"asset_class": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset Class"
},
"calibration_inverted_in_cell": {
"default": false,
"title": "Calibration Inverted In Cell",
"type": "boolean"
},
"channel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Channel"
},
"confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence"
},
"confidence_revised_by_corroboration": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Revised By Corroboration"
},
"confidence_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Status"
},
"confidence_suppressed_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Suppressed Reason"
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content"
},
"conviction": {
"anyOf": [
{
"enum": [
"strong",
"notable",
"watch",
"none"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Conviction"
},
"coordinated_pump_prob": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Coordinated Pump Prob"
},
"corroborated": {
"default": false,
"title": "Corroborated",
"type": "boolean"
},
"direction": {
"enum": [
"bullish",
"bearish",
"neutral"
],
"title": "Direction",
"type": "string"
},
"disclaimer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclaimer"
},
"expected_move_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Expected Move Pct"
},
"expires_at": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Expires At"
},
"historical_edge": {
"anyOf": [
{
"$ref": "#/$defs/HistoricalEdge"
},
{
"type": "null"
}
],
"default": null
},
"id": {
"title": "Id",
"type": "integer"
},
"invalidation_level": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Invalidation Level"
},
"levels_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Levels Basis"
},
"manipulation_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Manipulation Score"
},
"model_transform": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Model Transform"
},
"observed_behavior": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Behavior"
},
"observed_direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Direction"
},
"observed_entity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Entity"
},
"paired_inverse": {
"anyOf": [
{
"$ref": "#/$defs/PairedInverse"
},
{
"type": "null"
}
],
"default": null
},
"predicted_direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Predicted Direction"
},
"priced_in_ret_1h_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Ret 1H Pct"
},
"priced_in_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Score"
},
"priced_in_vol_z": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Vol Z"
},
"reference_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Reference Price"
},
"regime_at_signal": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Regime At Signal"
},
"score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": 0,
"title": "Score"
},
"signal_latency_secs": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Signal Latency Secs"
},
"signal_type": {
"title": "Signal Type",
"type": "string"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Source"
},
"sources": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Sources"
},
"summary": {
"title": "Summary",
"type": "string"
},
"target_level": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Target Level"
},
"timestamp": {
"title": "Timestamp",
"type": "integer"
},
"trade_quality_band": {
"anyOf": [
{
"enum": [
"A+",
"A",
"B",
"C",
"D"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Trade Quality Band"
},
"trade_quality_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Trade Quality Score"
},
"transform_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Basis"
},
"transform_sample_n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Sample N"
},
"transform_validation_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Validation Status"
},
"type_performance": {
"anyOf": [
{
"$ref": "#/$defs/TypePerformance"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Type Performance"
},
"urgency": {
"anyOf": [
{
"enum": [
"high",
"medium",
"low"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Urgency"
}
},
"required": [
"id",
"signal_type",
"direction",
"summary",
"timestamp"
],
"title": "SignalOut",
"type": "object"
}
},
{
"description": "[RAW FEED — detail+context] Composite call: signal + same-asset S/R levels + active macro bias. Saves 2-3 round trips. Returns a dict (not a typed model — the composite shape varies).",
"inputSchema": {
"properties": {
"id": {
"title": "Id",
"type": "integer"
}
},
"required": [
"id"
],
"title": "get_signal_with_contextArguments",
"type": "object"
},
"name": "get_signal_with_context",
"outputSchema": {
"additionalProperties": true,
"title": "get_signal_with_contextDictOutput",
"type": "object"
}
},
{
"description": "[MONITORING] Polling alternative to the /stream WebSocket. Walks the signal stream in emission order (timestamp, id) from a cursor: pass `since_timestamp` (unix epoch seconds) and, to resume exactly, the `since_id` from the previous call's `cursor_id` (or parse `next_cursor` = 'timestamp:id'). Returns every signal emitted after the cursor — including ones that have since expired (see `status`) — up to `limit` (1-100, default 100), oldest first, with `has_more`. Keep calling while `has_more` is true. Free tier sees the standard delay; nothing is skipped, it arrives once the delay elapses. `server_timestamp` is still returned but is NOT a safe cursor (it moved past signals the page could not hold) — use next_cursor / cursor_timestamp + cursor_id.",
"inputSchema": {
"properties": {
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset"
},
"limit": {
"default": 100,
"title": "Limit",
"type": "integer"
},
"signal_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Signal Type"
},
"since_id": {
"default": 0,
"title": "Since Id",
"type": "integer"
},
"since_timestamp": {
"title": "Since Timestamp",
"type": "integer"
}
},
"required": [
"since_timestamp"
],
"title": "get_signals_sinceArguments",
"type": "object"
},
"name": "get_signals_since",
"outputSchema": {
"$defs": {
"FlippedCellStats": {
"additionalProperties": true,
"properties": {
"avg_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Avg Pnl Pct"
},
"cell": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cell"
},
"sample_n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Sample N"
},
"win_rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Win Rate"
}
},
"title": "FlippedCellStats",
"type": "object"
},
"HistoricalEdge": {
"additionalProperties": true,
"description": "Output of historical_edge.enrich_signal — fields from cell_stats.json.",
"properties": {
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "As Of"
},
"avg_pnl_pct": {
"title": "Avg Pnl Pct",
"type": "number"
},
"cell": {
"title": "Cell",
"type": "string"
},
"median_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Median Pnl Pct"
},
"sample_n": {
"title": "Sample N",
"type": "integer"
},
"win_rate": {
"title": "Win Rate",
"type": "number"
}
},
"required": [
"cell",
"sample_n",
"win_rate",
"avg_pnl_pct"
],
"title": "HistoricalEdge",
"type": "object"
},
"PairedInverse": {
"additionalProperties": true,
"description": "Output of historical_edge for anti-predictive cells. Includes cost-tier\nadjudication added in commit c041582.",
"properties": {
"advisory_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Advisory Text"
},
"basis": {
"title": "Basis",
"type": "string"
},
"citation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Citation"
},
"cost_tier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cost Tier"
},
"direction": {
"enum": [
"bullish",
"bearish",
"neutral"
],
"title": "Direction",
"type": "string"
},
"flipped_cell_stats": {
"anyOf": [
{
"$ref": "#/$defs/FlippedCellStats"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Flipped Cell Stats"
},
"implied_avg_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Implied Avg Pnl Pct"
},
"inverse_validated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Inverse Validated"
},
"round_trip_cost_pct_assumed": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Round Trip Cost Pct Assumed"
}
},
"required": [
"direction",
"basis"
],
"title": "PairedInverse",
"type": "object"
},
"SignalOut": {
"additionalProperties": true,
"description": "Mirror of api.py list_signals + single-signal entry serializer.\n\nFields in REST list response (api.py:600-660):\n id, asset, signal_type, direction, urgency, summary, confidence,\n action_hint, corroborated, score, timestamp, expires_at,\n trade_quality_score, trade_quality_band, expected_move_pct, regime_at_signal,\n manipulation_score, coordinated_pump_prob,\n signal_latency_secs, priced_in_score, priced_in_ret_1h_pct, priced_in_vol_z,\n disclaimer\n+ via _attach_type_performance: type_performance\n+ via historical_edge.enrich_signal: historical_edge, paired_inverse, calibration_inverted_in_cell\n+ trade_signal only: reference_price, invalidation_level, target_level, levels_basis\n+ Pro tier only: sources (list), source (str), channel (str)\n+ Pro single-signal only: content",
"properties": {
"action_hint": {
"anyOf": [
{
"enum": [
"trade_signal",
"alert",
"monitor",
"ignore"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Action Hint"
},
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset"
},
"asset_class": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset Class"
},
"calibration_inverted_in_cell": {
"default": false,
"title": "Calibration Inverted In Cell",
"type": "boolean"
},
"channel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Channel"
},
"confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence"
},
"confidence_revised_by_corroboration": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Revised By Corroboration"
},
"confidence_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Status"
},
"confidence_suppressed_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Suppressed Reason"
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content"
},
"conviction": {
"anyOf": [
{
"enum": [
"strong",
"notable",
"watch",
"none"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Conviction"
},
"coordinated_pump_prob": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Coordinated Pump Prob"
},
"corroborated": {
"default": false,
"title": "Corroborated",
"type": "boolean"
},
"direction": {
"enum": [
"bullish",
"bearish",
"neutral"
],
"title": "Direction",
"type": "string"
},
"disclaimer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclaimer"
},
"expected_move_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Expected Move Pct"
},
"expires_at": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Expires At"
},
"historical_edge": {
"anyOf": [
{
"$ref": "#/$defs/HistoricalEdge"
},
{
"type": "null"
}
],
"default": null
},
"id": {
"title": "Id",
"type": "integer"
},
"invalidation_level": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Invalidation Level"
},
"levels_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Levels Basis"
},
"manipulation_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Manipulation Score"
},
"model_transform": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Model Transform"
},
"observed_behavior": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Behavior"
},
"observed_direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Direction"
},
"observed_entity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Entity"
},
"paired_inverse": {
"anyOf": [
{
"$ref": "#/$defs/PairedInverse"
},
{
"type": "null"
}
],
"default": null
},
"predicted_direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Predicted Direction"
},
"priced_in_ret_1h_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Ret 1H Pct"
},
"priced_in_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Score"
},
"priced_in_vol_z": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Vol Z"
},
"reference_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Reference Price"
},
"regime_at_signal": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Regime At Signal"
},
"score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": 0,
"title": "Score"
},
"signal_latency_secs": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Signal Latency Secs"
},
"signal_type": {
"title": "Signal Type",
"type": "string"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Source"
},
"sources": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Sources"
},
"summary": {
"title": "Summary",
"type": "string"
},
"target_level": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Target Level"
},
"timestamp": {
"title": "Timestamp",
"type": "integer"
},
"trade_quality_band": {
"anyOf": [
{
"enum": [
"A+",
"A",
"B",
"C",
"D"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Trade Quality Band"
},
"trade_quality_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Trade Quality Score"
},
"transform_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Basis"
},
"transform_sample_n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Sample N"
},
"transform_validation_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Validation Status"
},
"type_performance": {
"anyOf": [
{
"$ref": "#/$defs/TypePerformance"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Type Performance"
},
"urgency": {
"anyOf": [
{
"enum": [
"high",
"medium",
"low"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Urgency"
}
},
"required": [
"id",
"signal_type",
"direction",
"summary",
"timestamp"
],
"title": "SignalOut",
"type": "object"
},
"TypePerformance": {
"additionalProperties": true,
"description": "Attached to signals via _attach_type_performance in api.py.",
"properties": {
"excess_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Excess Pct"
},
"hit_rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Hit Rate"
},
"n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "N"
},
"proven": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Proven"
}
},
"title": "TypePerformance",
"type": "object"
}
},
"additionalProperties": true,
"description": "Mirror of api.py /signals response: {count, signals, market_opens?}.",
"properties": {
"count": {
"title": "Count",
"type": "integer"
},
"market_opens": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Market Opens"
},
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Next Cursor"
},
"server_timestamp": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Server Timestamp"
},
"signals": {
"items": {
"$ref": "#/$defs/SignalOut"
},
"title": "Signals",
"type": "array"
}
},
"required": [
"count",
"signals"
],
"title": "SignalListOut",
"type": "object"
}
},
{
"description": "[START HERE — coin snapshot] Unified whole-system snapshot for one coin: current price, per-coin market-state consensus (proven-voter directional read), nearest support/resistance levels, liq-map target/invalidation, and the shared macro regime (deterministic FRED composite anchor + LLM read + any divergence). One call instead of stitching get_macro + get_market_state + get_levels. Drill down only if needed: get_positioning (who is crowded), get_indicators (momentum+Fib), get_liquidation_map (magnets), get_options (vol). Pro tier. Measured + AI data, not advice.",
"inputSchema": {
"properties": {
"coin": {
"default": "BTC",
"title": "Coin",
"type": "string"
}
},
"title": "get_stateArguments",
"type": "object"
},
"name": "get_state",
"outputSchema": null
},
{
"description": "[DRILL-DOWN — prose brief] LLM-written 'state of <coin>' in markdown: joins the headline consensus, macro composite, levels, technical indicators and flow context into one readable analysis you can quote to a user directly (the narrative layer over get_state; the structured payload rides along in `data`). Cached 15 min server-side. Mirrors REST /state/{coin}/brief. Pro. AI-generated synthesis, not advice.",
"inputSchema": {
"properties": {
"coin": {
"default": "BTC",
"title": "Coin",
"type": "string"
}
},
"title": "get_state_briefArguments",
"type": "object"
},
"name": "get_state_brief",
"outputSchema": null
},
{
"description": "[STEP 2 — plan one coin] Assembled trade plan for one coin: direction, entry, strongest target, stop, risk/reward, sizing hint, options context (put/call + skew), and warnings (max-pain timing against the trade, entry near a liq cluster). Mirrors GET /plan/{coin}. Analytical, not advice.",
"inputSchema": {
"properties": {
"coin": {
"title": "Coin",
"type": "string"
}
},
"required": [
"coin"
],
"title": "get_trade_planArguments",
"type": "object"
},
"name": "get_trade_plan",
"outputSchema": null
},
{
"description": "[FORENSICS] Trust / scam-risk screen for a token: resolves the ticker to a contract via DexScreener, then checks GoPlus Security for honeypot behavior, mint function, high taxes, and insider concentration. Run this BEFORE taking any alt-coin signal seriously — a bullish read on a honeypot is worthless. Mirrors REST /trust/{coin}. Analytical data only, not financial advice.",
"inputSchema": {
"properties": {
"coin": {
"title": "Coin",
"type": "string"
}
},
"required": [
"coin"
],
"title": "get_trustArguments",
"type": "object"
},
"name": "get_trust",
"outputSchema": null
},
{
"description": "[META] Your own API usage: total calls, per-day series and top endpoints over period '7d' or '30d'. Use it to budget calls — free tier check_trade is 3/day (get_check_history shows the remaining count). Mirrors REST /usage. Private to your account.",
"inputSchema": {
"properties": {
"period": {
"default": "7d",
"title": "Period",
"type": "string"
}
},
"title": "get_usageArguments",
"type": "object"
},
"name": "get_usage",
"outputSchema": null
},
{
"description": "[META] Liveness + lightweight pipeline stats: uptime, signals in last 1h, current macro regime, classifier backlog, local-LLM classify breaker state (mode/open/consecutive fails). Mirrors REST GET /health with extra context. Pro-gated (per tools/call rule) — use REST /health for unauthenticated liveness.",
"inputSchema": {
"properties": {},
"title": "healthArguments",
"type": "object"
},
"name": "health",
"outputSchema": {
"additionalProperties": true,
"description": "MCP /health tool. Mirrors GET /health (live route on container) but\nadds backlog + regime context.",
"properties": {
"classifier_backlog_size": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Classifier Backlog Size"
},
"current_regime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Current Regime"
},
"fp_dedup_active": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Fp Dedup Active"
},
"llm_breaker_consecutive_fails": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Llm Breaker Consecutive Fails"
},
"llm_breaker_mode": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Llm Breaker Mode"
},
"llm_breaker_open": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Llm Breaker Open"
},
"signal_count_last_1h": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Signal Count Last 1H"
},
"status": {
"default": "ok",
"enum": [
"ok",
"degraded"
],
"title": "Status",
"type": "string"
},
"timestamp": {
"title": "Timestamp",
"type": "integer"
},
"uptime_secs": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Uptime Secs"
}
},
"required": [
"timestamp"
],
"title": "HealthOut",
"type": "object"
}
},
{
"description": "[RAW FEED — engine inputs, NOT trade calls] List active n0brains signals with optional filters. Filters: asset (e.g. 'ETH'), signal_type (whale|sentiment|listing|regulatory|macro|macro_pulse|liquidation|funding|hack|price|other), direction (bullish|bearish|neutral), urgency (high|medium|low), min_confidence, min_score, limit (1-100, default 20), offset. Each signal includes historical_edge, paired_inverse, signal_latency_secs, priced_in_*, calibration_inverted_in_cell. CONFIDENCE CONTRACT: confidence = calibrated empirical win-probability estimate (binned per signal_type), NOT raw model output; when confidence is null, confidence_v2 + outcome_record (2026-09-02) = this asset x type x direction x context's measured 24h outcome record with a day-clustered interval, peer rank and `distinguishable` — quote it only with its n/days/ci95; confidence_suppressed_reason says why; confidence_status is one of calibrated|floor_demoted_at_emit|suppressed_anti_predictive|demoted_anti_predictive_type. Transform emitters (whale_position leaderboard fade) carry observed_direction/observed_behavior/model_transform/predicted_direction so the raw observation is never lost. Most rows carry action_hint=ignore — engine inputs, not calls; read historical_edge (cell win_rate) before echoing any direction. For tradeable output use get_actionable_signals.",
"inputSchema": {
"properties": {
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset"
},
"direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Direction"
},
"limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": 20,
"title": "Limit"
},
"min_confidence": {
"default": 0,
"title": "Min Confidence",
"type": "number"
},
"min_score": {
"default": 0,
"title": "Min Score",
"type": "number"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
},
"signal_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Signal Type"
},
"urgency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Urgency"
}
},
"title": "list_signalsArguments",
"type": "object"
},
"name": "list_signals",
"outputSchema": {
"$defs": {
"FlippedCellStats": {
"additionalProperties": true,
"properties": {
"avg_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Avg Pnl Pct"
},
"cell": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cell"
},
"sample_n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Sample N"
},
"win_rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Win Rate"
}
},
"title": "FlippedCellStats",
"type": "object"
},
"HistoricalEdge": {
"additionalProperties": true,
"description": "Output of historical_edge.enrich_signal — fields from cell_stats.json.",
"properties": {
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "As Of"
},
"avg_pnl_pct": {
"title": "Avg Pnl Pct",
"type": "number"
},
"cell": {
"title": "Cell",
"type": "string"
},
"median_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Median Pnl Pct"
},
"sample_n": {
"title": "Sample N",
"type": "integer"
},
"win_rate": {
"title": "Win Rate",
"type": "number"
}
},
"required": [
"cell",
"sample_n",
"win_rate",
"avg_pnl_pct"
],
"title": "HistoricalEdge",
"type": "object"
},
"PairedInverse": {
"additionalProperties": true,
"description": "Output of historical_edge for anti-predictive cells. Includes cost-tier\nadjudication added in commit c041582.",
"properties": {
"advisory_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Advisory Text"
},
"basis": {
"title": "Basis",
"type": "string"
},
"citation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Citation"
},
"cost_tier": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cost Tier"
},
"direction": {
"enum": [
"bullish",
"bearish",
"neutral"
],
"title": "Direction",
"type": "string"
},
"flipped_cell_stats": {
"anyOf": [
{
"$ref": "#/$defs/FlippedCellStats"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Flipped Cell Stats"
},
"implied_avg_pnl_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Implied Avg Pnl Pct"
},
"inverse_validated": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Inverse Validated"
},
"round_trip_cost_pct_assumed": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Round Trip Cost Pct Assumed"
}
},
"required": [
"direction",
"basis"
],
"title": "PairedInverse",
"type": "object"
},
"SignalOut": {
"additionalProperties": true,
"description": "Mirror of api.py list_signals + single-signal entry serializer.\n\nFields in REST list response (api.py:600-660):\n id, asset, signal_type, direction, urgency, summary, confidence,\n action_hint, corroborated, score, timestamp, expires_at,\n trade_quality_score, trade_quality_band, expected_move_pct, regime_at_signal,\n manipulation_score, coordinated_pump_prob,\n signal_latency_secs, priced_in_score, priced_in_ret_1h_pct, priced_in_vol_z,\n disclaimer\n+ via _attach_type_performance: type_performance\n+ via historical_edge.enrich_signal: historical_edge, paired_inverse, calibration_inverted_in_cell\n+ trade_signal only: reference_price, invalidation_level, target_level, levels_basis\n+ Pro tier only: sources (list), source (str), channel (str)\n+ Pro single-signal only: content",
"properties": {
"action_hint": {
"anyOf": [
{
"enum": [
"trade_signal",
"alert",
"monitor",
"ignore"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Action Hint"
},
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset"
},
"asset_class": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Asset Class"
},
"calibration_inverted_in_cell": {
"default": false,
"title": "Calibration Inverted In Cell",
"type": "boolean"
},
"channel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Channel"
},
"confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence"
},
"confidence_revised_by_corroboration": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Revised By Corroboration"
},
"confidence_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Status"
},
"confidence_suppressed_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Confidence Suppressed Reason"
},
"content": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content"
},
"conviction": {
"anyOf": [
{
"enum": [
"strong",
"notable",
"watch",
"none"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Conviction"
},
"coordinated_pump_prob": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Coordinated Pump Prob"
},
"corroborated": {
"default": false,
"title": "Corroborated",
"type": "boolean"
},
"direction": {
"enum": [
"bullish",
"bearish",
"neutral"
],
"title": "Direction",
"type": "string"
},
"disclaimer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Disclaimer"
},
"expected_move_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Expected Move Pct"
},
"expires_at": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Expires At"
},
"historical_edge": {
"anyOf": [
{
"$ref": "#/$defs/HistoricalEdge"
},
{
"type": "null"
}
],
"default": null
},
"id": {
"title": "Id",
"type": "integer"
},
"invalidation_level": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Invalidation Level"
},
"levels_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Levels Basis"
},
"manipulation_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Manipulation Score"
},
"model_transform": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Model Transform"
},
"observed_behavior": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Behavior"
},
"observed_direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Direction"
},
"observed_entity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Observed Entity"
},
"paired_inverse": {
"anyOf": [
{
"$ref": "#/$defs/PairedInverse"
},
{
"type": "null"
}
],
"default": null
},
"predicted_direction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Predicted Direction"
},
"priced_in_ret_1h_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Ret 1H Pct"
},
"priced_in_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Score"
},
"priced_in_vol_z": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Priced In Vol Z"
},
"reference_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Reference Price"
},
"regime_at_signal": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Regime At Signal"
},
"score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": 0,
"title": "Score"
},
"signal_latency_secs": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Signal Latency Secs"
},
"signal_type": {
"title": "Signal Type",
"type": "string"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Source"
},
"sources": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Sources"
},
"summary": {
"title": "Summary",
"type": "string"
},
"target_level": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Target Level"
},
"timestamp": {
"title": "Timestamp",
"type": "integer"
},
"trade_quality_band": {
"anyOf": [
{
"enum": [
"A+",
"A",
"B",
"C",
"D"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Trade Quality Band"
},
"trade_quality_score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Trade Quality Score"
},
"transform_basis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Basis"
},
"transform_sample_n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Sample N"
},
"transform_validation_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Transform Validation Status"
},
"type_performance": {
"anyOf": [
{
"$ref": "#/$defs/TypePerformance"
},
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Type Performance"
},
"urgency": {
"anyOf": [
{
"enum": [
"high",
"medium",
"low"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Urgency"
}
},
"required": [
"id",
"signal_type",
"direction",
"summary",
"timestamp"
],
"title": "SignalOut",
"type": "object"
},
"TypePerformance": {
"additionalProperties": true,
"description": "Attached to signals via _attach_type_performance in api.py.",
"properties": {
"excess_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Excess Pct"
},
"hit_rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Hit Rate"
},
"n": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "N"
},
"proven": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Proven"
}
},
"title": "TypePerformance",
"type": "object"
}
},
"additionalProperties": true,
"description": "Mirror of api.py /signals response: {count, signals, market_opens?}.",
"properties": {
"count": {
"title": "Count",
"type": "integer"
},
"market_opens": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Market Opens"
},
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Next Cursor"
},
"server_timestamp": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Server Timestamp"
},
"signals": {
"items": {
"$ref": "#/$defs/SignalOut"
},
"title": "Signals",
"type": "array"
}
},
"required": [
"count",
"signals"
],
"title": "SignalListOut",
"type": "object"
}
},
{
"description": "[JOURNAL] Log a REAL trade entry into your private n0brains journal the moment it fills. Give asset + side (long/short); optionally entry (defaults to live price), stop, target, size_usd, leverage, thesis (why you took it). n0brains snapshots full entry conditions automatically (grade, flags, positioning, regime — an internal check_trade) so nothing needs hand-transcribing. HISTORICAL backfill: pass opened_at (epoch seconds of the real fill) + explicit entry; the entry grade is then taken from YOUR check_trade nearest the fill (±6h, same asset+side) — the read you actually got at the time, never re-graded on today's tape; no matched check = ungraded. Close with close_trade; read back with get_journal. Returns trade_id + the entry assessment. Journal is private to your account. Pro.",
"inputSchema": {
"properties": {
"asset": {
"title": "Asset",
"type": "string"
},
"entry": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Entry"
},
"leverage": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Leverage"
},
"opened_at": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Opened At"
},
"side": {
"title": "Side",
"type": "string"
},
"size_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Size Usd"
},
"stop": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Stop"
},
"target": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Target"
},
"thesis": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Thesis"
}
},
"required": [
"asset",
"side"
],
"title": "log_tradeArguments",
"type": "object"
},
"name": "log_trade",
"outputSchema": null
},
{
"description": "[STEP 2 — pick the coin] Cross-asset ranking: assembled trade plans for the given coins sorted by setup_score (best first) — answers 'which coin is the better trade right now?'. coins = comma-separated (default BTC,ETH,SOL). Mirrors GET /rank. Analytical, not advice.",
"inputSchema": {
"properties": {
"coins": {
"default": "BTC,ETH,SOL",
"title": "Coins",
"type": "string"
}
},
"title": "rank_tradesArguments",
"type": "object"
},
"name": "rank_trades",
"outputSchema": null
},
{
"description": "[JOURNAL] Void a mis-logged journal trade by trade_id (wrong asset, duplicate, fat-finger) with an optional reason. Soft-delete: the trade is removed from your stats and the default journal view but retained and recoverable (get_journal status='void' lists voided trades). Voiding a CLOSED trade removes its outcome from your calibration — disclosed in the response. Use this for entries that never should have existed; use close_trade for real trades that ended. Pro.",
"inputSchema": {
"properties": {
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Reason"
},
"trade_id": {
"title": "Trade Id",
"type": "integer"
}
},
"required": [
"trade_id"
],
"title": "void_tradeArguments",
"type": "object"
},
"name": "void_trade",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:03cb29281bd448107c78599220c4dff77651eb12306f93be3f85f6b8df877749 | sha256sum