Skip to main content
This guide uses an EIP-1559 transaction with Viem because it is the recommended transaction type. The API also supports signed legacy and EIP-2930 transactions.
base_sendRawTransactionValidity is available on Base Mainnet and Base Sepolia through the sequencer endpoints listed in Connect to Base, and on Vibenet.

1. Create Predicates

Use storage to wait for contract state. Use block_number and flashblock_index to constrain the candidate position. Every predicate must match.
Predicate setup
Omit mask to compare the full storage word. Use flashblock_index to target a position within a Flashblock. Valid flashblock_index values range from 1 through 10, inclusive; the example uses 0x2 (index 2).

2. Sign an EIP-1559 Transaction

Use the sender’s next nonce. The signed payload becomes the first RPC parameter.
Sign transaction

3. Submit the Transaction

Pass the signed transaction and validity as separate parameters.
Submit transaction

4. Check Inclusion

The RPC returns a transaction hash. Use eth_getTransactionReceipt to check for an onchain receipt. For field definitions, see Validity Transaction RPC.