Skip to main content

Gas and fees

Sei supports both legacy and EIP-1559 transactions. However, the fee model differs from Ethereum in three ways that affect how you estimate and set gas.

Legacy gas price floor

Legacy transactions (type 0) on Sei must meet a minimum gas price set by on-chain governance. Governance proposals can change this floor, so do not hard-code a specific value. To read the current minimum, use eth_gasPrice:

EIP-1559 fee model

Sei supports EIP-1559 transactions (type 2), but it does not burn the base fee. All fees go to validators. On Ethereum, part of the fee is burned. This does not affect how you construct or send transactions. maxFeePerGas and maxPriorityFeePerGas work as expected. It matters only if your application models token supply or shows fee-burn information to users.

Effective gas price on receipts

For dynamic-fee (type 2) transactions, the effectiveGasPrice field of the transaction receipt reports the actual price charged, not the fee cap. That price is min(baseFee + maxPriorityFeePerGas, maxFeePerGas). This matches standard EIP-1559 semantics. Clients such as ethers and Hardhat therefore see the same effectiveGasPrice behavior that they expect from Ethereum. In practice, when your priority tip plus the base fee stays below maxFeePerGas, the receipt reports baseFee + maxPriorityFeePerGas, not maxFeePerGas. To compute what a transaction paid, use the receipt’s effectiveGasPrice, not maxFeePerGas.

SSTORE cost

On Sei, governance can adjust the gas cost of SSTORE (a write to contract storage). The current cost is 72,000 gas on both Sei Mainnet and Sei Testnet. For details, see Differences with Ethereum. Treat this number as the current value, not a constant. Do not hard-code storage write estimates in your application. Always use eth_estimateGas for any transaction that writes to storage:
Estimate the absolute storage-write cost with a live eth_estimateGas call against a Sei RPC. A Foundry forge test --gas-report --fork-url <sei rpc> report forks the chain state, but it runs the standard EVM gas schedule of revm. It therefore shows SSTORE at the Ethereum cost (approximately 22,100) instead of the Sei cost (approximately 72,000). Use the report for relative profiling of your own logic.

Gas for precompile calls

Sei precompiles charge gas based on the work that each call does:
  • Before a precompile decodes its arguments, it charges gas for the calldata. The charge grows with the calldata length and with the size of any string arguments. A call that cannot pay this charge reverts before the precompile runs.
  • The JSON precompile also charges 100 gas per byte of JSON input.
  • The pointer view precompile also charges for the state that each lookup reads.
  • The P256 precompile also charges a fixed 3,450 gas per verification, the same as RIP-7212 P256VERIFY. If the call cannot pay it, the call fails with an out-of-gas error.
Because the cost depends on your calldata, do not hard-code gas limits for precompile calls. Use eth_estimateGas, as shown in the example above.

Summary