> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aioka.io/llms.txt
> Use this file to discover all available pages before exploring further.

# SOL Ghost Trader Status

> Live SOL Ghost Trader status -- current trade, latest verdict, regime, RSI, EMA, Solana network health (Gate 0)

<Note>
  This endpoint is public -- no API key required. Powers the SOL panel
  on aioka.io/live. (Sprint 183 -- second multi-asset expansion after ETH.)
</Note>

**Tier:** Public ✅
**Cache:** None -- always live
**Read-only:** Never writes to any trading table.

> ⚠️ This is a paper-trading status snapshot, not financial advice.
> AIOKA SOL Ghost Trader is a simulation. Never make real financial
> decisions based solely on this signal.

## Response Fields

SOL status mirrors the ETH schema but adds two SOL-specific fields:
`networkHealth` and `networkTps` (the Solana network health probe used
by Gate 0). SOL evaluates **8 entry gates** -- one more than BTC/ETH
(7 gates) -- because Gate 0 (network health) is mandatory for SOL.

| Field                               | Type           | Meaning                                                                                                                                                 |
| ----------------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `status`                            | string         | `"WAITING"` (no open SOL trade) or `"IN_TRADE"`                                                                                                         |
| `currentTrade`                      | object \| null | Open SOL trade details when `status == "IN_TRADE"`                                                                                                      |
| `currentTrade.entryPrice`           | number         | SOL entry price (USD)                                                                                                                                   |
| `currentTrade.sizeSol`              | number         | Position size in SOL                                                                                                                                    |
| `currentTrade.pnlUsd`               | number         | Live P\&L in USD                                                                                                                                        |
| `currentTrade.pnlPct`               | number         | Live P\&L as % of position cost                                                                                                                         |
| `currentTrade.tp1Hit`               | bool           | Whether TP1 partial close has fired                                                                                                                     |
| `currentTrade.stopLoss`             | number         | Stop loss price (USD). Reads from `sol_ghost_trades.stop_loss`; falls back to `entryPrice × 0.97` (-3.0% floor) when NULL                               |
| `currentTrade.tp1Target`            | number         | TP1 target price = `entryPrice × 1.02` (+2.0%)                                                                                                          |
| `currentTrade.tp2Target`            | number         | TP2 target price = `entryPrice × 1.05` (+5.0%)                                                                                                          |
| `currentTrade.networkHealthAtEntry` | string         | Solana network health label captured at entry (`HEALTHY` / `DEGRADED` / `UNKNOWN`)                                                                      |
| `latestVerdict`                     | object \| null | Latest SOL council verdict                                                                                                                              |
| `latestVerdict.ruling`              | string         | `STRONG_BUY` / `BUY` / `ACCUMULATE` / `HOLD` / `REDUCE` / `SELL` / `STRONG_SELL`                                                                        |
| `latestVerdict.confidence`          | number         | 0.0 -- 1.0                                                                                                                                              |
| `latestVerdict.createdAt`           | string         | ISO 8601 timestamp                                                                                                                                      |
| `regime`                            | string \| null | Market regime (e.g. `ACCUMULATION`)                                                                                                                     |
| `rsi1h`                             | number \| null | SOL 1H RSI                                                                                                                                              |
| `ema200`                            | number \| null | SOL 1H EMA(200)                                                                                                                                         |
| `solPrice`                          | number \| null | Latest SOL/USD                                                                                                                                          |
| `networkHealth`                     | string         | **SOL-specific.** Solana network health label: `HEALTHY` / `DEGRADED` / `UNKNOWN`. `DEGRADED` blocks ALL SOL entries.                                   |
| `networkTps`                        | number \| null | **SOL-specific.** Current Solana network throughput (transactions per second) from RPC `getRecentPerformanceSamples`. Threshold for HEALTHY = 1000 TPS. |
| `generatedAt`                       | string         | Response timestamp                                                                                                                                      |
| `gates`                             | object         | Per-gate boolean evaluator (8 gates for SOL)                                                                                                            |
| `gates.network`                     | bool           | **SOL-specific Gate 0.** `true` when Solana network is HEALTHY                                                                                          |
| `gates.networkHealth`               | string         | Network health label mirrored into the gates block                                                                                                      |
| `gates.judiciary`                   | bool           | Judiciary ruling is bullish                                                                                                                             |
| `gates.council`                     | bool           | SOL council bullish AND confidence ≥ 65%                                                                                                                |
| `gates.emaProximity`                | bool           | Price within EMA 200 sweet-spot band (+0.5% to +4.0%)                                                                                                   |
| `gates.regime`                      | bool           | Regime favorable for SOL entries                                                                                                                        |
| `gates.quality`                     | bool           | Real composite entry quality score ≥ 60.0 (mirrors trader-side `calculate_entry_quality()` byte-for-byte)                                               |
| `gates.momentum`                    | bool           | RSI(1H) ≥ 45 (momentum heuristic)                                                                                                                       |
| `gates.session`                     | bool           | Not in weekend low-liquidity block (Fri 22:00 -- Sun 06:00 Europe/Prague)                                                                               |
| `gates.gatesMet`                    | int            | Count of gates currently passing (0 -- 8)                                                                                                               |
| `gates.trigger`                     | string \| null | Human-readable reason the next gate is failing, or `null` when all 8 pass                                                                               |

<RequestExample>
  ```bash curl theme={null}
  curl https://api.aioka.io/v1/sol/status
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "status": "WAITING",
    "currentTrade": null,
    "latestVerdict": {
      "ruling": "ACCUMULATE",
      "confidence": 0.71,
      "createdAt": "2026-05-05T10:15:00+00:00"
    },
    "regime": "ACCUMULATION",
    "rsi1h": 54.2,
    "ema200": 152.3,
    "solPrice": 156.8,
    "networkHealth": "HEALTHY",
    "networkTps": 2850.5,
    "generatedAt": "2026-05-05T10:30:00+00:00",
    "gates": {
      "network": true,
      "networkHealth": "HEALTHY",
      "judiciary": true,
      "council": true,
      "emaProximity": true,
      "regime": true,
      "quality": true,
      "momentum": true,
      "session": true,
      "gatesMet": 8,
      "trigger": null
    }
  }
  ```
</ResponseExample>

## SOL-Specific: Gate 0 (Network Health)

SOL is the first AIOKA asset with a dedicated network-health gate. The
public status endpoint probes Solana mainnet RPC
(`getRecentPerformanceSamples`) and `status.solana.com` summary every
60 seconds and exposes the result via `networkHealth` + `networkTps`.

When `networkHealth == "DEGRADED"`, ALL SOL entries are blocked
regardless of judiciary, council, or any other gate. This is by design
and mirrors the trader-side TW-2-equivalent rule -- Gate 0 must never
be disabled.


## OpenAPI

````yaml GET /v1/sol/status
openapi: 3.1.0
info:
  title: AIOKA Intelligence API
  description: |

    ## AI-powered crypto market intelligence

    AIOKA Intelligence API provides real-time access to our AI Council verdicts,
    market signals, regime detection, and Ghost Trader entry signals.

    ### Tiers
    - **Free**: 100 calls/day — Verdict + Regime
    - **Basic** ($49/mo): 1,000 calls/day — + Signals
    - **Pro** ($199/mo): 10,000 calls/day — + Council + Ghost

    ### Authentication
    Pass your API key in the `X-API-Key` header:

    ```
    X-API-Key: aik_free_xxxxxxxxxxxx
    ```

    ### Get your API key
    `POST /v1/keys/generate` (free tier, no credit card)
  contact:
    name: AIOKA Support
    url: https://docs.aioka.io/
    email: api@aioka.io
  license:
    name: Commercial
    url: https://aioka.io/terms
  version: 1.0.0
servers:
  - url: https://api.aioka.io
    description: Production — AIOKA Intelligence API
security: []
paths:
  /v1/sol/status:
    get:
      tags:
        - SOL Ghost Trader
      summary: SOL Ghost Trader Status
      description: |-
        Returns the current state of the SOL Ghost Trader: open position (if
        any), latest SOL council verdict, market regime, SOL price, RSI(1H),
        EMA 200, and Solana network health (unique to SOL -- Gate 0).

        **Tier:** Public
        **Cache:** None -- always live
        **Use:** aioka.io/live SOL panel

        Read-only -- never writes to any trading table.
      operationId: get_sol_status_v1_sol_status_get
      responses:
        '200':
          description: Live SOL Ghost Trader status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SOLStatusResponse'
      security: []
components:
  schemas:
    SOLStatusResponse:
      properties:
        status:
          type: string
          title: Status
        currentTrade:
          anyOf:
            - $ref: '#/components/schemas/SOLStatusCurrentTrade'
            - type: 'null'
        latestVerdict:
          anyOf:
            - $ref: '#/components/schemas/SOLStatusVerdict'
            - type: 'null'
        regime:
          anyOf:
            - type: string
            - type: 'null'
          title: Regime
        rsi1h:
          anyOf:
            - type: number
            - type: 'null'
          title: Rsi1H
        ema200:
          anyOf:
            - type: number
            - type: 'null'
          title: Ema200
        solPrice:
          anyOf:
            - type: number
            - type: 'null'
          title: Solprice
        networkHealth:
          type: string
          title: Networkhealth
          default: UNKNOWN
        networkTps:
          anyOf:
            - type: number
            - type: 'null'
          title: Networktps
        generatedAt:
          type: string
          format: date-time
          title: Generatedat
        gates:
          $ref: '#/components/schemas/SolGates'
      type: object
      required:
        - status
        - generatedAt
      title: SOLStatusResponse
      example:
        ema200: 152.3
        gates:
          council: true
          emaProximity: true
          gatesMet: 8
          judiciary: true
          momentum: true
          network: true
          networkHealth: HEALTHY
          quality: true
          regime: true
          session: true
        generatedAt: '2026-05-05T10:30:00+00:00'
        latestVerdict:
          confidence: 0.71
          createdAt: '2026-05-05T10:15:00+00:00'
          ruling: ACCUMULATE
        networkHealth: HEALTHY
        networkTps: 2850.5
        regime: ACCUMULATION
        rsi1h: 54.2
        solPrice: 156.8
        status: WAITING
    SOLStatusCurrentTrade:
      properties:
        entryPrice:
          type: number
          title: Entryprice
        sizeSol:
          type: number
          title: Sizesol
        pnlUsd:
          type: number
          title: Pnlusd
        pnlPct:
          type: number
          title: Pnlpct
        tp1Hit:
          type: boolean
          title: Tp1Hit
        stopLoss:
          type: number
          title: Stoploss
        tp1Target:
          type: number
          title: Tp1Target
        tp2Target:
          type: number
          title: Tp2Target
        networkHealthAtEntry:
          type: string
          title: Networkhealthatentry
          default: HEALTHY
        hwm:
          anyOf:
            - type: number
            - type: 'null'
          title: Hwm
      type: object
      required:
        - entryPrice
        - sizeSol
        - pnlUsd
        - pnlPct
        - tp1Hit
        - stopLoss
        - tp1Target
        - tp2Target
      title: SOLStatusCurrentTrade
    SOLStatusVerdict:
      properties:
        ruling:
          type: string
          title: Ruling
        confidence:
          type: number
          title: Confidence
        createdAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Createdat
      type: object
      required:
        - ruling
        - confidence
      title: SOLStatusVerdict
    SolGates:
      properties:
        network:
          type: boolean
          title: Network
          default: false
        networkHealth:
          type: string
          title: Networkhealth
          default: UNKNOWN
        judiciary:
          type: boolean
          title: Judiciary
          default: false
        council:
          type: boolean
          title: Council
          default: false
        emaProximity:
          type: boolean
          title: Emaproximity
          default: false
        regime:
          type: boolean
          title: Regime
          default: false
        quality:
          type: boolean
          title: Quality
          default: false
        momentum:
          type: boolean
          title: Momentum
          default: false
        session:
          type: boolean
          title: Session
          default: false
        gatesMet:
          type: integer
          title: Gatesmet
          default: 0
        trigger:
          anyOf:
            - type: string
            - type: 'null'
          title: Trigger
      type: object
      title: SolGates

````