graph TB subgraph TxPool direction TB pool[(All Transactions)] subgraph Subpools direction TB B3[(Queued)] B1[(Pending)] B2[(Basefee)] B4[(Blob)] end end discard([discard]) production([Block Production]) new([New Block]) A[Incoming Tx] --> B[Validation] -->|insert| pool pool --> |if ready + blobfee too low| B4 pool --> |if ready| B1 pool --> |if ready + basfee too low| B2 pool --> |nonce gap or lack of funds| B3 pool --> |update| pool B1 --> |best| production B2 --> |worst| discard B3 --> |worst| discard B4 --> |worst| discard B1 --> |increased blob fee| B4 B4 --> |decreased blob fee| B1 B1 --> |increased base fee| B2 B2 --> |decreased base fee| B1 B3 --> |promote| B1 B3 --> |promote| B2 new --> |apply state changes| pool