How It Works
Submit a signed raw transaction and a non-emptyvalidity array. The current API supports balance, nonce, storage, and block-number predicates. Base rejects transactions that use the retired flashblock_index predicate.
A transaction is eligible only when every predicate matches. Base checks predicates before inclusion. A pending transaction can become eligible after an earlier transaction changes the state it watches.
EIP-1559 Validity Transactions use normal fee fields. Eligibility does not reserve block space or guarantee inclusion.
Lifetime and Privacy
Useblock_number predicates to constrain when a transaction can be included. Use the sender’s nonce when replacing a pending transaction.
Validity criteria are sent separately from the signed transaction. They do not appear in the resulting onchain transaction. Do not include secrets in calldata or predicate values.
Next Steps
Build a Validity Transaction
Sign and submit a transaction with Viem.
Validity Transaction RPC
Review the request format.
Predicates and Safety
Learn predicate rules, safety limits, expiry, and replacement.
Troubleshooting
Diagnose submission and inclusion issues.