Profile File Structure
OSS does not authenticate clients or enforce per-client request quotas. Configure authentication and inbound rate limiting at your reverse proxy. Provider quota and circuit-breaker backoff are separate routing controls.
Unknown YAML fields and invalid types are rejected. Use booleans (
false), not quoted strings ("false"). A failed reload keeps the previous active configuration. Errors identify the field without printing credential values.
Profile slugs must match their .yml filenames. Files beginning with _ or . are skipped. Keep a public.yml profile: routes without a profile use public, and it is required at startup. unlisted: true hides a profile from the selector; its endpoints remain accessible.
Chain Configuration
Each chain is a key underchains: with the following structure:
Chain Fields
Monitoring
Controls probe frequency and the dashboard lag status threshold. Shared upstreams use the shortest configured probe interval across profiles; HTTP polling slows while WebSocket block updates are active.Selection
Controls provider eligibility filtering during request routing.WebSocket
Controls upstream WebSocket subscription behavior.
Failover limits are captured from the active profile at the beginning of each recovery, including after YAML reload. An in-progress recovery keeps its captured limits. The backfill timeout is also bounded by the overall 30-second recovery deadline. Gaps beyond
max_backfill_blocks terminate continuity rather than silently skipping missing blocks.
UI Topology
Dashboard visualization settings.
For live updates, see Profiles and reload.