Bitcoin multi-agent research board for evidence-backed BTC market decisions.
BTCBoard is not a live trading bot. It is a paper-trade-only research workbench that recreates a professional BTC trading desk:
Question
-> Market data adapters
-> TA / Sentiment / OnChain / Macro agents
-> Evidence Board
-> Strategy debate
-> Risk-Agent veto
-> Paper Trade Plan
-> Backtest / Reflect
-> Bitcoin-native access layer
BTCBoard has completed the full MVP roadmap through the Bitcoin-native layer.
- Phase 1: Core Agents complete.
- Phase 2: EvidenceItem and Evidence Board complete.
- Phase 3: structured signal system complete.
- Phase 4: trading team frontend board complete.
- Phase 5: signal logging, paper-trade backtest, and Reflect-Agent complete.
- Phase 6: MCP / L402 / Nostr-NWC Bitcoin-native access complete.
- Final integration layer: report persistence, history API, Markdown/JSON export, and MCP history/export tools complete.
- TA-Agent: OHLCV, RSI, MACD, EMA, volume, volatility, support/resistance.
- Sentiment-Agent: news sentiment, ETF narrative, regulatory event detection.
- OnChain-Agent: mempool fee and activity adapter, exchange-flow placeholder.
- Macro/Event-Agent: event risk and macro calendar context.
- Strategy-Agent: bull case, bear case, base case, final bias.
- Risk-Agent: veto-capable risk gate that can pass, reduce, wait, or block.
- Reflect-Agent: paper-trade review and agent weight suggestions.
BTCBoard produces a full research report with:
signalbiasconfidenceentry_conditioninvalidationrisk_levelposition_hintreview_triggerevidence_boardpaper_trade_suggestionbacktestbitcoin_nativeexport_artifacts
The system intentionally supports wait_confirmation and no_trade; it is designed to reject weak trade ideas.
Run from:
cd D:\ir\BTCBoard-main\BTCBoard-mainCreate a venv if you need to install backend dependencies:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r backend\requirements.txtStart the API:
$env:PYTHONPATH="backend"
python -m uvicorn app.main:app --reload --host 127.0.0.1 --port 8000cd D:\ir\BTCBoard-main\BTCBoard-main\frontend
npm install
npm run devThe frontend is a trading workbench, not a landing page:
- top market bar,
- left research input,
- center agent cards and strategy debate,
- right Evidence Board,
- bottom Paper Trade Plan, Reflect Log, Bitcoin-native Access, Persistence & Export.
GET /healthPOST /api/researchPOST /api/agent/researchGET /api/historyGET /api/export/markdownGET /api/export/markdown/{report_id}GET /api/export/jsonGET /api/export/json/{report_id}GET /.well-known/agent.jsonGET /.well-known/mcp.jsonGET /api/bitcoin-nativeGET /api/l402/offerPOST /mcp
btcboard.run_researchbtcboard.get_statusbtcboard.get_historybtcboard.export_report
BTCBoard exposes a safe Bitcoin-native integration layer:
- MCP manifest for other agents.
- Optional L402 gate.
- Nostr identity placeholder.
- NWC read-only wallet observation placeholder.
- Hard safety posture:
paper_trade_only, live execution disabled.
Useful environment variables:
BTCBOARD_L402_ENABLED=true
BTCBOARD_L402_REQUIRED=false
BTCBOARD_L402_PRICE_SATS=21
BTCBOARD_L402_PREIMAGE_SECRET=
BTCBOARD_NOSTR_ENABLED=false
BTCBOARD_NOSTR_NPUB=
BTCBOARD_NOSTR_RELAYS=wss://relay.damus.io,wss://nos.lol
BTCBOARD_NWC_ENABLED=false
BTCBOARD_NWC_CONNECTION=Local JSONL data is stored under:
backend/data/signals.jsonlbackend/data/reports.jsonl
Each research run creates a report record and, when a signal exists, a paper-trade signal record.
Verified locally:
python -m compileall backend\appManual smoke checks passed for:
- council run,
- report persistence,
- history summary,
- Markdown export.
Frontend dependencies are not vendored; run npm install before building or starting the UI.