Skip to main content

Programmable cryptocurrency trading platform — write your own strategies, run on your own hardware

Project description

Spirit

Spirit is a programmable cryptocurrency trading platform — a playground for building and testing your own trading strategies in Python. It runs on your own hardware, talks to exchanges directly, and you own the strategy logic end-to-end.

The framework is open source under Apache-2.0. Spirit handles the orchestration: market data, order placement, lifecycle hooks, and crash recovery. As your strategies mature, Plus and Pro open up access to our custom technical indicators and cloud storage for backtesting.


Quick start

pip install spirit-platform
python3 -m spirit.setup     # interactive setup wizard
python3 -m spirit.main --mode paper

Run the wizard once (it asks your tier, instance name, and an optional Kraken API key for live trading), pick one of the bundled examples (sma_crossover or macd_demo) or drop your own file in ~/.spirit/strategies/, and Spirit starts paper-trading.

To go live, swap --mode paper for --mode live once you've sanity-checked the paper P&L.


Tiers and pricing

See www.tradebot.live/pricing for tier details, pricing, and what each level adds.


Writing a strategy

Strategies subclass BaseStrategy and implement evaluate_trade(). Everything else is optional; opt into lifecycle hooks as you need them.

from spirit.strategies.base import BaseStrategy

class MyStrategy(BaseStrategy):
    def evaluate_trade(self, pair: str, mode: str = "test", **kwargs):
        # Return {"entry": bool, "exit": bool, "details": {...}}
        return {"entry": False, "exit": False, "details": {}}

Optional hooks the orchestrator will call when configured: on_monitoring_tick, on_entry_confirmed, on_exit_completed, validate_readiness, get_data_requirements. Properties for tier-aware behaviour: uses_risk_gate, required_capabilities. See the bundled examples; both files are heavily commented teaching artifacts:

Drop your own under ~/.spirit/strategies/ and Spirit picks it up at next startup.

For more information visit www.tradebot.live.


Project structure

src/spirit/
  main.py                  - entrypoint
  setup.py                 - first-run wizard
  config.py                - .env / yaml loader
  trade_signal.py          - signal dataclass
  trade_status.py          - status dataclass
  trade_types.py           - TradeRecord dataclass (used by strategies)
  exchange/                - exchange adapter protocol + Kraken impl
  pipeline/                - WebSocket event bus, freshness cache, daemon health
  storage/                 - local SQLite schema (Free tier)
  strategies/
    base.py                - BaseStrategy abstract base class
    examples/sma_crossover - minimal reference strategy
    examples/macd_demo     - full-lifecycle reference strategy
  utils/                   - data providers, OHLC buffer, paper executor, etc.

Implementation details for the bundled D-Limit indicators, V3 scorer, and risk-gate calibrators live behind the gateway API and ship with Plus and Pro. The framework you see here can run any strategy you write, against any data source you plug in.


Bring your own exchange

Spirit ships with a default Kraken adapter. To target a different exchange, implement the ExchangeProvider protocol in src/spirit/exchange/protocol.py and register it. See docs/reference/EXCHANGE_PLUGIN_GUIDE.md for the full guide.


Status

  • v2.2.1 — first public release. Free + Plus tiers, single-machine deploy, paper or live mode.

License

Apache-2.0. See LICENSE.

The framework is free to use, modify, and redistribute. Plus and Pro subscriptions cover the hosted data and indicator infrastructure; the framework code itself doesn't depend on a subscription to run.


Support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spirit_platform-2.2.1.tar.gz (150.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spirit_platform-2.2.1-py3-none-any.whl (172.6 kB view details)

Uploaded Python 3

File details

Details for the file spirit_platform-2.2.1.tar.gz.

File metadata

  • Download URL: spirit_platform-2.2.1.tar.gz
  • Upload date:
  • Size: 150.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for spirit_platform-2.2.1.tar.gz
Algorithm Hash digest
SHA256 40ba2f63ac6d44af10f5305bc9f48318586ec8822933329d05e9bddc68b60ca3
MD5 bae750e4a22b3bd60b1ab2a680919b88
BLAKE2b-256 7ef23ab6d2c6a8f81979de9c4287772bdfc556580a96130931857f2991b2eee8

See more details on using hashes here.

Provenance

The following attestation bundles were made for spirit_platform-2.2.1.tar.gz:

Publisher: publish.yml on timoz10/spirit-platform

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file spirit_platform-2.2.1-py3-none-any.whl.

File metadata

  • Download URL: spirit_platform-2.2.1-py3-none-any.whl
  • Upload date:
  • Size: 172.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for spirit_platform-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5ed0e6063dd89a224a5810a2d27f0fc6a42df7978fde2dd744be9fa75cbcb73c
MD5 668f1fa05fd61f35dd1d1a531de42067
BLAKE2b-256 3828ee6342834d07e6d1edbd912fe396a3aa19a73234138baf14903c74694b27

See more details on using hashes here.

Provenance

The following attestation bundles were made for spirit_platform-2.2.1-py3-none-any.whl:

Publisher: publish.yml on timoz10/spirit-platform

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page