XRPL Emitted Transaction Fee
One of the most powerful features of XRPL Hooks is the ability to emit new transactions automatically in response to incoming or outgoing transactions on an account. When a Hook emits a new transaction — for example, sending 10% of an incoming payment to a savings account — that emitted transaction incurs an additional fee managed through the sfEmitBurden mechanism.
The sfEmitBurden is a field in the EmitDetails block of an emitted transaction. It tracks the cumulative fee burden of chained emitted transactions to prevent fee exhaustion attacks where Hooks could chain an unlimited number of transactions at minimal cost.


As emitted transactions chain — where one Hook emits a transaction that triggers another Hook that emits another transaction — the sfEmitBurden multiplier increases exponentially. This ensures that deeply chained emitted transaction sequences become prohibitively expensive before they can exhaust ledger resources.
The sfEmitBurden mechanism uses an exponential multiplier to prevent fee exhaustion from deeply chained emitted transactions, keeping the ledger safe and performant.
For common Hook use cases such as the Auto-Savings Hook or the Carbon Offset Hook, emitted transaction fees are minimal — typically just a few drops more than a standard XRPL transaction. The additional cost only becomes significant in deep chaining scenarios that represent edge cases rather than typical usage patterns.
Developers can query the expected emitted transaction fee using the etxn_fee_base Hook API function, which accepts a buffer containing the serialized transaction and returns the minimum fee required. This allows Hooks to set accurate fees on emitted transactions before submitting them to the ledger.
