{
  "version": "catalyst.receipt.v1",
  "generatedAt": "2026-07-24T17:55:42.000Z",
  "market": {
    "source": "bitget-mix-usdt-futures",
    "symbol": "SOLUSDT",
    "granularity": "1H",
    "candleCount": 200,
    "firstTs": 1784196000000,
    "lastTs": 1784912400000,
    "latestPrice": 74.019
  },
  "signals": {
    "asset": "SOLUSDT",
    "latestPrice": 74.019,
    "generatedAt": "2026-07-24T17:54:52.427Z",
    "regime": "downtrend",
    "convergence": {
      "bullishCount": 1,
      "bearishCount": 2,
      "realSignalCount": 4,
      "requiredForTrade": 3
    },
    "signals": [
      {
        "source": "bitget-market-candles",
        "kind": "technical-analysis",
        "signal": "bearish",
        "score": -0.5774,
        "evidence": "24h momentum -2.31%, 72h momentum -4.89%"
      },
      {
        "source": "bitget-market-candles",
        "kind": "market-intel",
        "signal": "trend_confirmed",
        "score": 0.8709,
        "evidence": "realized volatility proxy 1.55%, regime downtrend"
      },
      {
        "source": "agent-hub-technical-analysis",
        "kind": "technical-analysis",
        "signal": "bearish",
        "score": -0.3333,
        "evidence": "Agent Hub technical-analysis verdict BEARISH; RSI 30.87; MACD death_cross; MA trend mixed; ATR 1.35%",
        "raw": {
          "symbol": "SOL/USDT",
          "timeframe": "4h",
          "rsi": {
            "rsi": 30.87,
            "period": 14,
            "signal": "neutral"
          },
          "macd": {
            "macd": -0.621862,
            "signal": -0.405508,
            "histogram": -0.216354,
            "cross": "death_cross"
          },
          "bollinger": {
            "upper": 74.1377,
            "middle": 76.8205,
            "lower": 79.5033,
            "bandwidth": -0.0698,
            "pct_b": 1.0145,
            "position": "below_lower"
          },
          "ma": {
            "price": 74.06,
            "ma7": 75.2614,
            "ma25": 77.08,
            "ma99": 76.8239,
            "trend": "mixed"
          },
          "atr": {
            "atr": 1.0012,
            "atr_pct": 1.35,
            "suggested_stop": 72.5582,
            "period": 14
          },
          "support_resistance": {
            "supports": [
              74.97,
              77.1
            ],
            "resistances": [
              78.47,
              78.56
            ],
            "current_price": 74.06
          },
          "verdict": "BEARISH",
          "bull_signals": 1,
          "bear_signals": 2
        }
      },
      {
        "source": "fallback-bitget-market-regime",
        "kind": "macro-analyst",
        "signal": "neutral",
        "score": 0,
        "countsForConvergence": false,
        "evidence": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent convergence source."
      },
      {
        "source": "fallback-news-no-confirmation",
        "kind": "news-briefing",
        "signal": "neutral",
        "score": 0,
        "countsForConvergence": false,
        "evidence": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
      },
      {
        "source": "bitget-derivatives-market",
        "kind": "sentiment-analyst",
        "signal": "neutral",
        "score": 0,
        "evidence": "Funding -0.0005%, open interest 4.96M contracts; Bitget derivatives positioning is balanced",
        "raw": {
          "symbol": "SOLUSDT",
          "fundingRate": -0.000005,
          "openInterest": 4962819,
          "nextUpdate": 1784937600000
        }
      }
    ]
  },
  "qwen": {
    "provider": "bitget-qwen",
    "model": "qwen3.6-plus",
    "realQwen": true,
    "thesis": {
      "asset": "SOLUSDT",
      "action": "NO_TRADE",
      "direction": "flat",
      "conviction": 0,
      "rationale": "Technicals show bearish structure (MACD death cross, negative 24h/72h momentum, price below Bollinger band) aligned with a confirmed downtrend, but derivatives sentiment is neutral and the convergence metric is unmet (2 of 3 required bearish signals). Catalyst adheres to the NO_TRADE default until technicals and positioning fully align.",
      "invalidation": "A 4h close above the Bollinger mid-band at 76.82 combined with positive funding expansion and RSI recovering above 40 would invalidate the bearish bias."
    }
  },
  "thesis": {
    "asset": "SOLUSDT",
    "action": "NO_TRADE",
    "direction": "flat",
    "conviction": 0,
    "rationale": "Technicals show bearish structure (MACD death cross, negative 24h/72h momentum, price below Bollinger band) aligned with a confirmed downtrend, but derivatives sentiment is neutral and the convergence metric is unmet (2 of 3 required bearish signals). Catalyst adheres to the NO_TRADE default until technicals and positioning fully align.",
    "invalidation": "A 4h close above the Bollinger mid-band at 76.82 combined with positive funding expansion and RSI recovering above 40 would invalidate the bearish bias."
  },
  "risk": {
    "approved": false,
    "decision": "STAND_DOWN",
    "reason": "Low conviction defaults to NO_TRADE.",
    "positionPct": 0,
    "stopLossPct": 0.02,
    "checks": [
      {
        "name": "live_signal_coverage",
        "pass": true,
        "value": "4/3",
        "reason": "Catalyst requires enough live signal sources before trading."
      },
      {
        "name": "conviction_floor",
        "pass": false,
        "value": 0,
        "reason": "Low conviction defaults to NO_TRADE."
      },
      {
        "name": "volatility_cap",
        "pass": true,
        "value": 0.01663,
        "reason": "Volatility above cap makes the setup unstable."
      },
      {
        "name": "momentum_not_extreme",
        "pass": true,
        "value": -0.02112,
        "reason": "Avoid chasing a move after an extreme 24h impulse."
      }
    ]
  },
  "sim": {
    "engine": "self-hosted-sim",
    "action": "NO_TRADE",
    "inSample": {
      "pnlPct": 0,
      "sharpe": 0,
      "maxDrawdownPct": 0,
      "winRate": 0,
      "bars": 130
    },
    "outOfSample": {
      "pnlPct": 0,
      "sharpe": 0,
      "maxDrawdownPct": 0,
      "winRate": 0,
      "bars": 70
    },
    "fills": []
  },
  "council": {
    "version": "catalyst.agent-council.v1",
    "generatedAt": "2026-07-24T17:54:52.427Z",
    "requiredLiveMembers": 3,
    "liveMembers": 4,
    "consensus": "WATCH",
    "voteCounts": {
      "trade": 2,
      "standDown": 1,
      "watch": 3
    },
    "members": [
      {
        "id": "chart-scout",
        "name": "Chart Scout",
        "role": "Reads Bitget candles and Agent Hub technicals",
        "source": "agent-hub-technical-analysis",
        "sourceStatus": "live",
        "signal": "bearish",
        "vote": "TRADE",
        "direction": "short",
        "confidence": 0.6333,
        "reason": "Agent Hub technical-analysis verdict BEARISH; RSI 30.87; MACD death_cross; MA trend mixed; ATR 1.35%"
      },
      {
        "id": "flow-scout",
        "name": "Flow Scout",
        "role": "Checks market structure and volatility",
        "source": "bitget-market-candles",
        "sourceStatus": "live",
        "signal": "trend_confirmed",
        "vote": "TRADE",
        "direction": "long",
        "confidence": 0.929,
        "reason": "realized volatility proxy 1.55%, regime downtrend"
      },
      {
        "id": "macro-scout",
        "name": "Macro Scout",
        "role": "Looks for broad risk-on or risk-off context",
        "source": "fallback-bitget-market-regime",
        "sourceStatus": "fallback",
        "signal": "neutral",
        "vote": "WATCH",
        "direction": "flat",
        "confidence": 0.12,
        "reason": "Agent Hub macro feed unavailable; fallback uses Bitget market regime downtrend, market-intel trend_confirmed, technical bearish. This is context only and does not count as an independent co..."
      },
      {
        "id": "narrative-scout",
        "name": "Narrative Scout",
        "role": "Checks whether news confirms the setup",
        "source": "fallback-news-no-confirmation",
        "sourceStatus": "fallback",
        "signal": "neutral",
        "vote": "WATCH",
        "direction": "flat",
        "confidence": 0.12,
        "reason": "Agent Hub news feed unavailable or empty for SOLUSDT; Catalyst treats this as no catalyst confirmation instead of inventing a headline."
      },
      {
        "id": "positioning-scout",
        "name": "Positioning Scout",
        "role": "Reads funding and derivatives positioning",
        "source": "bitget-derivatives-market",
        "sourceStatus": "live",
        "signal": "neutral",
        "vote": "WATCH",
        "direction": "flat",
        "confidence": 0.45,
        "reason": "Funding -0.0005%, open interest 4.96M contracts; Bitget derivatives positioning is balanced"
      },
      {
        "id": "qwen-strategist",
        "name": "Qwen Strategist",
        "role": "Synthesizes the thesis in plain language",
        "source": "bitget-qwen",
        "sourceStatus": "live",
        "signal": "NO_TRADE",
        "vote": "STAND_DOWN",
        "direction": "flat",
        "confidence": 0,
        "reason": "Technicals show bearish structure (MACD death cross, negative 24h/72h momentum, price below Bollinger band) aligned with a confirmed downtrend, but derivatives sentiment is neutral and the ..."
      }
    ],
    "governor": {
      "name": "Risk Governor",
      "decision": "STAND_DOWN",
      "approved": false,
      "reason": "Low conviction defaults to NO_TRADE.",
      "failedChecks": [
        "conviction_floor"
      ]
    }
  },
  "shadowLedger": {
    "version": "catalyst.shadow-ledger.v1",
    "simulationOnly": true,
    "status": "BLOCKED_SHADOW_TRADE",
    "label": "What Catalyst refused to force",
    "reason": "The forced setup was not treated as valid edge because conviction floor. Catalyst does not reward lucky incomplete setups.",
    "rawDirection": "short",
    "entry": 77.836,
    "exit": 74.019,
    "entryTs": 1784664000000,
    "exitTs": 1784912400000,
    "positionPct": 0.04,
    "rawReturnPct": 4.9039,
    "portfolioReturnPct": 0.1962,
    "riskControlledReturnPct": 4.9039,
    "riskControlledPortfolioReturnPct": 0.1962,
    "maxAdversePct": 1.2693,
    "stopLossPct": 2,
    "exitReason": "window_close",
    "actualSimAction": "NO_TRADE",
    "failedRiskChecks": [
      "conviction_floor"
    ]
  },
  "checksum": "245c086b1e5b90260904b783d73b3115c83ba8d81569aca00436a9f072e62310"
}