52cd76a75082db886ced075e4d52f73ad8aa3637
Replace the V1 commands/services split with a flat, direct architecture: - cli.py dispatches directly to service functions - New services: account, market, trade, opportunity - Thin Binance wrappers: spot_client, um_futures_client - Add audit logging, runtime paths, and TOML config - Remove legacy V1 code: commands/, precheck, review engine, smart executor - Add ruff + mypy toolchain and fix edge cases in trade params Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
A Binance-first crypto trading CLI for balances, market data, opportunity scanning, and execution.
Install
pip install -e ".[dev]"
coinhunter --help
Initialize runtime
coinhunter init
coinhunter init --force
This creates:
~/.coinhunter/config.toml~/.coinhunter/.env~/.coinhunter/logs/
config.toml stores runtime and strategy settings. .env stores:
BINANCE_API_KEY=
BINANCE_API_SECRET=
Override the default home directory with COINHUNTER_HOME.
Commands
# Account
coinhunter account overview
coinhunter account balances --spot --futures
coinhunter account positions --spot
# Market
coinhunter market tickers BTCUSDT ETH/USDT sol-usdt
coinhunter market klines BTCUSDT ETHUSDT --interval 1h --limit 50
# Trade (Spot)
coinhunter trade spot buy BTCUSDT --quote 100 --dry-run
coinhunter trade spot sell BTCUSDT --qty 0.01 --type limit --price 90000
# Trade (Futures)
coinhunter trade futures buy BTCUSDT --qty 0.01 --dry-run
coinhunter trade futures sell BTCUSDT --qty 0.01 --reduce-only
coinhunter trade futures close BTCUSDT
# Opportunities
coinhunter opportunity portfolio
coinhunter opportunity scan
coinhunter opportunity scan --symbols BTCUSDT ETHUSDT SOLUSDT
Architecture
CoinHunter V2 uses a flat, direct architecture:
| Layer | Responsibility | Key Files |
|---|---|---|
| CLI | Single entrypoint, argument parsing | cli.py |
| Binance | Thin API wrappers with unified error handling | binance/spot_client.py, binance/um_futures_client.py |
| Services | Domain logic | services/account_service.py, services/market_service.py, services/trade_service.py, services/opportunity_service.py |
| Config | TOML config, .env secrets, path resolution |
config.py |
| Runtime | Paths, JSON helpers | runtime.py |
| Audit | Structured JSONL logging | audit.py |
Logging
Audit logs are written to:
~/.coinhunter/logs/audit_YYYYMMDD.jsonl
Events include:
trade_submittedtrade_filledtrade_failedopportunity_portfolio_generatedopportunity_scan_generated
Development
pytest tests/ # run tests
ruff check src tests # lint
mypy src # type check
Description
CoinHunter: a Python CLI for spot trading orchestration. Precheck, execute, and review crypto trades with JSON-first output, dry-run safety, and ccxt/Binance integration.
algorithmic-tradingbinanceccxtclicommand-line-toolcrypto-tradingcryptocurrencydry-runjsonportfoliopypipythonquantitative-tradingspot-tradingtrading
Readme
MIT
340 KiB
Languages
Python
100%