MCP-Server

mcp

com.n0brains/mcp
Krypto & Web3 Finanzen & Investieren Nicht verfügbar MCP 2025-11-25

Was dieses MCP kann

Provides crypto and cross-asset market intelligence, trade assessments, signals, technical indicators, positioning data, liquidation maps, and trade journaling.

amend_trade
Amend Trade
[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.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', 'title': 'amend_tradeArguments', 'required': ['trade_id'], 'properties': {'stop': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Stop', 'default': None}, 'entry': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Entry', 'default': None}, 'target': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Target', 'default': None}, 'thesis': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Thesis', 'default': None}, 'leverage': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Leverage', 'default': None}, 'size_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Size Usd', 'default': None}, 'trade_id': {'type': 'integer', 'title': 'Trade Id'}, 'correct_entry': {'type': 'boolean', 'title': 'Correct Entry', 'default': False}}}
check_trade
Check Trade
[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.
Eingabeschema
{'type': 'object', 'title': 'check_tradeArguments', 'required': ['asset', 'side'], 'properties': {'side': {'type': 'string', 'title': 'Side'}, 'stop': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Stop', 'default': None}, 'asset': {'type': 'string', 'title': 'Asset'}, 'entry': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Entry', 'default': None}, 'target': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Target', 'default': None}, 'leverage': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Leverage', 'default': None}, 'horizon_hours': {'type': 'integer', 'title': 'Horizon Hours', 'default': 24}}}
close_trade
Close Trade
[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.
Destruktiv
Eingabeschema
{'type': 'object', 'title': 'close_tradeArguments', 'required': ['trade_id'], 'properties': {'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Note', 'default': None}, 'trade_id': {'type': 'integer', 'title': 'Trade Id'}, 'closed_at': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Closed At', 'default': None}, 'exit_price': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Exit Price', 'default': None}}}
find_similar_signals
Find Similar Signals
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'find_similar_signalsArguments', 'properties': {'k': {'type': 'integer', 'title': 'K', 'default': 5}, 'q': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Q', 'default': None}, 'coin': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Coin', 'default': None}}}
get_actionable_signals
Actionable Signals
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_actionable_signalsArguments', 'properties': {'asset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset', 'default': None}, 'min_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Min Score', 'default': None}, 'max_age_min': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Max Age Min', 'default': 60}, 'signal_type': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Signal Type', 'default': None}, 'min_confidence': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Min Confidence', 'default': None}}}
Ausgabeschema
{'type': 'object', '$defs': {'SignalOut': {'type': 'object', 'title': 'SignalOut', 'required': ['id', 'signal_type', 'direction', 'summary', 'timestamp'], 'properties': {'id': {'type': 'integer', 'title': 'Id'}, 'asset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset', 'default': None}, 'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Score', 'default': 0.0}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'default': None}, 'channel': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Channel', 'default': None}, 'content': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Content', 'default': None}, 'sources': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Sources', 'default': None}, 'summary': {'type': 'string', 'title': 'Summary'}, 'urgency': {'anyOf': [{'enum': ['high', 'medium', 'low'], 'type': 'string'}, {'type': 'null'}], 'title': 'Urgency', 'default': None}, 'direction': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string', 'title': 'Direction'}, 'timestamp': {'type': 'integer', 'title': 'Timestamp'}, 'confidence': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Confidence', 'default': None}, 'conviction': {'anyOf': [{'enum': ['strong', 'notable', 'watch', 'none'], 'type': 'string'}, {'type': 'null'}], 'title': 'Conviction', 'default': None}, 'disclaimer': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Disclaimer', 'default': None}, 'expires_at': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Expires At', 'default': None}, 'action_hint': {'anyOf': [{'enum': ['trade_signal', 'alert', 'monitor', 'ignore'], 'type': 'string'}, {'type': 'null'}], 'title': 'Action Hint', 'default': None}, 'asset_class': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset Class', 'default': None}, 'signal_type': {'type': 'string', 'title': 'Signal Type'}, 'corroborated': {'type': 'boolean', 'title': 'Corroborated', 'default': False}, 'levels_basis': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Levels Basis', 'default': None}, 'target_level': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Target Level', 'default': None}, 'paired_inverse': {'anyOf': [{'$ref': '#/$defs/PairedInverse'}, {'type': 'null'}], 'default': None}, 'historical_edge': {'anyOf': [{'$ref': '#/$defs/HistoricalEdge'}, {'type': 'null'}], 'default': None}, 'model_transform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Model Transform', 'default': None}, 'observed_entity': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Entity', 'default': None}, 'priced_in_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Score', 'default': None}, 'priced_in_vol_z': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Vol Z', 'default': None}, 'reference_price': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Reference Price', 'default': None}, 'transform_basis': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Transform Basis', 'default': None}, 'regime_at_signal': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Regime At Signal', 'default': None}, 'type_performance': {'anyOf': [{'$ref': '#/$defs/TypePerformance'}, {'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Type Performance', 'default': None}, 'confidence_status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Confidence Status', 'default': None}, 'expected_move_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Expected Move Pct', 'default': None}, 'observed_behavior': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Behavior', 'default': None}, 'invalidation_level': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Invalidation Level', 'default': None}, 'manipulation_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Manipulation Score', 'default': None}, 'observed_direction': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Direction', 'default': None}, 'trade_quality_band': {'anyOf': [{'enum': ['A+', 'A', 'B', 'C', 'D'], 'type': 'string'}, {'type': 'null'}], 'title': 'Trade Quality Band', 'default': None}, 'transform_sample_n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Transform Sample N', 'default': None}, 'predicted_direction': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Predicted Direction', 'default': None}, 'signal_latency_secs': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Signal Latency Secs', 'default': None}, 'trade_quality_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Trade Quality Score', 'default': None}, 'priced_in_ret_1h_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Ret 1H Pct', 'default': None}, 'coordinated_pump_prob': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Coordinated Pump Prob', 'default': None}, 'transform_validation_status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Transform Validation Status', 'default': None}, 'calibration_inverted_in_cell': {'type': 'boolean', 'title': 'Calibration Inverted In Cell', 'default': False}, 'confidence_suppressed_reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Confidence Suppressed Reason', 'default': None}, 'confidence_revised_by_corroboration': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Confidence Revised By Corroboration', 'default': None}}, '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', 'additionalProperties': True}, 'PairedInverse': {'type': 'object', 'title': 'PairedInverse', 'required': ['direction', 'basis'], 'properties': {'basis': {'type': 'string', 'title': 'Basis'}, 'citation': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Citation', 'default': None}, 'cost_tier': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Cost Tier', 'default': None}, 'direction': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string', 'title': 'Direction'}, 'advisory_text': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Advisory Text', 'default': None}, 'inverse_validated': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Inverse Validated', 'default': None}, 'flipped_cell_stats': {'anyOf': [{'$ref': '#/$defs/FlippedCellStats'}, {'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Flipped Cell Stats', 'default': None}, 'implied_avg_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Implied Avg Pnl Pct', 'default': None}, 'round_trip_cost_pct_assumed': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Round Trip Cost Pct Assumed', 'default': None}}, 'description': 'Output of historical_edge for anti-predictive cells. Includes cost-tier\nadjudication added in commit c041582.', 'additionalProperties': True}, 'HistoricalEdge': {'type': 'object', 'title': 'HistoricalEdge', 'required': ['cell', 'sample_n', 'win_rate', 'avg_pnl_pct'], 'properties': {'cell': {'type': 'string', 'title': 'Cell'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'sample_n': {'type': 'integer', 'title': 'Sample N'}, 'win_rate': {'type': 'number', 'title': 'Win Rate'}, 'avg_pnl_pct': {'type': 'number', 'title': 'Avg Pnl Pct'}, 'median_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Median Pnl Pct', 'default': None}}, 'description': 'Output of historical_edge.enrich_signal â\x80\x94 fields from cell_stats.json.', 'additionalProperties': True}, 'TypePerformance': {'type': 'object', 'title': 'TypePerformance', 'properties': {'n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'N', 'default': None}, 'proven': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Proven', 'default': None}, 'hit_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Hit Rate', 'default': None}, 'excess_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Excess Pct', 'default': None}}, 'description': 'Attached to signals via _attach_type_performance in api.py.', 'additionalProperties': True}, 'FlippedCellStats': {'type': 'object', 'title': 'FlippedCellStats', 'properties': {'cell': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Cell', 'default': None}, 'sample_n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Sample N', 'default': None}, 'win_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Win Rate', 'default': None}, 'avg_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Avg Pnl Pct', 'default': None}}, 'additionalProperties': True}}, 'title': 'SignalListOut', 'required': ['count', 'signals'], 'properties': {'count': {'type': 'integer', 'title': 'Count'}, 'signals': {'type': 'array', 'items': {'$ref': '#/$defs/SignalOut'}, 'title': 'Signals'}, 'next_cursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Next Cursor', 'default': None}, 'market_opens': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Market Opens', 'default': None}, 'server_timestamp': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Server Timestamp', 'default': None}}, 'description': 'Mirror of api.py /signals response: {count, signals, market_opens?}.', 'additionalProperties': True}
get_anti_predictive_cells
Anti-Predictive Cells
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_anti_predictive_cellsArguments', 'properties': {}}
Ausgabeschema
{'type': 'object', '$defs': {'CellStatOut': {'type': 'object', 'title': 'CellStatOut', 'required': ['cell'], 'properties': {'cell': {'type': 'string', 'title': 'Cell'}, 'sample_n': {'type': 'integer', 'title': 'Sample N', 'default': 0}, 'win_rate': {'type': 'number', 'title': 'Win Rate', 'default': 0.0}, 'avg_pnl_pct': {'type': 'number', 'title': 'Avg Pnl Pct', 'default': 0.0}, 'inverse_flagged': {'type': 'boolean', 'title': 'Inverse Flagged', 'default': False}}, 'description': 'One cell from cell_stats.json.', 'additionalProperties': True}}, 'title': 'AntiPredictiveCellsOut', 'required': ['cells'], 'properties': {'note': {'type': 'string', 'title': '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.'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'cells': {'type': 'array', 'items': {'$ref': '#/$defs/CellStatOut'}, 'title': 'Cells'}, 'cell_stats_path': {'type': 'string', 'title': 'Cell Stats Path', 'default': '/app/data/cell_stats.json'}}, 'description': 'MCP-only: cells from /app/data/cell_stats.json where inverse_flagged=true.', 'additionalProperties': True}
get_asset_class_proof
Asset-Class Proof
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_asset_class_proofArguments', 'required': ['asset_class'], 'properties': {'asset_class': {'type': 'string', 'title': 'Asset Class'}}}
get_checkable_assets
Checkable Assets
[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).
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_checkable_assetsArguments', 'properties': {}}
get_check_history
Check History
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_check_historyArguments', 'properties': {}}
get_correlation
Correlation
[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}.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_correlationArguments', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}}}
Ausgabeschema
{'type': 'object', 'title': 'CorrelationCoinOut', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}, 'to_btc': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'To Btc', 'default': None}, 'to_eth': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'To Eth', 'default': None}, 'disclaimer': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Disclaimer', 'default': None}, 'most_correlated': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'title': 'Most Correlated'}, 'least_correlated': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'title': 'Least Correlated'}}, 'description': 'Mirror of api.py /correlation/{coin}. corr+beta to BTC/ETH + peers.', 'additionalProperties': True}
get_cross_asset_flows
Cross-Asset Flows
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_cross_asset_flowsArguments', 'properties': {}}
get_discovery
Discover Capabilities
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_discoveryArguments', 'properties': {}}
get_economic_calendar
Economic Calendar
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_economic_calendarArguments', 'properties': {'days_back': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Days Back', 'default': 7}, 'days_ahead': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Days Ahead', 'default': 14}, 'event_class': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Event Class', 'default': None}}}
get_event_outlook
Event Outlook
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_event_outlookArguments', 'properties': {'days_ahead': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Days Ahead', 'default': 14}}}
get_indicators
Technical Indicators
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_indicatorsArguments', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_indicatorsDictOutput', 'additionalProperties': True}
get_journal
Trade Journal
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_journalArguments', 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 20}, 'status': {'type': 'string', 'title': 'Status', 'default': 'all'}}}
get_levels
Support & Resistance Levels
[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}.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_levelsArguments', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}}}
Ausgabeschema
{'type': 'object', '$defs': {'LevelInfo': {'type': 'object', 'title': 'LevelInfo', 'properties': {'price': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Price', 'default': None}, 'touches': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Touches', 'default': None}, 'strength': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Strength', 'default': None}, 'distance_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Distance Pct', 'default': None}}, 'additionalProperties': True}}, 'title': 'LevelsOut', 'required': ['coin', 'current_price'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}, 'structure': {'anyOf': [{'type': 'object', 'additionalProperties': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}}, {'type': 'null'}], 'title': 'Structure', 'default': None}, 'timeframes': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Timeframes'}, 'all_support': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'title': 'All Support'}, 'trend_state': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Trend State', 'default': None}, 'current_price': {'type': 'number', 'title': 'Current Price'}, 'all_resistance': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'title': 'All Resistance'}, 'nearest_support': {'anyOf': [{'$ref': '#/$defs/LevelInfo'}, {'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Nearest Support', 'default': None}, 'nearest_resistance': {'anyOf': [{'$ref': '#/$defs/LevelInfo'}, {'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Nearest Resistance', 'default': None}}, 'description': 'Mirror of api.py /levels/{coin}.', 'additionalProperties': True}
get_liquidation_map
Liquidation Map
[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}.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_liquidation_mapArguments', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}}}
get_liquidity_map
Liquidity Map
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_liquidity_mapArguments', 'properties': {}}
get_long_short
Long/Short Ratio
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_long_shortArguments', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}, 'days': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Days', 'default': 7}}}
get_macro
Macro Conditions
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_macroArguments', 'properties': {}}
Ausgabeschema
{'type': 'object', '$defs': {'MacroSub': {'type': 'object', 'title': 'MacroSub', 'properties': {'bias': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Bias', 'default': None}, 'reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Reason', 'default': None}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Status', 'default': None}, 'conviction': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Conviction', 'default': None}, 'key_levels': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Key Levels', 'default': None}, 'calibration': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Calibration', 'default': None}, 'sample_size': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Sample Size', 'default': None}, 'invalidation': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Invalidation', 'default': None}, 'sufficient_data': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Sufficient Data', 'default': None}}, 'description': "macro_analyzer.load_report()['btc' or 'eth'] shape â\x80\x94 verified from\n/app/data/macro_history/macro_*.json files on evo-x2-llm.", 'additionalProperties': True}, 'MacroReport': {'type': 'object', 'title': 'MacroReport', 'properties': {'btc': {'anyOf': [{'$ref': '#/$defs/MacroSub'}, {'type': 'null'}], 'default': None}, 'eth': {'anyOf': [{'$ref': '#/$defs/MacroSub'}, {'type': 'null'}], 'default': None}, 'regime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Regime', 'default': None}, 'horizon': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Horizon', 'default': None}, 'disclaimer': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Disclaimer', 'default': None}, 'summary_md': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Summary Md', 'default': None}, 'calibration': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Calibration', 'default': None}, 'window_days': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Window Days', 'default': None}, 'generated_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Generated At', 'default': None}, 'regime_reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Regime Reason', 'default': None}, 'calendar_risks': {'type': 'array', 'items': {}, 'title': 'Calendar Risks'}}, 'description': 'Top-level shape of macro_analyzer.load_report() + honesty overlays\nadded by /macro REST handler (api.py:1064-1130).', 'additionalProperties': True}}, 'title': 'MacroOut', 'required': ['current'], 'properties': {'current': {'$ref': '#/$defs/MacroReport'}, 'history': {'anyOf': [{'type': 'array', 'items': {'$ref': '#/$defs/MacroReport'}}, {'type': 'null'}], 'title': 'History', 'default': None}, 'history_note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'History Note', 'default': None}}, 'description': 'Mirror of REST /macro: {current, history?, history_note?}.', 'additionalProperties': True}
get_macro_aligned_signals
Macro-Aligned Signals
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_macro_aligned_signalsArguments', 'properties': {'asset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset', 'default': None}, 'limit': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Limit', 'default': 50}}}
Ausgabeschema
{'type': 'object', '$defs': {'SignalOut': {'type': 'object', 'title': 'SignalOut', 'required': ['id', 'signal_type', 'direction', 'summary', 'timestamp'], 'properties': {'id': {'type': 'integer', 'title': 'Id'}, 'asset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset', 'default': None}, 'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Score', 'default': 0.0}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'default': None}, 'channel': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Channel', 'default': None}, 'content': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Content', 'default': None}, 'sources': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Sources', 'default': None}, 'summary': {'type': 'string', 'title': 'Summary'}, 'urgency': {'anyOf': [{'enum': ['high', 'medium', 'low'], 'type': 'string'}, {'type': 'null'}], 'title': 'Urgency', 'default': None}, 'direction': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string', 'title': 'Direction'}, 'timestamp': {'type': 'integer', 'title': 'Timestamp'}, 'confidence': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Confidence', 'default': None}, 'conviction': {'anyOf': [{'enum': ['strong', 'notable', 'watch', 'none'], 'type': 'string'}, {'type': 'null'}], 'title': 'Conviction', 'default': None}, 'disclaimer': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Disclaimer', 'default': None}, 'expires_at': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Expires At', 'default': None}, 'action_hint': {'anyOf': [{'enum': ['trade_signal', 'alert', 'monitor', 'ignore'], 'type': 'string'}, {'type': 'null'}], 'title': 'Action Hint', 'default': None}, 'asset_class': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset Class', 'default': None}, 'signal_type': {'type': 'string', 'title': 'Signal Type'}, 'corroborated': {'type': 'boolean', 'title': 'Corroborated', 'default': False}, 'levels_basis': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Levels Basis', 'default': None}, 'target_level': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Target Level', 'default': None}, 'paired_inverse': {'anyOf': [{'$ref': '#/$defs/PairedInverse'}, {'type': 'null'}], 'default': None}, 'historical_edge': {'anyOf': [{'$ref': '#/$defs/HistoricalEdge'}, {'type': 'null'}], 'default': None}, 'model_transform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Model Transform', 'default': None}, 'observed_entity': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Entity', 'default': None}, 'priced_in_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Score', 'default': None}, 'priced_in_vol_z': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Vol Z', 'default': None}, 'reference_price': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Reference Price', 'default': None}, 'transform_basis': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Transform Basis', 'default': None}, 'regime_at_signal': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Regime At Signal', 'default': None}, 'type_performance': {'anyOf': [{'$ref': '#/$defs/TypePerformance'}, {'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Type Performance', 'default': None}, 'confidence_status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Confidence Status', 'default': None}, 'expected_move_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Expected Move Pct', 'default': None}, 'observed_behavior': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Behavior', 'default': None}, 'invalidation_level': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Invalidation Level', 'default': None}, 'manipulation_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Manipulation Score', 'default': None}, 'observed_direction': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Direction', 'default': None}, 'trade_quality_band': {'anyOf': [{'enum': ['A+', 'A', 'B', 'C', 'D'], 'type': 'string'}, {'type': 'null'}], 'title': 'Trade Quality Band', 'default': None}, 'transform_sample_n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Transform Sample N', 'default': None}, 'predicted_direction': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Predicted Direction', 'default': None}, 'signal_latency_secs': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Signal Latency Secs', 'default': None}, 'trade_quality_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Trade Quality Score', 'default': None}, 'priced_in_ret_1h_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Ret 1H Pct', 'default': None}, 'coordinated_pump_prob': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Coordinated Pump Prob', 'default': None}, 'transform_validation_status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Transform Validation Status', 'default': None}, 'calibration_inverted_in_cell': {'type': 'boolean', 'title': 'Calibration Inverted In Cell', 'default': False}, 'confidence_suppressed_reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Confidence Suppressed Reason', 'default': None}, 'confidence_revised_by_corroboration': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Confidence Revised By Corroboration', 'default': None}}, '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', 'additionalProperties': True}, 'PairedInverse': {'type': 'object', 'title': 'PairedInverse', 'required': ['direction', 'basis'], 'properties': {'basis': {'type': 'string', 'title': 'Basis'}, 'citation': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Citation', 'default': None}, 'cost_tier': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Cost Tier', 'default': None}, 'direction': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string', 'title': 'Direction'}, 'advisory_text': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Advisory Text', 'default': None}, 'inverse_validated': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Inverse Validated', 'default': None}, 'flipped_cell_stats': {'anyOf': [{'$ref': '#/$defs/FlippedCellStats'}, {'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Flipped Cell Stats', 'default': None}, 'implied_avg_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Implied Avg Pnl Pct', 'default': None}, 'round_trip_cost_pct_assumed': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Round Trip Cost Pct Assumed', 'default': None}}, 'description': 'Output of historical_edge for anti-predictive cells. Includes cost-tier\nadjudication added in commit c041582.', 'additionalProperties': True}, 'HistoricalEdge': {'type': 'object', 'title': 'HistoricalEdge', 'required': ['cell', 'sample_n', 'win_rate', 'avg_pnl_pct'], 'properties': {'cell': {'type': 'string', 'title': 'Cell'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'sample_n': {'type': 'integer', 'title': 'Sample N'}, 'win_rate': {'type': 'number', 'title': 'Win Rate'}, 'avg_pnl_pct': {'type': 'number', 'title': 'Avg Pnl Pct'}, 'median_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Median Pnl Pct', 'default': None}}, 'description': 'Output of historical_edge.enrich_signal â\x80\x94 fields from cell_stats.json.', 'additionalProperties': True}, 'TypePerformance': {'type': 'object', 'title': 'TypePerformance', 'properties': {'n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'N', 'default': None}, 'proven': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Proven', 'default': None}, 'hit_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Hit Rate', 'default': None}, 'excess_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Excess Pct', 'default': None}}, 'description': 'Attached to signals via _attach_type_performance in api.py.', 'additionalProperties': True}, 'FlippedCellStats': {'type': 'object', 'title': 'FlippedCellStats', 'properties': {'cell': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Cell', 'default': None}, 'sample_n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Sample N', 'default': None}, 'win_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Win Rate', 'default': None}, 'avg_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Avg Pnl Pct', 'default': None}}, 'additionalProperties': True}}, 'title': 'SignalListOut', 'required': ['count', 'signals'], 'properties': {'count': {'type': 'integer', 'title': 'Count'}, 'signals': {'type': 'array', 'items': {'$ref': '#/$defs/SignalOut'}, 'title': 'Signals'}, 'next_cursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Next Cursor', 'default': None}, 'market_opens': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Market Opens', 'default': None}, 'server_timestamp': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Server Timestamp', 'default': None}}, 'description': 'Mirror of api.py /signals response: {count, signals, market_opens?}.', 'additionalProperties': True}
get_manipulation
Manipulation Scan
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_manipulationArguments', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}}}
get_market_analogs
Historical Analogs
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_market_analogsArguments', 'properties': {'k': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'K', 'default': 12}}}
get_market_brief
Market Brief
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_market_briefArguments', 'properties': {'coin': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Coin', 'default': None}}}
get_market_opens
Market Opens
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_market_opensArguments', 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'MarketOpensOut', 'required': ['market_opens'], 'properties': {'market_opens': {'type': 'object', 'title': 'Market Opens', 'additionalProperties': True}}, 'description': 'Mirror of /market-opens: {market_opens: ...}.', 'additionalProperties': True}
get_market_regime
Market Regime
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_market_regimeArguments', 'properties': {}}
get_mindshare
Mindshare Rankings
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_mindshareArguments', 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'MindshareOut', 'properties': {'assets': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'title': 'Assets'}, 'disclaimer': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Disclaimer', 'default': None}, 'total_mentions': {'type': 'integer', 'title': 'Total Mentions', 'default': 0}, 'sufficient_data': {'type': 'boolean', 'title': 'Sufficient Data', 'default': True}}, 'description': 'Mirror of api.py /mindshare. Per-asset attention share + velocity, ranked.\nDirectional proxy over n0brains sources (see coverage_note).', 'additionalProperties': True}
get_mindshare_coin
Coin Mindshare
[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}.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_mindshare_coinArguments', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}}}
Ausgabeschema
{'type': 'object', 'title': 'MindshareCoinOut', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}, 'rank': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Rank', 'default': None}, 'trend': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Trend', 'default': None}, 'velocity': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Velocity', 'default': None}, 'disclaimer': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Disclaimer', 'default': None}, 'mindshare_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Mindshare Pct', 'default': None}, 'sufficient_data': {'type': 'boolean', 'title': 'Sufficient Data', 'default': True}}, 'description': "Mirror of api.py /mindshare/{coin}. One coin's share, rank, velocity, trend.", 'additionalProperties': True}
get_narrative
Narrative Scan
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_narrativeArguments', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}}}
get_options
Options & Volatility
[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}.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_optionsArguments', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}}}
Ausgabeschema
{'type': 'object', 'title': 'OptionsOut', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}, 'skew': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Skew', 'default': None}, 'spot': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Spot', 'default': None}, 'atm_iv': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Atm Iv', 'default': None}, 'max_pain': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Max Pain', 'default': None}, 'disclaimer': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Disclaimer', 'default': None}, 'term_structure': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Term Structure', 'default': None}, 'put_call_oi_ratio': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Put Call Oi Ratio', 'default': None}}, 'description': 'Mirror of api.py /options/{coin}. ATM IV, skew, term structure, P/C OI,\nmax-pain from Deribit. Descriptive (extra fields: method/disclaimer).', 'additionalProperties': True}
get_performance
Signal Performance
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_performanceArguments', 'properties': {'days': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Days', 'default': 30}}}
Ausgabeschema
{'type': 'object', 'title': 'PerformanceOut', 'required': ['days'], 'properties': {'days': {'type': 'integer', 'title': 'Days'}}, 'description': 'Mirror of /performance. Real handler returns by-type breakdowns.\n\nNote: real handler does NOT accept asset filter. Tool should not advertise it.', 'additionalProperties': True}
get_playbook
Agent Playbook
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_playbookArguments', 'properties': {}}
get_positioning
Positioning & Crowding
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_positioningArguments', 'properties': {'coin': {'type': 'string', 'title': 'Coin', 'default': 'BTC'}}}
get_price
Get Price
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_priceArguments', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}}}
get_prices
Get Prices
[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}.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_pricesArguments', 'required': ['coins'], 'properties': {'coins': {'type': 'string', 'title': 'Coins'}}}
get_proof
Proof & Track Record
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_proofArguments', 'properties': {'horizon': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Horizon', 'default': None}, 'asset_class': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset Class', 'default': None}}}
get_rotation
Sector Rotation
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_rotationArguments', 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'RotationOut', 'properties': {'regime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Regime', 'default': None}, 'breadth': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Breadth', 'default': None}, 'disclaimer': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Disclaimer', 'default': None}, 'rotation_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Rotation Score', 'default': None}, 'sufficient_data': {'type': 'boolean', 'title': 'Sufficient Data', 'default': True}, 'top_rotating_in': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'title': 'Top Rotating In'}, 'top_rotating_out': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'title': 'Top Rotating Out'}}, 'description': 'Mirror of api.py /rotation. Altseason/rotation read â\x80\x94 uncalibrated\nheuristic; breadth is a proxy not true dominance (see disclaimer/notes).', 'additionalProperties': True}
get_sentiment
Sentiment
[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}.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_sentimentArguments', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}}}
Ausgabeschema
{'type': 'object', 'title': 'SentimentOut', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}, 'lean': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Lean', 'default': None}, 'volume': {'type': 'integer', 'title': 'Volume', 'default': 0}, 'velocity': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Velocity', 'default': None}, 'disclaimer': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Disclaimer', 'default': None}, 'top_sources': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'title': 'Top Sources'}, 'accelerating': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Accelerating', 'default': None}, 'net_sentiment': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Net Sentiment', 'default': None}, 'sufficient_data': {'type': 'boolean', 'title': 'Sufficient Data', 'default': True}}, 'description': 'Mirror of api.py /sentiment/{coin}. Net sentiment + volume + velocity from\ncurated authors (NOT mass social volume â\x80\x94 see coverage_note).', 'additionalProperties': True}
get_signal
Get Signal
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_signalArguments', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'title': 'Id'}}}
Ausgabeschema
{'type': 'object', '$defs': {'PairedInverse': {'type': 'object', 'title': 'PairedInverse', 'required': ['direction', 'basis'], 'properties': {'basis': {'type': 'string', 'title': 'Basis'}, 'citation': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Citation', 'default': None}, 'cost_tier': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Cost Tier', 'default': None}, 'direction': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string', 'title': 'Direction'}, 'advisory_text': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Advisory Text', 'default': None}, 'inverse_validated': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Inverse Validated', 'default': None}, 'flipped_cell_stats': {'anyOf': [{'$ref': '#/$defs/FlippedCellStats'}, {'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Flipped Cell Stats', 'default': None}, 'implied_avg_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Implied Avg Pnl Pct', 'default': None}, 'round_trip_cost_pct_assumed': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Round Trip Cost Pct Assumed', 'default': None}}, 'description': 'Output of historical_edge for anti-predictive cells. Includes cost-tier\nadjudication added in commit c041582.', 'additionalProperties': True}, 'HistoricalEdge': {'type': 'object', 'title': 'HistoricalEdge', 'required': ['cell', 'sample_n', 'win_rate', 'avg_pnl_pct'], 'properties': {'cell': {'type': 'string', 'title': 'Cell'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'sample_n': {'type': 'integer', 'title': 'Sample N'}, 'win_rate': {'type': 'number', 'title': 'Win Rate'}, 'avg_pnl_pct': {'type': 'number', 'title': 'Avg Pnl Pct'}, 'median_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Median Pnl Pct', 'default': None}}, 'description': 'Output of historical_edge.enrich_signal â\x80\x94 fields from cell_stats.json.', 'additionalProperties': True}, 'TypePerformance': {'type': 'object', 'title': 'TypePerformance', 'properties': {'n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'N', 'default': None}, 'proven': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Proven', 'default': None}, 'hit_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Hit Rate', 'default': None}, 'excess_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Excess Pct', 'default': None}}, 'description': 'Attached to signals via _attach_type_performance in api.py.', 'additionalProperties': True}, 'FlippedCellStats': {'type': 'object', 'title': 'FlippedCellStats', 'properties': {'cell': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Cell', 'default': None}, 'sample_n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Sample N', 'default': None}, 'win_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Win Rate', 'default': None}, 'avg_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Avg Pnl Pct', 'default': None}}, 'additionalProperties': True}}, 'title': 'SignalOut', 'required': ['id', 'signal_type', 'direction', 'summary', 'timestamp'], 'properties': {'id': {'type': 'integer', 'title': 'Id'}, 'asset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset', 'default': None}, 'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Score', 'default': 0.0}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'default': None}, 'channel': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Channel', 'default': None}, 'content': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Content', 'default': None}, 'sources': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Sources', 'default': None}, 'summary': {'type': 'string', 'title': 'Summary'}, 'urgency': {'anyOf': [{'enum': ['high', 'medium', 'low'], 'type': 'string'}, {'type': 'null'}], 'title': 'Urgency', 'default': None}, 'direction': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string', 'title': 'Direction'}, 'timestamp': {'type': 'integer', 'title': 'Timestamp'}, 'confidence': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Confidence', 'default': None}, 'conviction': {'anyOf': [{'enum': ['strong', 'notable', 'watch', 'none'], 'type': 'string'}, {'type': 'null'}], 'title': 'Conviction', 'default': None}, 'disclaimer': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Disclaimer', 'default': None}, 'expires_at': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Expires At', 'default': None}, 'action_hint': {'anyOf': [{'enum': ['trade_signal', 'alert', 'monitor', 'ignore'], 'type': 'string'}, {'type': 'null'}], 'title': 'Action Hint', 'default': None}, 'asset_class': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset Class', 'default': None}, 'signal_type': {'type': 'string', 'title': 'Signal Type'}, 'corroborated': {'type': 'boolean', 'title': 'Corroborated', 'default': False}, 'levels_basis': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Levels Basis', 'default': None}, 'target_level': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Target Level', 'default': None}, 'paired_inverse': {'anyOf': [{'$ref': '#/$defs/PairedInverse'}, {'type': 'null'}], 'default': None}, 'historical_edge': {'anyOf': [{'$ref': '#/$defs/HistoricalEdge'}, {'type': 'null'}], 'default': None}, 'model_transform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Model Transform', 'default': None}, 'observed_entity': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Entity', 'default': None}, 'priced_in_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Score', 'default': None}, 'priced_in_vol_z': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Vol Z', 'default': None}, 'reference_price': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Reference Price', 'default': None}, 'transform_basis': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Transform Basis', 'default': None}, 'regime_at_signal': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Regime At Signal', 'default': None}, 'type_performance': {'anyOf': [{'$ref': '#/$defs/TypePerformance'}, {'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Type Performance', 'default': None}, 'confidence_status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Confidence Status', 'default': None}, 'expected_move_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Expected Move Pct', 'default': None}, 'observed_behavior': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Behavior', 'default': None}, 'invalidation_level': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Invalidation Level', 'default': None}, 'manipulation_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Manipulation Score', 'default': None}, 'observed_direction': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Direction', 'default': None}, 'trade_quality_band': {'anyOf': [{'enum': ['A+', 'A', 'B', 'C', 'D'], 'type': 'string'}, {'type': 'null'}], 'title': 'Trade Quality Band', 'default': None}, 'transform_sample_n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Transform Sample N', 'default': None}, 'predicted_direction': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Predicted Direction', 'default': None}, 'signal_latency_secs': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Signal Latency Secs', 'default': None}, 'trade_quality_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Trade Quality Score', 'default': None}, 'priced_in_ret_1h_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Ret 1H Pct', 'default': None}, 'coordinated_pump_prob': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Coordinated Pump Prob', 'default': None}, 'transform_validation_status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Transform Validation Status', 'default': None}, 'calibration_inverted_in_cell': {'type': 'boolean', 'title': 'Calibration Inverted In Cell', 'default': False}, 'confidence_suppressed_reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Confidence Suppressed Reason', 'default': None}, 'confidence_revised_by_corroboration': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Confidence Revised By Corroboration', 'default': None}}, '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', 'additionalProperties': True}
get_signals_since
Get Signals Since
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_signals_sinceArguments', 'required': ['since_timestamp'], 'properties': {'asset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset', 'default': None}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 100}, 'since_id': {'type': 'integer', 'title': 'Since Id', 'default': 0}, 'signal_type': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Signal Type', 'default': None}, 'since_timestamp': {'type': 'integer', 'title': 'Since Timestamp'}}}
Ausgabeschema
{'type': 'object', '$defs': {'SignalOut': {'type': 'object', 'title': 'SignalOut', 'required': ['id', 'signal_type', 'direction', 'summary', 'timestamp'], 'properties': {'id': {'type': 'integer', 'title': 'Id'}, 'asset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset', 'default': None}, 'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Score', 'default': 0.0}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'default': None}, 'channel': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Channel', 'default': None}, 'content': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Content', 'default': None}, 'sources': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Sources', 'default': None}, 'summary': {'type': 'string', 'title': 'Summary'}, 'urgency': {'anyOf': [{'enum': ['high', 'medium', 'low'], 'type': 'string'}, {'type': 'null'}], 'title': 'Urgency', 'default': None}, 'direction': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string', 'title': 'Direction'}, 'timestamp': {'type': 'integer', 'title': 'Timestamp'}, 'confidence': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Confidence', 'default': None}, 'conviction': {'anyOf': [{'enum': ['strong', 'notable', 'watch', 'none'], 'type': 'string'}, {'type': 'null'}], 'title': 'Conviction', 'default': None}, 'disclaimer': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Disclaimer', 'default': None}, 'expires_at': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Expires At', 'default': None}, 'action_hint': {'anyOf': [{'enum': ['trade_signal', 'alert', 'monitor', 'ignore'], 'type': 'string'}, {'type': 'null'}], 'title': 'Action Hint', 'default': None}, 'asset_class': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset Class', 'default': None}, 'signal_type': {'type': 'string', 'title': 'Signal Type'}, 'corroborated': {'type': 'boolean', 'title': 'Corroborated', 'default': False}, 'levels_basis': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Levels Basis', 'default': None}, 'target_level': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Target Level', 'default': None}, 'paired_inverse': {'anyOf': [{'$ref': '#/$defs/PairedInverse'}, {'type': 'null'}], 'default': None}, 'historical_edge': {'anyOf': [{'$ref': '#/$defs/HistoricalEdge'}, {'type': 'null'}], 'default': None}, 'model_transform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Model Transform', 'default': None}, 'observed_entity': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Entity', 'default': None}, 'priced_in_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Score', 'default': None}, 'priced_in_vol_z': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Vol Z', 'default': None}, 'reference_price': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Reference Price', 'default': None}, 'transform_basis': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Transform Basis', 'default': None}, 'regime_at_signal': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Regime At Signal', 'default': None}, 'type_performance': {'anyOf': [{'$ref': '#/$defs/TypePerformance'}, {'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Type Performance', 'default': None}, 'confidence_status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Confidence Status', 'default': None}, 'expected_move_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Expected Move Pct', 'default': None}, 'observed_behavior': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Behavior', 'default': None}, 'invalidation_level': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Invalidation Level', 'default': None}, 'manipulation_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Manipulation Score', 'default': None}, 'observed_direction': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Direction', 'default': None}, 'trade_quality_band': {'anyOf': [{'enum': ['A+', 'A', 'B', 'C', 'D'], 'type': 'string'}, {'type': 'null'}], 'title': 'Trade Quality Band', 'default': None}, 'transform_sample_n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Transform Sample N', 'default': None}, 'predicted_direction': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Predicted Direction', 'default': None}, 'signal_latency_secs': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Signal Latency Secs', 'default': None}, 'trade_quality_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Trade Quality Score', 'default': None}, 'priced_in_ret_1h_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Ret 1H Pct', 'default': None}, 'coordinated_pump_prob': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Coordinated Pump Prob', 'default': None}, 'transform_validation_status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Transform Validation Status', 'default': None}, 'calibration_inverted_in_cell': {'type': 'boolean', 'title': 'Calibration Inverted In Cell', 'default': False}, 'confidence_suppressed_reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Confidence Suppressed Reason', 'default': None}, 'confidence_revised_by_corroboration': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Confidence Revised By Corroboration', 'default': None}}, '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', 'additionalProperties': True}, 'PairedInverse': {'type': 'object', 'title': 'PairedInverse', 'required': ['direction', 'basis'], 'properties': {'basis': {'type': 'string', 'title': 'Basis'}, 'citation': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Citation', 'default': None}, 'cost_tier': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Cost Tier', 'default': None}, 'direction': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string', 'title': 'Direction'}, 'advisory_text': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Advisory Text', 'default': None}, 'inverse_validated': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Inverse Validated', 'default': None}, 'flipped_cell_stats': {'anyOf': [{'$ref': '#/$defs/FlippedCellStats'}, {'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Flipped Cell Stats', 'default': None}, 'implied_avg_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Implied Avg Pnl Pct', 'default': None}, 'round_trip_cost_pct_assumed': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Round Trip Cost Pct Assumed', 'default': None}}, 'description': 'Output of historical_edge for anti-predictive cells. Includes cost-tier\nadjudication added in commit c041582.', 'additionalProperties': True}, 'HistoricalEdge': {'type': 'object', 'title': 'HistoricalEdge', 'required': ['cell', 'sample_n', 'win_rate', 'avg_pnl_pct'], 'properties': {'cell': {'type': 'string', 'title': 'Cell'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'sample_n': {'type': 'integer', 'title': 'Sample N'}, 'win_rate': {'type': 'number', 'title': 'Win Rate'}, 'avg_pnl_pct': {'type': 'number', 'title': 'Avg Pnl Pct'}, 'median_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Median Pnl Pct', 'default': None}}, 'description': 'Output of historical_edge.enrich_signal â\x80\x94 fields from cell_stats.json.', 'additionalProperties': True}, 'TypePerformance': {'type': 'object', 'title': 'TypePerformance', 'properties': {'n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'N', 'default': None}, 'proven': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Proven', 'default': None}, 'hit_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Hit Rate', 'default': None}, 'excess_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Excess Pct', 'default': None}}, 'description': 'Attached to signals via _attach_type_performance in api.py.', 'additionalProperties': True}, 'FlippedCellStats': {'type': 'object', 'title': 'FlippedCellStats', 'properties': {'cell': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Cell', 'default': None}, 'sample_n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Sample N', 'default': None}, 'win_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Win Rate', 'default': None}, 'avg_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Avg Pnl Pct', 'default': None}}, 'additionalProperties': True}}, 'title': 'SignalListOut', 'required': ['count', 'signals'], 'properties': {'count': {'type': 'integer', 'title': 'Count'}, 'signals': {'type': 'array', 'items': {'$ref': '#/$defs/SignalOut'}, 'title': 'Signals'}, 'next_cursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Next Cursor', 'default': None}, 'market_opens': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Market Opens', 'default': None}, 'server_timestamp': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Server Timestamp', 'default': None}}, 'description': 'Mirror of api.py /signals response: {count, signals, market_opens?}.', 'additionalProperties': True}
get_signal_with_context
Signal With Context
[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).
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_signal_with_contextArguments', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'title': 'Id'}}}
Ausgabeschema
{'type': 'object', 'title': 'get_signal_with_contextDictOutput', 'additionalProperties': True}
get_state
Asset State
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_stateArguments', 'properties': {'coin': {'type': 'string', 'title': 'Coin', 'default': 'BTC'}}}
get_state_brief
Asset Brief
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_state_briefArguments', 'properties': {'coin': {'type': 'string', 'title': 'Coin', 'default': 'BTC'}}}
get_trade_plan
Trade Plan
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_trade_planArguments', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}}}
get_trust
Token Trust Scan
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_trustArguments', 'required': ['coin'], 'properties': {'coin': {'type': 'string', 'title': 'Coin'}}}
get_usage
API Usage
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'get_usageArguments', 'properties': {'period': {'type': 'string', 'title': 'Period', 'default': '7d'}}}
health
Server Health
[META] Liveness + lightweight pipeline stats: uptime, signals in last 1h, current macro regime, classifier backlog. Mirrors REST GET /health with extra context. Pro-gated (per tools/call rule) — use REST /health for unauthenticated liveness.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'healthArguments', 'properties': {}}
Ausgabeschema
{'type': 'object', 'title': 'HealthOut', 'required': ['timestamp'], 'properties': {'status': {'enum': ['ok', 'degraded'], 'type': 'string', 'title': 'Status', 'default': 'ok'}, 'timestamp': {'type': 'integer', 'title': 'Timestamp'}, 'uptime_secs': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Uptime Secs', 'default': None}, 'current_regime': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Current Regime', 'default': None}, 'fp_dedup_active': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Fp Dedup Active', 'default': None}, 'signal_count_last_1h': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Signal Count Last 1H', 'default': None}, 'classifier_backlog_size': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Classifier Backlog Size', 'default': None}}, 'description': 'MCP /health tool. Mirrors GET /health (live route on container) but\nadds backlog + regime context.', 'additionalProperties': True}
list_signals
List Signals
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'list_signalsArguments', 'properties': {'asset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset', 'default': None}, 'limit': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Limit', 'default': 20}, 'offset': {'type': 'integer', 'title': 'Offset', 'default': 0}, 'urgency': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Urgency', 'default': None}, 'direction': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Direction', 'default': None}, 'min_score': {'type': 'number', 'title': 'Min Score', 'default': 0.0}, 'signal_type': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Signal Type', 'default': None}, 'min_confidence': {'type': 'number', 'title': 'Min Confidence', 'default': 0.0}}}
Ausgabeschema
{'type': 'object', '$defs': {'SignalOut': {'type': 'object', 'title': 'SignalOut', 'required': ['id', 'signal_type', 'direction', 'summary', 'timestamp'], 'properties': {'id': {'type': 'integer', 'title': 'Id'}, 'asset': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset', 'default': None}, 'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Score', 'default': 0.0}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Source', 'default': None}, 'channel': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Channel', 'default': None}, 'content': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Content', 'default': None}, 'sources': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Sources', 'default': None}, 'summary': {'type': 'string', 'title': 'Summary'}, 'urgency': {'anyOf': [{'enum': ['high', 'medium', 'low'], 'type': 'string'}, {'type': 'null'}], 'title': 'Urgency', 'default': None}, 'direction': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string', 'title': 'Direction'}, 'timestamp': {'type': 'integer', 'title': 'Timestamp'}, 'confidence': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Confidence', 'default': None}, 'conviction': {'anyOf': [{'enum': ['strong', 'notable', 'watch', 'none'], 'type': 'string'}, {'type': 'null'}], 'title': 'Conviction', 'default': None}, 'disclaimer': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Disclaimer', 'default': None}, 'expires_at': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Expires At', 'default': None}, 'action_hint': {'anyOf': [{'enum': ['trade_signal', 'alert', 'monitor', 'ignore'], 'type': 'string'}, {'type': 'null'}], 'title': 'Action Hint', 'default': None}, 'asset_class': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Asset Class', 'default': None}, 'signal_type': {'type': 'string', 'title': 'Signal Type'}, 'corroborated': {'type': 'boolean', 'title': 'Corroborated', 'default': False}, 'levels_basis': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Levels Basis', 'default': None}, 'target_level': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Target Level', 'default': None}, 'paired_inverse': {'anyOf': [{'$ref': '#/$defs/PairedInverse'}, {'type': 'null'}], 'default': None}, 'historical_edge': {'anyOf': [{'$ref': '#/$defs/HistoricalEdge'}, {'type': 'null'}], 'default': None}, 'model_transform': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Model Transform', 'default': None}, 'observed_entity': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Entity', 'default': None}, 'priced_in_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Score', 'default': None}, 'priced_in_vol_z': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Vol Z', 'default': None}, 'reference_price': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Reference Price', 'default': None}, 'transform_basis': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Transform Basis', 'default': None}, 'regime_at_signal': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Regime At Signal', 'default': None}, 'type_performance': {'anyOf': [{'$ref': '#/$defs/TypePerformance'}, {'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Type Performance', 'default': None}, 'confidence_status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Confidence Status', 'default': None}, 'expected_move_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Expected Move Pct', 'default': None}, 'observed_behavior': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Behavior', 'default': None}, 'invalidation_level': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Invalidation Level', 'default': None}, 'manipulation_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Manipulation Score', 'default': None}, 'observed_direction': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Observed Direction', 'default': None}, 'trade_quality_band': {'anyOf': [{'enum': ['A+', 'A', 'B', 'C', 'D'], 'type': 'string'}, {'type': 'null'}], 'title': 'Trade Quality Band', 'default': None}, 'transform_sample_n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Transform Sample N', 'default': None}, 'predicted_direction': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Predicted Direction', 'default': None}, 'signal_latency_secs': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Signal Latency Secs', 'default': None}, 'trade_quality_score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Trade Quality Score', 'default': None}, 'priced_in_ret_1h_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Priced In Ret 1H Pct', 'default': None}, 'coordinated_pump_prob': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Coordinated Pump Prob', 'default': None}, 'transform_validation_status': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Transform Validation Status', 'default': None}, 'calibration_inverted_in_cell': {'type': 'boolean', 'title': 'Calibration Inverted In Cell', 'default': False}, 'confidence_suppressed_reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Confidence Suppressed Reason', 'default': None}, 'confidence_revised_by_corroboration': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Confidence Revised By Corroboration', 'default': None}}, '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', 'additionalProperties': True}, 'PairedInverse': {'type': 'object', 'title': 'PairedInverse', 'required': ['direction', 'basis'], 'properties': {'basis': {'type': 'string', 'title': 'Basis'}, 'citation': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Citation', 'default': None}, 'cost_tier': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Cost Tier', 'default': None}, 'direction': {'enum': ['bullish', 'bearish', 'neutral'], 'type': 'string', 'title': 'Direction'}, 'advisory_text': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Advisory Text', 'default': None}, 'inverse_validated': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Inverse Validated', 'default': None}, 'flipped_cell_stats': {'anyOf': [{'$ref': '#/$defs/FlippedCellStats'}, {'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Flipped Cell Stats', 'default': None}, 'implied_avg_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Implied Avg Pnl Pct', 'default': None}, 'round_trip_cost_pct_assumed': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Round Trip Cost Pct Assumed', 'default': None}}, 'description': 'Output of historical_edge for anti-predictive cells. Includes cost-tier\nadjudication added in commit c041582.', 'additionalProperties': True}, 'HistoricalEdge': {'type': 'object', 'title': 'HistoricalEdge', 'required': ['cell', 'sample_n', 'win_rate', 'avg_pnl_pct'], 'properties': {'cell': {'type': 'string', 'title': 'Cell'}, 'as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'As Of', 'default': None}, 'sample_n': {'type': 'integer', 'title': 'Sample N'}, 'win_rate': {'type': 'number', 'title': 'Win Rate'}, 'avg_pnl_pct': {'type': 'number', 'title': 'Avg Pnl Pct'}, 'median_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Median Pnl Pct', 'default': None}}, 'description': 'Output of historical_edge.enrich_signal â\x80\x94 fields from cell_stats.json.', 'additionalProperties': True}, 'TypePerformance': {'type': 'object', 'title': 'TypePerformance', 'properties': {'n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'N', 'default': None}, 'proven': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'title': 'Proven', 'default': None}, 'hit_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Hit Rate', 'default': None}, 'excess_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Excess Pct', 'default': None}}, 'description': 'Attached to signals via _attach_type_performance in api.py.', 'additionalProperties': True}, 'FlippedCellStats': {'type': 'object', 'title': 'FlippedCellStats', 'properties': {'cell': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Cell', 'default': None}, 'sample_n': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Sample N', 'default': None}, 'win_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Win Rate', 'default': None}, 'avg_pnl_pct': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Avg Pnl Pct', 'default': None}}, 'additionalProperties': True}}, 'title': 'SignalListOut', 'required': ['count', 'signals'], 'properties': {'count': {'type': 'integer', 'title': 'Count'}, 'signals': {'type': 'array', 'items': {'$ref': '#/$defs/SignalOut'}, 'title': 'Signals'}, 'next_cursor': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Next Cursor', 'default': None}, 'market_opens': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'title': 'Market Opens', 'default': None}, 'server_timestamp': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Server Timestamp', 'default': None}}, 'description': 'Mirror of api.py /signals response: {count, signals, market_opens?}.', 'additionalProperties': True}
log_trade
Log Trade
[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.
Eingabeschema
{'type': 'object', 'title': 'log_tradeArguments', 'required': ['asset', 'side'], 'properties': {'side': {'type': 'string', 'title': 'Side'}, 'stop': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Stop', 'default': None}, 'asset': {'type': 'string', 'title': 'Asset'}, 'entry': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Entry', 'default': None}, 'target': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Target', 'default': None}, 'thesis': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Thesis', 'default': None}, 'leverage': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Leverage', 'default': None}, 'size_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Size Usd', 'default': None}, 'opened_at': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'title': 'Opened At', 'default': None}}}
rank_trades
Rank Trade Setups
[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.
Nur Lesen
Eingabeschema
{'type': 'object', 'title': 'rank_tradesArguments', 'properties': {'coins': {'type': 'string', 'title': 'Coins', 'default': 'BTC,ETH,SOL'}}}
void_trade
Void Trade
[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.
Destruktiv Idempotent
Eingabeschema
{'type': 'object', 'title': 'void_tradeArguments', 'required': ['trade_id'], 'properties': {'reason': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Reason', 'default': None}, 'trade_id': {'type': 'integer', 'title': 'Trade Id'}}}
Hinzugefügt
get_narrative
17. September 2026 12:36
Hinzugefügt
get_manipulation
17. September 2026 12:36
Hinzugefügt
get_trust
17. September 2026 12:36
Hinzugefügt
get_market_brief
17. September 2026 12:36
Hinzugefügt
get_playbook
17. September 2026 12:36
Hinzugefügt
get_journal
17. September 2026 12:36
Hinzugefügt
void_trade
17. September 2026 12:36
Hinzugefügt
amend_trade
17. September 2026 12:36
Hinzugefügt
close_trade
17. September 2026 12:36
Hinzugefügt
log_trade
17. September 2026 12:36
Hinzugefügt
get_checkable_assets
17. September 2026 12:36
Hinzugefügt
get_check_history
17. September 2026 12:36
Hinzugefügt
check_trade
17. September 2026 12:36
Hinzugefügt
get_long_short
17. September 2026 12:36
Hinzugefügt
get_positioning
17. September 2026 12:36
Hinzugefügt
get_event_outlook
17. September 2026 12:36
Hinzugefügt
get_market_analogs
17. September 2026 12:36
Hinzugefügt
get_proof
17. September 2026 12:36
Hinzugefügt
get_asset_class_proof
17. September 2026 12:36
Hinzugefügt
get_economic_calendar
17. September 2026 12:36
Hinzugefügt
get_discovery
17. September 2026 12:36
Hinzugefügt
get_cross_asset_flows
17. September 2026 12:36
Hinzugefügt
get_liquidity_map
17. September 2026 12:36
Hinzugefügt
get_market_regime
17. September 2026 12:36
Hinzugefügt
rank_trades
17. September 2026 12:36
Hinzugefügt
get_trade_plan
17. September 2026 12:36
Hinzugefügt
get_indicators
17. September 2026 12:36
Hinzugefügt
get_state_brief
17. September 2026 12:36
Hinzugefügt
get_state
17. September 2026 12:36
Hinzugefügt
get_mindshare_coin
17. September 2026 12:36