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.
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
- 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. ThenGET /api/v1/catalogfor the exact live universe. A condensed site summary lives at/llms.txt. - 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. - 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/stateThe board
Current directional state of every indicator on every asset and timeframe. One call, whole market. Start here on each run.
/api/v1/signalsThe changes
Every state transition, newest first, with an exclusive cursor. Poll this to stay in sync without refetching the board.
/api/v1/confluenceThe 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.
| Field | Type | Meaning |
|---|---|---|
id | string | Stable identifier — safe to dedupe on |
tier | enum | "universe" · "alerts" — which pipeline produced the row |
ticker | string | Asset symbol, e.g. "BTC" |
asset_class | enum | "crypto" · "stock" · "metal" |
indicator | string | Stable id, e.g. "trend_oracle" |
indicator_name | string | Human-readable name, e.g. "Trend Oracle" |
timeframe | enum | "1h" · "4h" · "1d" |
direction | enum | "bullish" · "bearish" · "neutral" · "exit" — normalized across both tiers |
transition | object | null | {from, to} on the universe tier — the state change itself |
action | string | null | LONG · SHORT · BUY · SELL · CLOSE on the alerts tier |
price | number | null | Asset price when the signal fired |
created_at | ISO 8601 | When 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
/api/v1no authMachine-readable product manifest — start here.
/api/v1/catalogno authAuthoritative live coverage: every asset, timeframe and indicator, generated from the compute jobs' own constants. Audit our claims here.
/api/v1/openapi.jsonno authOpenAPI 3.1 definition of every endpoint and schema.
/api/v1/signals/sampleno authStatic documentation sample in the exact live-feed shape. Not live data.
/api/v1/stateAPI keyThe whole board: current state of every indicator × asset × timeframe. Filters: ticker (comma-separated), asset_class, timeframe, indicator, direction.
/api/v1/signalsAPI keyState changes, newest first. Filters: tier, ticker, indicator, timeframe, direction, since (exclusive cursor), limit, offset. Poll at most every 15 minutes.
/api/v1/confluenceAPI keyRanked cross-indicator agreement. Params: timeframe, direction, min_agree, asset_class. Returns every underlying vote.
/api/v1/usageAPI keyYour key's remaining daily quota. Every response also carries X-RateLimit-* headers.
/api/v1/access-requestno authRequest 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 LLMshttps://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