Overview

The CIS Confluence Engine™ is the shared backbone behind the CIS aggregate suite. Its job is to take fragmented activity from multiple venues, standardize it into a common unit, filter out bad inputs, and hand each indicator one clean total to work from. The formulas change from indicator to indicator, but the aggregation foundation stays aligned across the suite.

Why This Matters

Crypto volume is not naturally uniform. One venue may be active while another is quiet. One feed may report base quantity, another may report quote value, and another may report contracts. If you simply add raw exchange volume together, you risk mixing incompatible numbers and getting a distorted read. CIS solves that by normalizing first, filtering second, and summing only after the inputs are comparable.

That gives you a broader, cleaner view of participation than relying on a single exchange. It also means the suite is consistent internally: every indicator starts from the same standardized volume foundation before its own formula takes over.

The Two Choices You Control

First, you choose Market Type: Spot, Perps, or Both. That decides whether the engine builds a spot-only total, a perp-only total, or a combined total.

Second, you choose Mode: Base Units or USD Turnover. Base Units means normalized base-asset quantity. USD Turnover means quote-value traded.

Those two settings define the shared total before any indicator-specific math begins.

How It Works

1. The engine routes the chart into the correct venue map.
For supported charts, CIS uses finalized launch-standard spot and perpetual venue lists. Those routed maps, their order, and the way each venue is interpreted are shared across the suite, so every indicator begins from the same baseline.

2. It fetches the venue data once and reuses it.
The CIS Confluence Engine™ pulls only the fields it needs, reuses those series across totals, plots, and debug, and avoids duplicate refetches. That keeps the system efficient and helps preserve consistency between what is calculated and what is shown.

3. It translates every venue into the same language.
Spot rows are treated as base volume. Perpetual rows can be Base, Quote, or Contracts, depending on the shared hardcoded metadata. If a perpetual row uses contracts, the proper contract multiplier is applied before it contributes to the total. Spot rows never receive contract-size conversion.

4. It normalizes the volume into the unit you selected.
Base Units means a normalized base quantity. USD Turnover means quote-value contribution. For conversions that need a price, the shared engine uses protected price logic rather than blindly trusting raw volume. That is what makes unlike feeds comparable enough to aggregate.

5. It protects the total from bad feeds.
The current baseline keeps data defense on with a 5-bad-bar threshold. A venue is treated as bad when its active price proxy is unavailable or its volume is zero. When that happens repeatedly, the venue is ignored for active contribution until valid data returns.

6. It builds one final total for the indicator.
The CIS Confluence Engine™ calculates spot_total, perp_total, and then the active total based on your Market Type setting. Spot uses only spot volume. Perps uses only perpetual volume. Both uses the sum of both. Only after that shared total is built does the indicator apply its own formula.

Not Every Chart Is Treated the Same

Not every chart can support the same level of normalization, so CIS sorts charts into three routing classes. FULL means the chart is on a supported routed asset with a USD-like quote, so CIS can use the full multi-venue aggregate and keep your selected Mode. BASE_ONLY means the chart is still on a supported routed asset, but the quote is not USD-like or the chart is index-style, so CIS still uses the routed venue map but forces Base Units internally. FALLBACK means the chart is outside the supported routed asset set, so CIS does not pretend a routed cross-venue aggregate exists and instead uses the chart’s own volume path in Base Units.

What that looks like in practice:

FULL examples
A chart like BTCUSDT or ETHUSDC is FULL. The asset is supported, the quote is USD-like, and the chart is not index-style, so CIS can use the routed multi-venue aggregate exactly as intended. On charts like these, you can use either Base Units or USD Turnover.

BASE_ONLY examples
A chart like BTCETH or SOLBTC is BASE_ONLY because the asset is supported, but the quote is not USD-like. A chart like BTC.D is also BASE_ONLY because it is index-style. In both cases, CIS still routes the supported asset through the shared venue map, but it forces Base Units internally instead of trying to do full USD-style normalization.

FALLBACK examples
A chart like ADAUSDT or DOGEUSDT is FALLBACK because the base asset is not part of the current routed major set. In that situation, CIS does not use the routed venue map at all. It falls back to the chart’s own volume in Base Units, which is more honest than manufacturing a market-wide total for an unsupported asset.

Why This Is Better Than Raw Exchange Volume

The goal is not to make volume look bigger. The goal is to make it more representative. A single exchange can miss where activity actually moved, and raw volume fields do not all mean the same thing. CIS standardizes venue inputs before they are added together, so the suite reads from one cleaner market-wide stream instead of a patchwork of incompatible feeds.

That is why the indicators can measure different behaviors while still feeling coherent together. They may track flow, trend, expansion, pressure, or value, but they are all starting from the same shared participation backbone.

Transparency Is Built In

The debug table exists so you can inspect the engine rather than just trust the final line. It can show raw volume, HLC3, normalized values, Used contribution, share of total, status, volume type, and contract size. In the current baseline, enabling debug may widen the active fetch scope so the full map can be displayed, but excluded rows still remain honest: Used stays at 0, share stays at 0, and totals stay tied to the active denominator.

One Important Exception

CVD still uses the same shared aggregate total, but it adds one approved extra layer: TradingView’s lower-timeframe requestVolumeDelta() path for intrabar delta shape. In other words, the CIS Confluence Engine™ still builds the magnitude, while the chart-symbol delta feed builds the intrabar shape. That exception is specific to CVD and does not redefine the baseline for the rest of the suite.

In Plain English

CIS takes volume from multiple venues, figures out what each feed actually means, converts everything into the same measurement, filters out bad data, and turns it into one cleaner total before any indicator math starts. The result is a broader, more standardized view of market participation — the kind of foundation you need when you’re putting real capital behind a trade.