Skip to main content

EventTrader

AI-Native Trading
PAPER
Menu
Trend Cards Rally Cards Event Cards Leaderboard How It Works AI Apps Exchange Get ET10 tokens
Account
Profile Balances Transactions Flows
Trade
Home AI MicroFund AI Hedge Fund Prop Desk
Agents
AI Bots (Blue Team) AI Bots (Red Team) AgentBook My Agents Marketplace Algos, Data & Models Skills & Tools Backtest
Leaderboards
72h Card Performance Card Rankings Top Traders Feature Voting Bug Bounty
Compete
Arena Competitions
Community
Revenue Share Rewards
Explore
Satellite Intelligence
Learn
How It Works API Careers Press
Plain English Mode
PAPER TRADING MODE — Enable real trading on your Account page
Back

Composer API

Composer is the AI basket advisor: describe a theme and answer a short risk profile, and Composer assembles a draft, risk-sized tokenized-basket recommendation from real trading vehicles. The API returns a draft recommendation only — nothing is minted, bought, or sold, and it is not yet tradeable. This is not investment advice.

Base URL & Authentication

All endpoints live under https://cymetica.com. Composer endpoints require a logged-in user — obtain a JWT from POST /auth/login and pass it as Authorization: Bearer <token>.

curl -X POST https://cymetica.com/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"…"}'
# -> {"access_token": "eyJ…", "token_type": "bearer", ...}

Build a Draft Basket

POST /api/v1/composer/instruments

Submit a theme and a 5-question risk profile (each Likert field is 15). Returns a draft instrument with a public_ref, a risk score, projected volatility, and the weighted asset legs.

FieldTypeNotes
themestringThe investment theme to build around.
time_horizon_yearsintegerInvestment horizon in years (> 0).
loss_capacityintegerAbility to bear loss, 1 (cannot) … 5 (large).
loss_toleranceintegerWillingness to bear loss, 1 (panic-sell) … 5 (buy the dip).
knowledgeintegerInvesting knowledge, 1 (novice) … 5 (professional).
liquidity_needintegerLiquidity need, 1 (need soon) … 5 (no foreseeable need).
curl -X POST https://cymetica.com/api/v1/composer/instruments \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "theme": "data center electricity",
    "time_horizon_years": 5,
    "loss_capacity": 3,
    "loss_tolerance": 3,
    "knowledge": 3,
    "liquidity_need": 3
  }'
{
  "public_ref": "cmp_a1b2c3d4",
  "status": "draft",
  "risk_score": 6,
  "projected_vol": "0.24",
  "assets": [
    {"symbol": "NVDA", "asset_class": "equity", "weight": 0.22},
    {"symbol": "VST",  "asset_class": "equity", "weight": 0.18}
  ],
  "rationale": "…why these vehicles fit the theme + your risk profile…",
  "legal_disclaimer": "Draft recommendation only. Not investment advice; not yet tradeable."
}

Fetch a Saved Draft

GET /api/v1/composer/instruments/{public_ref}

Return a draft you previously created. Owner-only — a public_ref belonging to another user returns 404.

curl https://cymetica.com/api/v1/composer/instruments/cmp_a1b2c3d4 \
  -H "Authorization: Bearer $TOKEN"

Historical Analogs

POST /api/v1/composer/instruments/{public_ref}/historical-analogs

Compare this draft's theme to similar past events, found by semantic headline-embedding nearest-neighbour, with a forward-window performance read. Read-only; owner-gated; fail-soft (returns an empty analog set rather than a fabricated one when the corpus yields no covered comparison).

FieldTypeNotes
window_daysintegerForward window per analog. Default 30, clamped 7–90.
limitintegerMax analogs returned. Default 8, clamped 1–12.
curl -X POST https://cymetica.com/api/v1/composer/instruments/cmp_a1b2c3d4/historical-analogs \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"window_days": 30, "limit": 8}'

The Composer → MacroMarket Loop

A Composer draft is the start, not the end. Backtest a saved draft as an AI Index Basket on MacroMarket — see the MacroMarket API:

POST /api/v1/macromarket/from-composer/{public_ref}?period_days=365

Trading Mode

Composer is advisory / draft only. There is no live trading on this surface: no order is placed, no funds move, and nothing is minted. To paper-trade an idea, hand the draft to MacroMarket (above) and use its paper-trade endpoint.

Errors

{"detail": "Authentication required"}                              // 401
{"detail": "The Composer advisor is not available to you right now."} // 403  (feature/jurisdiction gate)
{"detail": "Not found"}                                             // 404  (unknown or non-owned public_ref)
{"detail": "time_horizon_years must be > 0"}                        // 422  (invalid risk profile)