# indexer/.env.example # # Copy to indexer/.env and fill in. .env is gitignored — never commit. # The indexer holds NO secrets; it only reads from chain. # ─── Required ───────────────────────────────────────────────────────────── # Ogmios WebSocket URL — same hosted endpoint as the supplier. OGMIOS_URL=wss://ogmios.vector.testnet.apexfusion.org # SQLite database file. The compose volume `indexer_data` is mounted at # /repo/indexer/data, so DB_PATH must live under that prefix to persist. DB_PATH=/repo/indexer/data/indexer.db # 0 = Vector testnet, 1 = Vector mainnet # Standardized 2026-04-27 (M1-F-1) across all services — see ARCHITECTURE.md # §9. Legacy "testnet"/"mainnet" labels are now rejected by loadConfig. NETWORK_ID=0 # ─── Optional ───────────────────────────────────────────────────────────── # HTTP listen port (default 8090). INDEXER_PORT=8090 # Status poll interval (ms) for the supplier /status endpoint (default 20s). STATUS_POLL_MS=20000 # Skip blocks before this slot — fast-forward the chain-sync past pre-deploy # history. Set to the slot where the marketplace contracts were deployed on # Vector testnet. Bumping this on an existing DB is idempotent (saved cursor # wins). 0 disables. SKIP_BEFORE_SLOT=0 # ─── Optional (not in config.ts; read by indexer/src/index.ts boot) ────── # Address of the Aiken-compiled advert + escrow scripts. Until the M1-F # config bridge lands these are the on-chain hooks the chain-sync watches. # Without them the indexer runs in "no scripts watched" mode (degenerate). # ADVERT_SCRIPT_ADDRESS= # ESCROW_SCRIPT_ADDRESS=