Instruction
ComputationalBudgetExceeded
“Computational budget exceeded”
The instruction used more compute units than its limit. The default is 200,000 CU per instruction (up to 1.4M per transaction with a request).
Common causes
- Heavy loops, large deserialisation, many CPIs, or logging big values.
- Not requesting a higher CU limit for a known-heavy instruction.
How to fix it
- Add a
ComputeBudgetProgram.setComputeUnitLimitinstruction at the start of the transaction (max 1,400,000). - Optimise the program: avoid
msg!with formatting, use zero-copy, and reduce CPIs.