{"record":{"id":"edf2bc668bab150f","repo":"nautechsystems/nautilus_trader","slug":"context-verification-is-unavailable","errorCode":null,"errorMessage":"{context} verification is unavailable","messagePattern":"(.+?) verification is unavailable","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/adapters/blockchain/src/execution/client.rs","lineNumber":1977,"sourceCode":"    Retain,\n    ScanReplacement(VerifiedBlockHeader),\n}\n\nfn verified_value<T>(outcome: VerificationOutcome<T>, context: &str) -> anyhow::Result<T> {\n    required_verification(outcome, context).map(|verified| verified.value)\n}\n\nfn required_verification<T>(\n    outcome: VerificationOutcome<T>,\n    context: &str,\n) -> anyhow::Result<Verified<T>> {\n    match outcome {\n        VerificationOutcome::Verified(verified) => Ok(verified),\n        VerificationOutcome::Disagreement(_) => {\n            anyhow::bail!(\"{context} verification disagreed\")\n        }\n        VerificationOutcome::Unavailable(_) => {\n            anyhow::bail!(\"{context} verification is unavailable\")\n        }\n        VerificationOutcome::Retryable(_) => {\n            anyhow::bail!(\"{context} verification is retryable\")\n        }\n        VerificationOutcome::LocallyInvalid(_) => {\n            anyhow::bail!(\"{context} verification is locally invalid\")\n        }\n    }\n}\n\nfn validate_transaction_authorization(\n    authorization: Option<&TransactionAuthorization>,\n    to: Address,\n    value: U256,\n    input: &[u8],\n) -> anyhow::Result<()> {\n    match authorization {\n        None => Ok(()),","sourceCodeStart":1959,"sourceCodeEnd":1995,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/blockchain/src/execution/client.rs#L1959-L1995","documentation":"Raised by the same verification-outcome helper when the verification outcome is Unavailable: the library could not obtain an independent verification (e.g. the verifying RPC call failed or returned nothing), so it cannot confirm the transaction or state is valid. It fails closed rather than proceeding unverified.","triggerScenarios":"The verification provider (RPC/verifier) returns VerificationOutcome::Unavailable — e.g. the block/receipt is not yet queryable, the verifier endpoint is down, or the requested data cannot be fetched.","commonSituations":"Provider outage or rate limiting during verification; querying a block height that the node has not synced; misconfigured verification endpoint in client config.","solutions":["Check RPC/verifier endpoint health and rate limits, then retry","Confirm the target block/receipt is available on the configured node","Use a fallback or backup RPC provider for verification","Increase retry/backoff around submission so verification runs after state settles"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":"// Probe verification availability before submitting\nlet probe = client.verification_health().await;\nif probe.is_err() { switch_to_backup_rpc(); }","typeGuard":null,"tryCatchPattern":"match res {\n    Err(e) if e.to_string().contains(\"verification is unavailable\") => {\n        // fail over to backup RPC, then retry verification\n    }\n    r => r?,\n}","preventionTips":["Configure multiple RPC endpoints for verification failover","Monitor provider rate limits and health before trading windows","Ensure node is fully synced before submitting transactions"],"tags":["verification","availability","rpc"],"backgroundTag":"upstream-api-error","analyzedSha":"18893faf8b356be3320add8de2f861b0b647cf06","analyzedAt":"2026-09-08T20:49:34.690Z","contentChangedAt":"2026-09-08T20:49:34.690Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}