Transaction Lifecycle
Unlike other EVM chains where you need to wait for multiple confirmations, Sei’s consensus mechanism provides immediate transaction finality. Once a transaction is included in a block, it cannot be reversed.
Gas Mechanics
Gas is a unit of computational work in the EVM that helps prevent spam and allocate resources efficiently:Transaction Structure
EVM transactions in Sei follow the Ethereum transaction format with standard properties:- Transaction Properties
- Transaction Types
- Example Request
- Example Response
Transaction Guidelines
Transaction Best Practices:
- Set appropriate gas parameters: Use network conditions to estimate optimal values for
maxFeePerGasandmaxPriorityFeePerGas. - Manage nonces carefully: Track and increment nonces correctly to avoid transaction failures.
- Use typed transactions: Prefer EIP-1559 transactions (type 2) for more predictable fees.
- Implement proper error handling: Account for potential transaction failures and revert reasons.
- Verify recipient addresses: Always double-check destination addresses, as transactions cannot be reversed.
Transaction Validation
Before an EVM transaction is accepted, Sei performs strict semantic validation of its fields, enforced since v6.5.0. If you construct and sign transactions manually, make sure they are well-formed to avoid rejection.- The canonical field-level reference (signature-value byte caps and zero-padding rules, access-list entries, EIP-7702 authorization lists) lives in Transaction Types.
- Envelope-level restrictions (no Cosmos wrapper fields, canonical protobuf encoding, whole-block rejection on decode failure) are covered in Differences with Ethereum.
Receipts for nonce-bumping failed transactions
Some EVM transactions pass basic validation and bump the sender’s nonce, yet still fail during state transition — for example, a transaction whose gas limit clears the intrinsic-gas check but falls short of the EIP-7623 floor-data-gas requirement (which can occur in normal operation after Pectra). Because these transactions bump the nonce, they are considered to have happened and therefore produce a receipt. For such failures, Sei writes a syntheticstatus=0 (failed) receipt at the end of the block. The receipt reports a gasUsed of 0 and an effectiveGasPrice of 0, and carries a VmError describing the state-transition reason. eth_getTransactionReceipt returns this failed-tx receipt instead of null. The VmError is stored on Sei’s internal receipt record and is not included in the eth_getTransactionReceipt JSON response; retrieve it with the non-standard eth_getVMError method.
Previously, a nonce-bumping transaction that failed during state transition could return
null from eth_getTransactionReceipt indefinitely, causing clients that poll for a receipt to hang. Clients should now expect a status=0 receipt for these transactions and treat it as a normal failed-transaction result.Additional Resources
RPC Reference
Complete documentation of Sei’s EVM RPC endpoints for transaction creation and monitoring
Gas & Fees
Learn more about gas calculation, fee estimation, and cost optimization on Sei
Accounts
Understanding Externally Owned Accounts and Contract Accounts on Sei