# brk_mempool Real-time Bitcoin mempool monitoring with fee estimation. ## What It Enables Track mempool state, estimate transaction fees via projected block building, and query address mempool activity. Updates automatically with 1-second sync cycles. ## Key Features - **Projected blocks**: Simulates Bitcoin Core's block template algorithm with CPFP awareness - **Fee estimation**: Multi-tier fee recommendations (fastest, half-hour, hour, economy, minimum) - **Address tracking**: Maps addresses to their pending transactions - **Dependency handling**: Respects transaction ancestry for accurate fee calculations - **Rate-limited rebuilds**: Throttles expensive projections to 1/second ## Core API ```rust,ignore let mempool = Mempool::new(&rpc_client); // Start background sync loop std::thread::spawn(move || mempool.start()); // Query current state let fees = mempool.get_fees(); let info = mempool.get_info(); let blocks = mempool.get_block_stats(); let snapshot = mempool.get_snapshot(); // Address lookups let tracker = mempool.get_addresses(); ``` ## Fee Estimation Returns `RecommendedFees` with sat/vB rates for different confirmation targets: - `fastest_fee` - Next block (index 0) - `half_hour_fee` - ~3 blocks (index 2) - `hour_fee` - ~6 blocks (index 5) - `economy_fee` - ~8 blocks (index 7, last projected block) - `minimum_fee` - Relay minimum ## Block Projection Builds projected blocks by: 1. Constructing transaction dependency graph 2. Calculating effective fee rates (including ancestors) 3. Selecting transactions greedily by ancestor-aware fee rate 4. Partitioning into 1MB vsize blocks ## Built On - `brk_error` for error handling - `brk_rpc` for mempool RPC calls - `brk_types` for `MempoolInfo`, `MempoolEntryInfo`, `RecommendedFees`