{
  "markdown": "# Bitcoin Risk Brief\n\nBitcoin Risk Brief is a free, open-source product that turns canonical daily BTC/USD data into a transparent risk score, freshness state, and scenario price ladder. It is free permanently: no paid tier, no accounts, no SLA. The owned source code, documentation, and configuration are Apache-2.0; bundled third-party BTC/USD market data is not.\n\n[![CI](https://github.com/akarazhev/bitcoin-risk-brief/actions/workflows/ci.yml/badge.svg)](https://github.com/akarazhev/bitcoin-risk-brief/actions/workflows/ci.yml) [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE) [![Live site](https://img.shields.io/website?url=https%3A%2F%2Fbitcoinriskbrief.minihub.app%2F&label=live%20site)](https://bitcoinriskbrief.minihub.app/)\n\n![Bitcoin Risk Brief first viewport with current risk and readiness](docs/assets/bitcoin-risk-brief-first-viewport.png)\n\n_First viewport captured on 2026-08-09; the values shown are a point-in-time example._\n\nLive product: [bitcoinriskbrief.minihub.app](https://bitcoinriskbrief.minihub.app/)\n\nCheck readiness before using any current value:\n\n```bash\ncurl --fail --silent --show-error https://bitcoinriskbrief.minihub.app/api/readiness\n```\n\nResponse captured on 2026-08-09:\n\n```json\n{\n  \"status\": \"ready\",\n  \"checks\": {\n    \"risk_data_available\": true,\n    \"validation_available\": true,\n    \"risk_range_ok\": true,\n    \"validation_has_rows\": true,\n    \"latest_matches_validation_end\": true,\n    \"source_is_canonical\": true,\n    \"data_fresh\": true\n  },\n  \"data\": {\n    \"latest_date\": \"2026-08-08\",\n    \"covered_end\": \"2026-08-08\",\n    \"data_age_days\": 1,\n    \"max_age_days\": 2,\n    \"source\": \"coinmarketcap_csv\",\n    \"row_count\": 5871,\n    \"methodology_version\": \"crypto-scout-canonical-v1.1\"\n  }\n}\n```\n\n## What it does\n\n- Computes a daily `0.0`–`1.0` Bitcoin risk metric from the canonical `collector/btc-csv/btc_usd_daily.csv` history.\n- Shows the latest `low`, `neutral`, or `high` state alongside a two-year risk history chart.\n- Displays completed-candle HLC3 model price context and a risk-level scenario ladder in `0.025` increments.\n- Publishes a daily brief in English, Russian, Simplified Chinese, German, French, Spanish, and Arabic.\n- Exposes read-only analytics endpoints and accepts email waitlist contacts server-side, never in browser storage; users should not submit sensitive information.\n\n## What makes it different\n\n- **Visible freshness and readiness.** The UI shows the latest completed day and validation state; `/api/readiness` returns HTTP 503 when freshness or validation checks fail.\n- **Deterministic and reproducible.** A versioned methodology recomputes the metric from the same canonical daily history, with validation metadata recording each import.\n- **Scenarios, not forecasts.** The price ladder runs hypothetical prices through the same model to show where risk levels would change; it is not a prediction or trading instruction.\n\n## Current Status\n\nCurrent operational status, evidence, and accepted limitations: [Production Readiness](docs/operations/production-readiness.md).\n\n## For AI agents\n\nStart with the repository [llms.txt](frontend/public/llms.txt). This branch defines the machine-readable [`/api/openapi.json`](backend/app/main.py) endpoint; deployment remains pending operator work. Use the [Agent Access Pack](docs/agents/agent-access-pack.md) for endpoint examples, cache semantics, and interpretation boundaries.\n\nAgents must call `/api/readiness` first, bind reported values to its dates and freshness state, and preserve the analytics-not-advice framing.\n\n## Architecture\n\n| Service | Stack | Purpose |\n| --- | --- | --- |\n| `timescaledb` | TimescaleDB/PostgreSQL | BTC OHLCV, risk rows, validation state, brief snapshots, waitlist leads |\n| `data-collector` | Python, asyncpg, APScheduler, httpx | Daily CSV refresh, full CSV import, risk recomputation |\n| `backend` | FastAPI, asyncpg | API, readiness, waitlist storage, risk and brief reads |\n| `frontend` | React, Vite, ECharts, nginx | Public seven-locale interface and API proxy |\n\n```mermaid\nflowchart LR\n    Source[CoinMarketCap public download<br/>or optional API] --> CSV[Canonical BTC daily CSV]\n    Schedule[Daily collector schedule] --> Collector[data-collector]\n    CSV --> Collector\n    Collector --> DB[(TimescaleDB)]\n    DB --> API[FastAPI backend]\n    API --> UI[React frontend]\n    API --> Agents[AI agents and API clients]\n```\n\nThe canonical CSV remains the durable source of truth; the collector refreshes and validates it, recomputes risk, and writes the daily snapshot consumed by the API.\n\n## Quick Start\n\n```bash\ncp .env.example .env\n./scripts/manage.sh validate\n./scripts/manage.sh start\n./scripts/manage.sh migrate\n./scripts/manage.sh backfill\n```\n\nOpen: `http://localhost:3001`\n\n## Documentation\n\n- [Documentation index](docs/index.md)\n- [Product overview](docs/product/overview.md)\n- [Risk methodology](docs/product/risk-methodology.md)\n- [Architecture](docs/engineering/architecture.md)\n- [API reference](docs/engineering/api-reference.md)\n- [Freshness and validation](docs/engineering/freshness-and-validation.md)\n- [Agent documentation](docs/agents/index.md)\n- [Operations and production evidence](docs/operations/production-readiness.md)\n\n## Disclaimer and licence\n\nBitcoin Risk Brief provides analytics and research context only. It is not financial advice, investment advice, a price forecast, or a trading recommendation.\n\nOwned source code, documentation, and configuration are licensed under [Apache-2.0](LICENSE). Bundled third-party BTC/USD market data remains subject to source-provider terms; see [NOTICE](NOTICE).\n",
  "bytes": 5642,
  "sha": "7482f3c66d7f5f3ed547953671a3e331e3991b2499ed8eea10d5ddfe9552892a",
  "repo_slug": "akarazhev/bitcoin-risk-brief",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_akarazhev_bitcoin_risk_brief_d935861d/readme"
}