from pydantic_settings import BaseSettings class Settings(BaseSettings): database_url: str frontend_url: str = "http://localhost:3001" truth_social_rss: str = "https://truthsocial.com/@realDonaldTrump.rss" truth_social_poll_seconds: int = 15 binance_ws_url: str = ( "wss://data-stream.binance.vision/stream" "?streams=btcusdt@kline_1m/ethusdt@kline_1m" ) binance_rest_url: str = "https://data-api.binance.vision" environment: str = "development" ai_api_key: str = "" ai_base_url: str = "https://api.gptsapi.net/v1" ai_model: str = "claude-haiku-4-5-20251001" # Hyperliquid — API wallet private key (NOT your MetaMask key) # Created at https://app.hyperliquid.xyz/API and authorized by MetaMask hl_api_private_key: str = "" # Your MetaMask address — this is the actual account holding USDC/positions hl_account_address: str = "" # BTC perp leverage (1–50x isolated margin) hl_leverage: int = 3 # Trade mainnet (True) or testnet (False) hl_mainnet: bool = True # KEK for envelope-encrypting HL API keys at rest. # Generate with: openssl rand -hex 32 encryption_key: str = "" model_config = {"env_file": ".env", "env_file_encoding": "utf-8"} settings = Settings()