Skip to main content
GET
EUR/USD Forex Ghost Trader Status
This endpoint is public — no API key required. Powers the EUR/USD panel on aioka.io/live. (Sprint 186 — first non-crypto, non-commodity asset.)
Tier: Public (no auth) Cache: None — always live Read-only: Never writes to any trading table.
EUR/USD council uses 6 specialist agents unique to Forex: MACRO_SAGE (VETO), TECH_ANALYST, SESSION_GUARDIAN (VETO), FLOW_WARDEN, MOMENTUM_HUNTER, RISK_WARDEN (VETO). Three veto agents — AVOID confidence > 0.7 forces a hard AVOID regardless of the chief judge ruling. EUR/USD is more macro-sensitive than any other AIOKA asset, hence the extra VETO compared to ETH/Gold.
⚠️ This is a paper-trading status snapshot, not financial advice. AIOKA EUR/USD Ghost Trader is a simulation in Sprint 186. Never make real financial decisions based solely on this signal.

Sprint 186 field-naming convention

This endpoint returns snake_case field names exclusively. No camelCase aliases. Other AIOKA endpoints (ETH / SOL / TAO / Gold) use camelCase aliases via Pydantic populate_by_name; EUR/USD does not. TypeScript clients should write interfaces matching exactly what the JSON contains.

Response Fields

EUR/USD evaluates 9 entry gates (Gate 0 news blackout through Gate 8 spread). Gates 0, 7, and 8 are unique to EUR/USD vs crypto:
  • Gate 0 (news blackout) blocks entry around FOMC, NFP, CPI, ECB, Fed Chair Speech, FOMC Minutes (TIER-1 = full-day block; TIER-2 = ±N min symmetric window).
  • Gate 7 (session) blocks entry outside London / NY / Overlap (Tokyo and Sydney sessions are intentionally blocked for EUR/USD due to thin liquidity).
  • Gate 8 (spread) blocks entry when live ZEURZUSD spread is >= 2 pips (microstructure stress signal).

Top-level

current_trade fields (when status == "IN_TRADE")

latest_verdict fields

gates fields

Specialist Agents (6)

Three VETO agents (vs ETH’s two and Gold’s two): AVOID with confidence
0.7 from any of MACRO_SAGE, SESSION_GUARDIAN, or RISK_WARDEN forces a council ruling of AVOID regardless of the chief judge synthesis.

EUR/USD-specific risk flags

The council surfaces these risk flags on the verdict object (visible in the internal /eurusd_council Telegram command output; not persisted on the public verdict row):
  • MACRO_HEADWIND — DXY rising or rate differential bearish
  • SESSION_BLOCKED — outside London / NY / Overlap or weekend approaching
  • SPREAD_RISK — live spread >= 1.5 pips (approaching 2-pip Gate 8)
  • MACRO_EVENT_IMMINENT — high-impact event within 30 min
  • WEEKEND_GAP_RISK — Friday afternoon, insufficient exit runway
  • USD_STRENGTH — DXY 7d change > +1%

Response

Live EUR/USD Ghost Trader status

status
string
required

"WAITING" (no open EUR/USD trade) or "IN_TRADE".

generated_at
string<date-time>
required
current_trade
EURUSDStatusCurrentTrade · object | null
latest_verdict
EURUSDStatusVerdict · object | null
regime
string | null
rsi_1h
number | null
ema_200
number | null
eurusd_price
number | null
eurusd_bid
number | null
eurusd_ask
number | null
spread_pips
number | null

Live spread in pips (must be < 2.0 for Gate 8).

session_label
string
default:UNKNOWN

Current EUR/USD session. LONDON / OVERLAP / NEW_YORK = entry allowed; WEEKEND / CLOSED = blocked.

paper_trades_validated
integer
default:0

Closed validated EUR/USD paper trades (0-10 milestone).

paper_mode
boolean
default:true

EURUSD_PAPER_MODE flag; live unlocked after 10 validated paper closes AND post-validation approval.

gates
EURUSDGates · object

Per-gate boolean status for the EUR/USD 9-gate entry framework.

Spec enumerates Gate 0 (news blackout) through Gate 8 (spread) inclusive = 9 distinct checks. The header in the spec doc says "8 gates" colloquially but every evaluation row shipped here is required for entry.