StackSats Documentation¶
Strategy-first Bitcoin DCA toolkit
Build, validate, and emit agent-consumable Bitcoin dollar cost averaging (DCA) decisions with a sealed allocation framework.
StackSats, developed by Hypertrial, is a Python package for strategy-first Bitcoin dollar cost averaging (DCA) research and execution. Learn more at www.stackingsats.org.
Start in 2 Clicks¶
Use this page when you want the fastest path into the hosted docs and need to choose the right next workflow.
Canonical first run:
pip install stacksatsstacksats demo backtest- Inspect
output/<strategy_id>/<version>/<run_id>/
Next steps:
- Quickstart for the offline packaged demo
- System Overview for data flow and production paths
- Full Data Setup for the canonical BRK dataset
- Task Hub for task-first workflows
- Troubleshooting for symptom-based links
- First Strategy Run for custom strategy authoring
- Public API for the stable
1.xlibrary surface
What's new¶
- What's New for release highlights
- Changelog on GitHub for full version history
Agent-Native Flow¶
The primary production flow is:
- StackSats computes a validated daily BTC accumulation decision.
- An external AI agent reads the structured decision payload.
- Brokerage-specific execution happens outside StackSats.
Use Task Hub for the shortest path into decide-daily or the Python API.
Canonical Dataset¶
StackSats is anchored on the canonical Bitcoin Research Kit (BRK) merged_metrics*.parquet dataset. StackSats supports BRK at the project and data-workflow level and documents BRK as the upstream project. See bitcoinresearchkit/brk, brk on crates.io, and brk on docs.rs.
This does not mean StackSats embeds the Rust BRK crates or promises crate-level API compatibility. StackSats remains a Python package that consumes documented BRK-derived data artifacts.
Current coverage and scale are documented in the dataset-specific reference pages:
- Merged Metrics Data Guide
- BRK Data Source
- EDA Quickstart
- Merged Metrics Parquet Schema
- Merged Metrics Taxonomy
Core Objects¶
StackSats is built around three fundamental runtime objects:
- FeatureTimeSeries: Validated input to a strategy (feature time series with schema and time-series validation).
- Strategy: User-defined logic for feature engineering, signals, and allocation intent.
- WeightTimeSeries: Framework-validated output data containing normalized weights and prices.
Choose Your Path¶
-
I'm New to StackSats
Start with the offline packaged demo and expected outputs.
-
I Know the Outcome I Want
Jump directly to the workflow you need.
-
I'm Building a Strategy
Build custom hooks and run validate/backtest/export.
-
I Need Full BRK Data
Fetch canonical source data and prepare the managed runtime parquet.
Core Concepts¶
- System Overview sketches BRK data through strategy hooks to weights and artifacts.
- Framework Boundary explains framework-owned invariants versus user-owned strategy logic.
- Strategies documents stable built-ins and experimental reference strategies.
- Command Index is the canonical CLI reference for the stable
stacksatscommand groups. - Migration Guide maps old names and pre-v1 paths to the current
1.xcontract.