{"record":{"id":"3108768dafd8ebac","repo":"nautechsystems/nautilus_trader","slug":"persisted-transaction-tx-hash-does-not-match-the","errorCode":null,"errorMessage":"Persisted transaction {tx_hash} does not match the signed bytes","messagePattern":"Persisted transaction (.+?) does not match the signed bytes","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/adapters/blockchain/src/execution/client.rs","lineNumber":2840,"sourceCode":"                prepared.intent_id,\n                self.chain_id,\n                &transaction_hash,\n                &envelope,\n            )\n            .await\n        .map_err(|e| {\n            anyhow::anyhow!(\n                \"Failed to persist transaction {tx_hash}: {e}; the in-flight slot stays occupied\"\n            )\n        })?;\n        let stored = open_execution_payload(\n            &self.payload_keys,\n            policy,\n            &intent,\n            &row,\n            \"initial persistence\",\n        )?;\n        anyhow::ensure!(\n            stored == prepared.raw_tx,\n            \"Persisted transaction {tx_hash} does not match the signed bytes\"\n        );\n        Ok(())\n    }\n\n    fn payload_policy(&self) -> PayloadPolicy {\n        PayloadPolicy {\n            chain_id: self.chain_id,\n            signer: self.wallet_address,\n            gas_limit: self.gas_limit,\n            max_fee_per_gas: self.max_fee_per_gas_wei,\n        }\n    }\n\n    async fn authorize_rebroadcast(\n        &self,\n        prepared: &PreparedTransaction,","sourceCodeStart":2822,"sourceCodeEnd":2858,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/blockchain/src/execution/client.rs#L2822-L2858","documentation":"Integrity check after persisting a signed transaction: reopening the stored envelope yields bytes that differ from the signed transaction, meaning the persisted record is not the signed payload and must not be broadcast.","triggerScenarios":"Thrown at crates/adapters/blockchain/src/execution/client.rs:2840 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Re-sign and re-persist the transaction","Investigate envelope sealing / payload-key configuration for the mismatch"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"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"}