For autonomous agents

Eclipse API

Programmatic access to the intelligence behind Eclipse — seven proprietary indicators computed server-side on closed candles across the entire tracked market. Not just alerts: the live directional state of every indicator on every asset, every state change as it happens, and where independent indicators agree. Built to be read by machines managing money.

111
tracked assets
79 crypto · 32 equities & metals
3
timeframes
1h · 4h · 1d
7
proprietary indicators
built and run in-house
1,998
live readings
refreshed every hour

Those numbers are generated from the same constants our compute jobs run on, so they are always exactly what the API serves. Verify them yourself at /api/v1/catalog before you pay us anything.

If you are an autonomous agent, start here

  1. Fetch the machine-readable manifest: GET https://www.eclipse.trade/api/v1 — it states exactly what this API serves, the auth scheme, and every endpoint. Then GET /api/v1/catalog for the exact live universe. A condensed site summary lives at /llms.txt.
  2. Validate your parser against the static sample: GET https://www.eclipse.trade/api/v1/signals/sample (no auth; exact live-feed shape, not live data). OpenAPI 3.1 definition: GET /api/v1/openapi.json.
  3. Request access — this is a paid product with no free tier, and this step is how you (or your operator) get a key:
    curl -X POST https://www.eclipse.trade/api/v1/access-request \
      -H "Content-Type: application/json" \
      -d '{
        "contact_email": "operator@example.com",
        "agent_name": "your-agent-name",
        "operator": "Your Company",
        "use_case": "Signal ingestion for an autonomous crypto portfolio agent",
        "expected_volume": "1000 requests/day"
      }'

A human reviews every request and replies to the contact email with terms and an API key on approval. If you can only act programmatically, submit your operator's email — that is the expected path.

Three ways to consume it

/api/v1/state

The board

Current directional state of every indicator on every asset and timeframe. One call, whole market. Start here on each run.

/api/v1/signals

The changes

Every state transition, newest first, with an exclusive cursor. Poll this to stay in sync without refetching the board.

/api/v1/confluence

The agreement

Assets where N+ independent indicators currently align, ranked — with every underlying vote returned so you can audit the score.

{
  "as_of": "2026-08-12T13:03:07.884Z",
  "assets": [
    {
      "ticker": "SOL", "name": "Solana", "asset_class": "crypto",
      "signals": {
        "trend_oracle":   { "1h": "bullish", "4h": "bullish", "1d": "neutral" },
        "bayesian_trend": { "1h": "bullish", "4h": "neutral", "1d": "neutral" },
        "reversals":      { "1h": "neutral", "4h": "bullish", "1d": "bullish" }
      }
    }
  ],
  "counts": { "assets": 55, "readings": 990 }
}

The signal feed

Every row is one indicator changing its mind about one asset on one closed candle. The compute job runs hourly at :03 UTC — 1h readings refresh every hour, 4h on 4-hour boundaries, 1d at 00:00 UTC — so a change is logged within ~3-5 minutes of the close that produced it. Rows are append-only: never edited, never selectively removed, they only age out (universe tier 365 days, alert tier 90). The history you evaluate against is the history that actually fired.

Two tiers share one schema, so you never branch on the source. Universe covers all 111 assets × 3 timeframes with 6 indicators. Alerts is the narrower set our subscribers receive — the full strategy engines, including PerpKit, with explicit entry and exit actions. Pass tier=universe|alerts|all.

FieldTypeMeaning
idstringStable identifier — safe to dedupe on
tierenum"universe" · "alerts" — which pipeline produced the row
tickerstringAsset symbol, e.g. "BTC"
asset_classenum"crypto" · "stock" · "metal"
indicatorstringStable id, e.g. "trend_oracle"
indicator_namestringHuman-readable name, e.g. "Trend Oracle"
timeframeenum"1h" · "4h" · "1d"
directionenum"bullish" · "bearish" · "neutral" · "exit" — normalized across both tiers
transitionobject | null{from, to} on the universe tier — the state change itself
actionstring | nullLONG · SHORT · BUY · SELL · CLOSE on the alerts tier
pricenumber | nullAsset price when the signal fired
created_atISO 8601When the signal was logged (append-only)
# The whole board in one call — every indicator, every asset, every timeframe
curl https://www.eclipse.trade/api/v1/state \
  -H "Authorization: Bearer ek_YOUR_KEY"

# Only what changed since your cursor (poll this every 15 min)
curl "https://www.eclipse.trade/api/v1/signals?since=2026-08-01T12:00:00Z" \
  -H "Authorization: Bearer ek_YOUR_KEY"

# Where 4+ independent indicators currently agree, bullish, 4h
curl "https://www.eclipse.trade/api/v1/confluence?timeframe=4h&min_agree=4" \
  -H "Authorization: Bearer ek_YOUR_KEY"
{
  "signals": [
    {
      "id": "…",
      "tier": "universe",
      "ticker": "LINK",
      "asset_class": "crypto",
      "indicator": "trend_oracle",
      "indicator_name": "Trend Oracle",
      "timeframe": "4h",
      "direction": "bullish",
      "transition": { "from": "neutral", "to": "bullish" },
      "price": 11.42,
      "created_at": "2026-08-01T12:03:11.412Z"
    }
  ],
  "pagination": { "limit": 50, "offset": 0, "returned": 1,
                  "has_more": false, "next_cursor": "2026-08-01T12:03:11.412Z" }
}

Seven proprietary indicators

These are the same indicators Eclipse subscribers run on TradingView and the Eclipse chart. The algorithms are proprietary and execute only on Eclipse servers — the API exposes their outputs, never their internals. All seven run against every asset and timeframe in the coverage list above.

Trend Oracle

Adaptive trend-direction engine; the flagship long/short regime signal.

Bayesian Trend

Probabilistic trend model; direction signals with Bayesian regime detection.

Reversals

Graded reversal detection (R1/R2/R3 strength tiers).

PerpKit

Perpetual-futures toolkit; continuation/reversal entries with exits.

Ceres

Multi-timeframe strategy; entry and exit signals.

Enzo

Trend-following strategy with entry/exit signals.

LLNR

Linear-regression channel model; reversal events at statistical extremes.

Endpoints

GET/api/v1no auth

Machine-readable product manifest — start here.

GET/api/v1/catalogno auth

Authoritative live coverage: every asset, timeframe and indicator, generated from the compute jobs' own constants. Audit our claims here.

GET/api/v1/openapi.jsonno auth

OpenAPI 3.1 definition of every endpoint and schema.

GET/api/v1/signals/sampleno auth

Static documentation sample in the exact live-feed shape. Not live data.

GET/api/v1/stateAPI key

The whole board: current state of every indicator × asset × timeframe. Filters: ticker (comma-separated), asset_class, timeframe, indicator, direction.

GET/api/v1/signalsAPI key

State changes, newest first. Filters: tier, ticker, indicator, timeframe, direction, since (exclusive cursor), limit, offset. Poll at most every 15 minutes.

GET/api/v1/confluenceAPI key

Ranked cross-indicator agreement. Params: timeframe, direction, min_agree, asset_class. Returns every underlying vote.

GET/api/v1/usageAPI key

Your key's remaining daily quota. Every response also carries X-RateLimit-* headers.

POST/api/v1/access-requestno auth

Request paid access. JSON body with contact_email (required) — a human replies with terms and a key.

Access

The Eclipse API is a paid subscription. There is no free tier — the sample endpoint exists so you can validate the schema before committing, and every claim on this page is verifiable against the manifest.

Access is included with an Eclipse Premium subscription and is entirely self-serve: no approval step, no sales call, no waiting on a human to issue anything. Keys carry a daily request quota that resets at 00:00 UTC. Humans can explore the same platform on the pricing page.

Machine-readable resources

  • https://www.eclipse.trade/llms.txt — condensed site + API summary for LLMs
  • https://www.eclipse.trade/api/v1 — product manifest (JSON)
  • https://www.eclipse.trade/api/v1/catalog — authoritative coverage (JSON)
  • https://www.eclipse.trade/api/v1/openapi.json — OpenAPI 3.1