Skip to main content
Getting started

Configuration

Settings are validated by pydantic-settings. Environment variables override .env; all application settings use the SIBYL_ prefix. Restart the API after changing environment variables. A saved model profile in Settings takes precedence over the LLM environment defaults and applies without a restart.

  • Local vault
  • Environment defaults
  • Saved workspace settings

Environment reference​

VariableDefaultPurpose
SIBYL_HOST127.0.0.1API bind address
SIBYL_PORT8000API port
SIBYL_DATA_DIRSource .sibyl; installed per-userSQLite and local vault directory; source checkouts keep the repository workspace
SIBYL_DASHBOARD_DIRBundled dashboardOptional local React build override; must contain index.html
SIBYL_MODEdemoLegacy standalone research default; account activation is explicit in Exchanges
SIBYL_NEWS_MODEautoFollow SIBYL_MODE for research, or independently choose demo / live news
SIBYL_NEWS_REFRESH_SECONDS600Publisher collection interval, 60–86,400 seconds
SIBYL_NEWS_RETENTION_DAYS30News archive retention, 1–365 days, capped at 5,000 stories
SIBYL_MARKET_EXCHANGEbinanceDefault market feed, independent of account mode: any of the 20 exchange IDs in the catalog
SIBYL_CORS_ORIGINSlocalhost and 127.0.0.1 port 5173JSON array of permitted browser origins
SIBYL_API_TOKENemptyBearer token for all versioned API routes
SIBYL_ALLOW_LIVE_TRADINGfalseEnable reviewed exchange orders; also required for approved strategies
SIBYL_ALLOW_STRATEGY_EXECUTIONfalsePermit scoped exchange strategy approvals, including test environments; requires live-trading flag
SIBYL_LLM_PROVIDERnonenone or any provider in Settings
SIBYL_LLM_MODELemptyModel name; provider default is used if omitted
SIBYL_LLM_BASE_URLhttp://127.0.0.1:11434Model server URL for the environment-selected adapter

Example for connected balances with local inference:

SIBYL_MODE=live
SIBYL_MARKET_EXCHANGE=kraken
SIBYL_LLM_PROVIDER=ollama
SIBYL_LLM_MODEL=your-installed-model
SIBYL_LLM_BASE_URL=http://127.0.0.1:11434

Exchange credentials are added in Settings → Exchanges. Save model credentials in Settings → AI models, or supply provider environment variables such as OPENAI_API_KEY and ANTHROPIC_API_KEY to the API process.

Network access​

Without a token, bind the API to loopback. The application refuses non-loopback startup without a token. Browser requests must come from a permitted origin or the API's own origin; the local host check also limits tokenless access.

When setting an API token, enter it in the dashboard's Settings → Workspace section. The browser stores it in sessionStorage, not as an exchange credential. Use TLS and an authenticated reverse proxy if exposing the service beyond your computer. Sibyl does not implement multiple users or account-level access separation.

State and backups​

The workspace directory contains sibyl.db and vault.key. It stores encrypted exchange credentials, manual paper balances and orders, historical backtests, agent requests and responses, observed live portfolio snapshots, paper strategy jobs, and exchange order intents/results.

Packaged installations default to ~/Library/Application Support/Sibyl on macOS, %LOCALAPPDATA%\Sibyl on Windows, and $XDG_DATA_HOME/sibyl or ~/.local/share/sibyl on Linux. Source checkouts default to their repository .sibyl, including when no .env exists. Set SIBYL_DATA_DIR or launch with sibyl --data-dir /existing/workspace to retain a workspace when changing installation method. No automatic relocation takes place.

Back up the directory as a unit with the API stopped. The vault key is necessary to recover stored credentials. Existing state is not reset when toggling demo/live data. Paper and connected exchange funds remain separate.

Configuration helper in Settings​

Settings groups accounts and configuration into six tabs: Exchanges, AI models, News, Market data, Messaging, and Workspace. AI models saves an encrypted provider-specific profile, including an optional API key, and activates it immediately for new agent requests. Preset model choices and custom IDs are supported for every adapter. Stored profiles override environment LLM defaults after restart; provider environment keys remain a fallback when no saved key exists.

News saves enabled collectors and encrypted optional NewsAPI credentials immediately. Market data saves one default feed and encrypted provider-specific keys immediately, independently of account mode. Saved workspace choices override environment defaults. Public exchanges need no key; saved accounts retain their own environment. See Market data sources. Workspace shows current runtime settings and manages browser-session access. Local model downloads, quantization, and deployment management are marked Coming soon.

Public crypto research​

The Crypto profiles tab fetches CoinPaprika and Wikipedia public data in either market mode. It needs internet access but no provider API key. Source caches are saved under SIBYL_DATA_DIR/crypto-research/. These public observations are separate from demo prices, trading balances, and exchange credentials. See the Research guide.

Public news​

Choose public publisher feeds on News without changing exchange/account mode. SIBYL_NEWS_MODE=live also enables continuous feed collection while the API runs. Public excerpts and source health persist in SIBYL_DATA_DIR/news.sqlite3; no news API key is needed. Demo stories stay separate. See the News backend.

Account activation is saved separately in SQLite. A new workspace starts with none, regardless of SIBYL_MODE. Connecting an exchange activates it and turns Demo off. See account selection.