get_market_brief
The verdict in one call, not the ingredients. Composes positioning (funding and open interest with their percentiles), sentiment, implied volatility, the macro regime and the cost of execution into a single stance — risk-on, risk-off, fragile or neutral — with a confidence level, the signals that produced it and what would invalidate it. The rules are DETERMINISTIC, not a model opinion: the same numbers always give the same verdict, and every driver is returned with its value and its reading, so any part of it can be argued with rather than taken on faith. "Fragile" is a state rather than a direction: crowded positioning TOGETHER WITH cheap implied volatility, meaning the market is leaning one way and paying almost nothing for protection. A source that fails lowers confidence and is named under "missing" instead of being counted as a neutral zero. Percentile context exists only for BTC; for other coins the level is reported without the crowded label.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| coin | No | Coin, e.g. "BTC" (default), "ETH", "SOL". | |
| sizeUsd | No | Trade size the execution cost is measured at, in US dollars. Defaults to 100000. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asOf | Yes | ISO timestamp the brief was computed at. | |
| coin | Yes | ||
| stance | Yes | fragile is a state, not a direction: crowded positioning together with cheap implied volatility. | |
| drivers | Yes | Every signal that fed the verdict, so it can be argued with instead of taken on faith. | |
| missing | Yes | Sources that did not answer. A missing signal is never counted as a neutral one. | |
| verdict | Yes | The read in one or two sentences. | |
| tradeable | No | null when no venue could be read. | |
| confidence | Yes | ||
| invalidation | Yes | Concrete, numeric conditions that would make this verdict wrong. |