from __future__ import annotations from app.broker.base import Broker, Fill from app.broker.binance import TESTNET_URL, BinanceBroker from app.broker.paper import PaperBroker from app.config import Settings from app.market.binance import BASE_URL def build_broker(settings: Settings) -> Broker: if settings.mode == "live": return BinanceBroker( api_key=settings.exchange_api_key, api_secret=settings.exchange_api_secret, base_url=TESTNET_URL if settings.exchange_sandbox else BASE_URL, ) return PaperBroker(fee_bps=settings.fee_bps, slippage_bps=settings.slippage_bps) __all__ = ["Broker", "Fill", "PaperBroker", "build_broker"]