In a live offering the backend builds a sponsor-funded USDC deposit and the investor's wallet signs it.
A naive byte comparison of the signed message against the server-built one rejected every genuine deposit.
The first hypothesis, a fresh blockhash injected at sign time, was refuted by an independent reviewer: the blockhash was byte-identical.
The wallet rewrites the transaction before signing, injecting one ComputeBudget and eleven assert instructions, repartitioning the lookup table. The fix resolves both transactions through the deposit lookup table and compares the fee payer plus core protocol instructions only.
Validated by replaying the captured failing transaction as an accept, plus 8 tamper cases as rejects.
Platform live in production since 2026-06-16.