Skip to main content
The fee-bump fixture is a fee-bump around a Soroban transaction, and it contains three plausible-looking fees:

The rules

  • The payer of a fee-bump is the outer fee source: GA2J…HVAW in the fixture, not the inner source GDMV…COIW. In Go, check IsFeeBump() and use FeeBumpAccount().
  • The charge is TransactionResult.FeeCharged.
  • Fee changes alone over-count Soroban fees. The fee-processing changes record the full debit before Soroban’s post-apply refund, which settles later in the transaction’s meta. If you derive fees from balance deltas, net fee processing against post-apply fee processing, or simply read FeeCharged.

Why it matters

Fee accounting feeds balances, tax reports and reconciliation. Charging the inner source means the wrong customer’s balance moves. Using the bid or the pre-refund debit over-reports fees by about 15% on this transaction, and the error grows with Soroban resource fees. IX003 flags the first two mistakes in Go code.