Restore the backup first. The client then resolves current membership, checks the note’s spent state, reads the fee, builds the proof, and repeats the mutable checks before returning calldata.

Prepare a withdrawal

Set maxFeeWei and minNetAmountWei from values the user reviewed. Preparation stops when the live fee crosses either bound.

Review the result

Simulate the unsigned request, submit it once, and retain the returned hash for reconciliation. resolveMembership, isNullifierSpent, and runtimeFeeReadClient must read the same runtime used to restore the bundle. Mixing sources fails the safety assumptions behind the proof.