nautechsystems/nautilus_trader · error

Missing Betfair credentials in config and environment

Error message

Missing Betfair credentials in config and environment

What it means

Error "Missing Betfair credentials in config and environment" thrown in nautechsystems/nautilus_trader.

Source

Thrown at crates/adapters/betfair/src/config.rs:66

fn validate_market_start_time(label: &str, value: &Option<String>) -> anyhow::Result<()> {
    if let Some(value) = value {
        parse_betfair_timestamp(value)
            .map(|_| ())
            .map_err(|e| anyhow::anyhow!("Invalid {label} '{value}': {e}"))?;
    }

    Ok(())
}

fn resolve_credential(
    username: Option<String>,
    password: Option<String>,
    app_key: Option<String>,
) -> anyhow::Result<BetfairCredential> {
    match BetfairCredential::resolve(username, password, app_key) {
        Ok(Some(credential)) => Ok(credential),
        Ok(None) => anyhow::bail!("Missing Betfair credentials in config and environment"),
        Err(e) => Err(match e {
            CredentialError::MissingPassword => anyhow::anyhow!(
                "Invalid Betfair credentials: username provided but password is missing",
            ),
            CredentialError::MissingUsername => anyhow::anyhow!(
                "Invalid Betfair credentials: password or app key provided but username is missing",
            ),
            CredentialError::MissingAppKey => {
                anyhow::anyhow!("Invalid Betfair credentials: app key is missing")
            }
        }),
    }
}

fn build_stream_config(
    stream_host: &Option<String>,
    stream_port: &Option<u16>,
    stream_heartbeat_ms: u64,

View on GitHub (pinned to a4b06ed870)

When it happens

Trigger: Thrown at crates/adapters/betfair/src/config.rs:66 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of nautechsystems/nautilus_trader@a4b06ed870 (2026-08-16). Data as JSON: /api/errors/310df14da84d5638. Report an issue: GitHub.