Handler not executing
- Verify
instruction discriminator - Allocate sufficient
compute_units
Deserialization errors
- Use
UncheckedAccountfor committed accounts in action context - Manually deserialize via
try_deserializeon borrowed data - Check account discriminator matches expected type
Transaction failures
- Ensure all action accounts are listed in
ShortAccountMeta - Match
is_writableflags to actual usage - Increase compute budget for all actions in the commit
Limitations & considerations
- Handlers execute on base layer and consume base-layer fees
- Standard Solana limits apply (compute, account locks)
- Atomicity: any action failure reverts the commit
- First two action accounts are injected (
escrow,escrow_auth)

