nautechsystems/nautilus_trader · error
Deployment manifest contains an invalid address
Error message
Deployment manifest contains an invalid address
What it means
Deployment manifest verification found a contract (or token/pool) entry whose address string cannot be parsed as a valid EVM address; the manifest is malformed and fails verification before digest and on-chain checks.
Source
Thrown at crates/adapters/blockchain/src/rpc/verification.rs:1265
manifest.chain_id == anchor.chain_id && manifest.chain_name == anchor.chain_name,
"Deployment manifest chain identity does not match the chain anchor"
);
let canonical_manifest = serde_json::to_vec(manifest)
.map_err(|_| anyhow::anyhow!("Failed to serialize the deployment manifest"))?;
anyhow::ensure!(
keccak256(canonical_manifest) == manifest_digest,
"Deployment manifest digest does not match its canonical content"
);
anyhow::ensure!(
!manifest.contracts.is_empty() && !manifest.tokens.is_empty() && !manifest.pools.is_empty(),
"Deployment manifest contracts, tokens, and pools are required"
);
let mut contract_addresses = HashSet::new();
let mut roles = HashSet::new();
for contract in &manifest.contracts {
let address = Address::from_str(&contract.address)
.map_err(|_| anyhow::anyhow!("Deployment manifest contains an invalid address"))?;
anyhow::ensure!(
contract_addresses.insert(address),
"Deployment manifest contains a duplicate contract address"
);
roles.insert(contract.role);
let code_hash = B256::from_str(&contract.runtime_code_hash)
.map_err(|_| anyhow::anyhow!("Deployment manifest contains an invalid code hash"))?;
anyhow::ensure!(
code_hash != B256::ZERO,
"Manifest code hashes must be nonzero"
);
anyhow::ensure!(
matches!(contract.role, BlockchainContractRole::Implementation)
|| !contract.probes.is_empty(),
"Every deployed contract role requires at least one identity probe"
);
if let Some(proxy) = &contract.proxy {View on GitHub (pinned to 18893faf8b)
Solutions
- Correct the malformed address in the manifest
- Regenerate the manifest from the deployment tooling
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/adapters/blockchain/src/rpc/verification.rs:1265 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of nautechsystems/nautilus_trader@18893faf8b (2026-09-08).
Data as JSON: /api/errors/bc3facd3d517b76d.
Report an issue: GitHub.