Skip to documentation
API docs/State & confluenceChapters +
Documentation/API reference
v1

API reference

State & confluence

Read the market, follow changes, and find agreement.

/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/flips

The flips

Recent changes grouped by asset and ranked by how many indicators turned the same way — the website’s Flips panel as data.

/api/v1/confluence

The agreement

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

Static response example showing one asset. The live response counts only the assets and readings returned.

{
  "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": 1, "readings": 9 }
}

Reading an agreement score

A score of 0.667 means four of six reporting indicators agree on direction. It does not mean a 66.7% chance of profit. These models can respond to the same price movements, so their votes can be correlated. Inspect the underlying votes and evaluate the combination against your own baseline.

Votes come from every indicator key in the stored state. That includes PerpKit’s trend reading and, on some assets, legacy keys that have not been updated since a rename: dexter (now enzo, renamed 2026-04-13). So total_reporting can differ between assets. The catalog lists them under legacy_indicator_keys.

How flips are grouped

Pass timeframe (default 1d), hours and direction (all, bullish or bearish). Windows per timeframe, in hours: 1h 1 / 3 / 6; 4h 6 / 12 / 24; 1d 24 / 48 / 72. The middle one is the default.

  • Only the newest change per asset, indicator and timeframe inside the window counts. The direction filter applies after that pick, so a cell whose newest change went the other way is left out rather than replaced by an older change.
  • One group per asset. bullish and bearish count the indicators whose newest change turned that way; dominant is the larger side, or "mixed" on a tie; score is the larger count. A change to neutral counts toward neither side.
  • By score, then groups with a dominant side before mixed ones, then the most recent change first.
  • On 1h, only groups with a score of 2 or more are listed.
  • Each request reads the newest rows of the timeframe’s widest window, up to 1h: 1500, 4h: 800, 1d: 500. capped is true when that limit was reached, so older changes inside the window may be missing.
  • Groups, order and membership match the website’s Flips panel for a Premium subscriber. The website lists the first 50 groups and shows the price move since the oldest change on the dominant side; the API returns every group and each change’s price instead.

Signals are informational outputs of technical indicators, not investment advice or a solicitation to trade. Past signals do not guarantee future performance. Use of this API is governed by the Eclipse terms of use.

Standard API access is self-serve under the published Eclipse terms of use and the pricing and quota on /api/docs/access. No separately negotiated agreement is required for standard access. There is no formal uptime SLA. Redistribution, resale, or custom commercial terms require a separate written agreement through /api/v1/access-request.

Support & access recovery

Search API documentation

↑ ↓ to navigate · Enter to openEsc to close
State & confluence | Eclipse API