Gas & Fees
The Aztec network uses a fee system to incentivize sequencers to process transactions and publish blocks.
This section breaks down:
- the fee payment asset
- how users specify gas/fee parameters in their transactions
- fee abstraction
- tracking gas/fee information in the kernel circuits
- how gas/fees cover the costs of transaction execution
- published data pertaining to gas/fees
📄️ Fee Payment Asset
The Fee Payment Asset (FPA) is an enshrined asset in the Aztec network that is used to pay fees.
📄️ Specifying Gas & Fee Info
When users submit a TxExecutionRequest on the Aztec Network, they provide a TxContext, which holds GasSettings for the transaction.
📄️ Transaction Setup and Teardown
All transactions on the Aztec network have a private component, which is processed locally, and optionally have a public component, which is processed by sequencers using the Public VM (AVM).
📄️ Kernel Tracking
Gas and fees are tracked throughout the kernel circuits to ensure that users are charged correctly for their transactions.
📄️ Fee Schedule
The transaction fee is comprised of a DA component, an L2 component, and an inclusion fee. The DA and L2 components are calculated by multiplying the gas consumed in each dimension by the respective feePerGas value. The inclusion fee is a fixed cost associated with the transaction, which is used to cover the cost of verifying the encompassing rollup proof on L1.
📄️ Published Gas & Fee Data
When a block is published to L1, it includes information about the gas and fees at a block-level, and at a transaction-level.