Bitcoin research and trading platform for systematic operators.
Five open-source modules close the loop from market data to auditable execution. The strategy you deploy is the strategy you tested.
Limen · research loop
# From data to backtest in 2 minutes
import limen
from limen.data import HistoricalData
historical = HistoricalData()
historical.get_spot_klines(kline_size=7200)
uel = limen.UniversalExperimentLoop(
data=historical.data,
sfd=limen.sfd.logreg_binary,
)
uel.run(
experiment_name="logreg-first",
prep_each_round=True,
) Five modules. One closed loop.
Each module works alone, all five run together as a closed loop, and every module connects to an existing stack.
-
Origo
The data layer
Event-sourced market data platform for deterministic, replayable financial data access.
-
Limen
The research engine
Turns Bitcoin market data into searchable alpha, backtested signals, and decoder cohorts.
-
Nexus
The decision layer
Turns alpha signals into validated trading decisions, controlled capital deployment, and recoverable manager state.
-
Praxis
The execution system
Turns trading decisions into execution, durable state, and auditable outcomes.
-
Veritas
The source of truth
Turns the research-to-trade lifecycle into an auditable and replayable proof bundle. First release Q3/26.
The strategy you test is the strategy you deploy.
Each step is an excerpt from the module's interface as it stands; names carry over from the step before, and each repository documents the full path.
- 01
Origo
Connect the data
Kline rollups
from origo.query import binance_spot_kline_rollups klines = binance_spot_kline_rollups.time_month( interval_minutes=15, year=2026, month=6, ) - 02
Limen
Research and backtest
Experiment loop
import limen uel = limen.UniversalExperimentLoop( data=klines, sfd=limen.sfd.logreg_binary, ) uel.run( experiment_name="logreg-first", prep_each_round=True, ) - 03
Nexus
Set the boundaries
Instance config
from decimal import Decimal from nexus import InstanceConfig config = InstanceConfig( account_id="main", venue="binance_spot", capital_pct={"logreg-first": Decimal("10")}, ) - 04
Praxis
Execute and reconcile
Trading runtime
from praxis import Trading, TradingConfig trading = Trading( config=TradingConfig(epoch_id=1), event_spine=spine, # the event log ) await trading.start()
Don't trust. Verify.
Closed-source trading software is a structural contradiction for a financial system built to eliminate counterparty risk. A black box demands what Bitcoin was designed to remove: trust in an intermediary.
Fig. 01. Seed 7 always draws these same rings.
Parametric · seed 7
Every configuration testable. Every state traceable.
Read the documentation, audit the code, run the research, and judge the results.