37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
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()
|