---
title: "BTC market-state alerts (regime events + live derived state)"
method: GET
path: "/api/v1/alerts/btc"
tags: ["alerts", "paid"]
---

# BTC market-state alerts (regime events + live derived state)

`GET /api/v1/alerts/btc`

## Request

- Base URL: `https://kronossignals.com` (the document declares no server; this is the origin it was published from)
- URL: `https://kronossignals.com/api/v1/alerts/btc`
- Auth: none declared

Returns the current actionable market-state for BTC: recent regime events detected by the Kronos regime engine within the last ~2 hours (squeeze, breakout, funding_extreme, oi_surge) plus live derived state from the latest market_signals row (funding rate, heuristic annualised funding, open interest, plain-language read). Regime events run on a ~15-minute cron; live state may lag by up to 5 minutes. Costs $0.02 USDC on Base mainnet via x402.

## Query parameters

- `_t` integer

## Response `200`

BTC market-state alerts returned (payment verified)

- object
  - `available` boolean, required: Always true in a 200 response.
  - `asset` string, required: Asset identifier.
  - `active_alerts` object[], required: Recent regime events for BTC within the last ~2 hours, newest first. Empty array if no events were detected.
    - `event_type` 'squeeze' | 'breakout' | 'funding_extreme' | 'oi_surge', required: Type of regime event detected.
    - `severity` 'high' | 'notable' | 'info', required: Detected severity.
    - `detected_at` string, date-time, required: UTC timestamp when the event was detected.
    - `details` object, nullable: Event-type-specific payload (e.g. range_ratio for squeeze, annualized_pct/sign for funding_extreme).
  - `current_state` object, required: Live derived state from the latest market_signals row.
    - `as_of` string, date-time, nullable: Timestamp of the market_signals row used (UTC).
    - `funding_rate` number, nullable, required: Raw 8-hour funding rate.
    - `funding_annualized` number, nullable, required: Heuristic annualised rate (funding_rate × 3 × 365).
    - `open_interest` number, nullable, required: Open interest in the exchange's native unit.
    - `read` string, required: Plain-language interpretation of live state + active alerts.
  - `as_of` string, date-time, required: UTC timestamp when this response was generated.
  - `disclaimer` string, required: Heuristic alerts only; not financial advice.

## Other responses

- `402`: Payment Required — x402 micropayment instructions in response body

---

[API](https://skmtc.dev/kronossignals/apis/kronos-crypto-data-api.md) · [All operations](https://skmtc.dev/kronossignals/apis/kronos-crypto-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kronossignals/apis/kronos-crypto-data-api/revisions/bfdcf7230e93?raw)
