> ## 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.

# ETH Ghost Trader Status

> Live ETH Ghost Trader status — current trade, latest verdict, regime, RSI, EMA

<Note>
  This endpoint is public — no API key required. Powers the ETH panel
  on aioka.io/live. (Sprint 258 — first multi-asset expansion after BTC.)
</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 ETH Ghost Trader is a simulation. Never make real financial
> decisions based solely on this signal.

## Response Fields

| Field                      | Type           | Meaning                                                                                                      |
| -------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------ |
| `status`                   | string         | `"WAITING"` (no open ETH trade) or `"IN_TRADE"`                                                              |
| `currentTrade`             | object \| null | Open ETH trade details when `status == "IN_TRADE"`                                                           |
| `currentTrade.entryPrice`  | number         | ETH entry price (USD)                                                                                        |
| `currentTrade.sizeEth`     | number         | Position size in ETH                                                                                         |
| `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 `eth_ghost_trades.stop_loss`; falls back to `entryPrice × 0.975` when NULL |
| `currentTrade.tp1Target`   | number         | TP1 target price = `entryPrice × 1.015` (+1.5%)                                                              |
| `currentTrade.tp2Target`   | number         | TP2 target price = `entryPrice × 1.035` (+3.5%)                                                              |
| `latestVerdict`            | object \| null | Latest ETH 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 | ETH 1H RSI                                                                                                   |
| `ema200`                   | number \| null | ETH 1H EMA(200)                                                                                              |
| `ethPrice`                 | number \| null | Latest ETH/USD                                                                                               |
| `generatedAt`              | string         | Response timestamp                                                                                           |

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

<ResponseExample>
  ```json 200 theme={null}
  {
    "status": "WAITING",
    "currentTrade": null,
    "latestVerdict": {
      "ruling": "ACCUMULATE",
      "confidence": 0.72,
      "createdAt": "2026-04-28T10:15:00+00:00"
    },
    "regime": "ACCUMULATION",
    "rsi1h": 52.4,
    "ema200": 3210.5,
    "ethPrice": 3265.0,
    "generatedAt": "2026-04-28T10:30:00+00:00"
  }
  ```
</ResponseExample>


## OpenAPI

````yaml GET /v1/eth/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/eth/status:
    get:
      tags:
        - ETH Ghost Trader
      summary: ETH Ghost Trader Status
      description: |-
        Returns the current state of the ETH Ghost Trader: open position (if
        any), latest ETH council verdict, market regime, ETH price, RSI(1H),
        and EMA 200.

        **Tier:** Public ✅
        **Cache:** None — always live
        **Use:** aioka.io/live ETH panel

        Read-only — never writes to any trading table.
      operationId: get_eth_status_v1_eth_status_get
      responses:
        '200':
          description: Live ETH Ghost Trader status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ETHStatusResponse'
      security: []
components:
  schemas:
    ETHStatusResponse:
      properties:
        status:
          type: string
          title: Status
        currentTrade:
          anyOf:
            - $ref: '#/components/schemas/ETHStatusCurrentTrade'
            - type: 'null'
        latestVerdict:
          anyOf:
            - $ref: '#/components/schemas/ETHStatusVerdict'
            - 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
        ethPrice:
          anyOf:
            - type: number
            - type: 'null'
          title: Ethprice
        generatedAt:
          type: string
          format: date-time
          title: Generatedat
        gates:
          $ref: '#/components/schemas/EthGates'
      type: object
      required:
        - status
        - generatedAt
      title: ETHStatusResponse
      example:
        ema200: 3210.5
        ethPrice: 3265
        gates:
          council: true
          emaProximity: true
          gatesMet: 7
          judiciary: true
          momentum: true
          quality: true
          regime: true
          session: true
        generatedAt: '2026-04-28T10:30:00+00:00'
        latestVerdict:
          confidence: 0.72
          createdAt: '2026-04-28T10:15:00+00:00'
          ruling: ACCUMULATE
        regime: ACCUMULATION
        rsi1h: 52.4
        status: WAITING
    ETHStatusCurrentTrade:
      properties:
        entryPrice:
          type: number
          title: Entryprice
        sizeEth:
          type: number
          title: Sizeeth
        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
        hwm:
          anyOf:
            - type: number
            - type: 'null'
          title: Hwm
      type: object
      required:
        - entryPrice
        - sizeEth
        - pnlUsd
        - pnlPct
        - tp1Hit
        - stopLoss
        - tp1Target
        - tp2Target
      title: ETHStatusCurrentTrade
    ETHStatusVerdict:
      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: ETHStatusVerdict
    EthGates:
      properties:
        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: EthGates

````