Vibeleaderboard
Index / tool
Visit github.com
Category
Crypto
Rank

Previous survey · No. 956 ·

Pricing
Open Source
Type
TOOL
Builder
block
GitHub
17 stars
Latest release
augur-0.3.0
Date

About

Mempool-based Bitcoin fee estimation library from Block, helping wallets and services predict on-chain transaction fees.

What it does

Augur turns timestamped snapshots of pending Bitcoin transactions into fee-rate forecasts. It groups transactions into logarithmic fee buckets, measures short-term and long-term inflows, simulates blocks being mined, then reports rates for chosen confirmation windows and confidence levels.

Why it's ranked here

A strong specialist library with a clear statistical pipeline and useful controls. It handles custom targets, confidence levels, low-fee boundaries, and reporting caps. Its tests cover ordering guarantees, extreme buckets, empty inputs, and custom configurations. The main reservation is operational: Augur supplies estimation logic, not the data pipeline it requires.

What's good

The output answers a practical question precisely: what fee rate corresponds to a confirmation target and confidence level. Short-term and long-term traffic patterns receive different weights. Results are forced to remain nonincreasing across longer confirmation targets. High-fee transaction weight stays represented, while configurable reporting limits can return unavailable values instead of misleading extremes.

Tradeoffs

You must collect transactions from a Bitcoin node, build snapshots, retain history, and feed that history into the library. Empty or single-snapshot inputs do not produce usable estimates. The documentation recommends roughly 24 hours of history. Its fixed simulation ceiling and configurable minimum fee boundary also impose explicit modeling limits.

How to use it well

Use Augur inside a Kotlin or JVM wallet service that already owns Bitcoin node access and historical snapshot storage. Sample the mempool repeatedly within each block height, retain enough history for both traffic windows, and request rates matching your product’s confirmation choices. Use a separate integration layer for node collection, persistence, serving, and monitoring.

Technical notes+

lib/src/main/kotlin/xyz/block/augur/FeeEstimator.kt sorts snapshots, calculates 30-minute and 24-hour inflows, runs FeeEstimatesCalculator, and caps caller-supplied targets at 1008 blocks. lib/src/main/kotlin/xyz/block/augur/internal/BucketCreator.kt maps fee rates with round(ln(rate) * 100) into a fixed ceiling of bucket 1000. lib/src/main/kotlin/xyz/block/augur/internal/FeeEstimatesCalculator.kt uses Poisson block-count probabilities, simulates 4,000,000-weight-unit blocks, blends short and long estimates, enforces monotonicity, and applies maxFeeRate only when preparing output. lib/src/main/kotlin/xyz/block/augur/internal/MempoolSnapshotF64Array.kt drops buckets below the configured minimum and folds above-ceiling weight into the highest bucket. Tests under lib/src/test/kotlin/xyz/block/augur/ exercise estimator behavior, bucketing, inflow calculation, simulation, and snapshot conversion.

Observed

License
Apache License 2.0
Primary language
Kotlin
Interface
JVM library API
Packaging
Published for Maven and Gradle as xyz.block:augur
Input surface
Historical mempool snapshots containing block height, timestamp, and fee-bucket weights
Output surface
Fee rates indexed by confirmation target and confidence probability
Test structure
Repository includes Kotlin tests for public estimator behavior and internal simulation components

Read from README.md, lib/src/main/kotlin/xyz/block/augur/FeeEstimate.kt, lib/src/main/kotlin/xyz/block/augur/FeeEstimator.kt, lib/src/main/kotlin/xyz/block/augur/MempoolSnapshot.kt, lib/src/main/kotlin/xyz/block/augur/MempoolTransaction.kt, lib/src/main/kotlin/xyz/block/augur/internal/BucketCreator.kt, lib/src/main/kotlin/xyz/block/augur/internal/InflowCalculator.kt, lib/src/main/kotlin/xyz/block/augur/internal/FeeEstimatesCalculator.kt, lib/src/main/kotlin/xyz/block/augur/internal/MempoolSnapshotF64Array.kt, lib/src/test/kotlin/xyz/block/augur/test/TestUtils.kt, lib/src/test/kotlin/xyz/block/augur/FeeEstimatorTest.kt, lib/src/test/kotlin/xyz/block/augur/internal/BucketCreatorTest.kt, lib/src/test/kotlin/xyz/block/augur/internal/InflowCalculatorTest.kt, lib/src/test/kotlin/xyz/block/augur/internal/FeeEstimatesCalculatorTest.kt, lib/src/test/kotlin/xyz/block/augur/internal/MempoolSnapshotF64ArrayTest.kt.

What it can do

  • Estimate Bitcoin transaction fees

    Mempool data and transaction parametersFee estimation for on-chain Bitcoin transactions

  • Analyze mempool congestion

    Current mempool stateCongestion metrics and transaction priority levels

  • Predict confirmation times

    Transaction fee rate and mempool conditionsEstimated time until transaction confirmation

  • Calculate optimal fee rates

    Desired confirmation speed and current network conditionsRecommended satoshi per byte fee rate

  • Provide fee estimation API

    API requests from wallets and servicesJSON responses with fee recommendations

Tags

bitcoinfee-estimationmempoolkotlin

Tech Stack

KotlinShell

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.