Skip to main content

Fees

Transactions use the normal fee rules for their type. For EIP-1559 transactions, set maxFeePerGas and maxPriorityFeePerGas on the signed transaction. A transaction that is not included does not pay onchain execution fees. An included transaction pays normal execution fees, even if it reverts.

Ordering

A transaction competes for inclusion only after every predicate matches. A matching predicate does not reserve block space.

Expiry

Every validity transaction must include a block_number predicate that sets an upper bound, using <, <=, or =. The bound must be within 60 seconds of submission. This is a time-based limit, not a fixed block count; the equivalent number of blocks depends on block cadence. Combine the predicate with flashblock_index to tighten the expiry bound to a position within that block’s Flashblocks. Valid Flashblock indexes range from 1 through 10, inclusive.

Replacement

A later transaction with the same sender and nonce can replace a pending transaction. If the RPC returns an underpriced-replacement error, increase the fee fields, sign again, and retry.