{"id":28431734,"url":"https://github.com/block/bitcoin-augur","last_synced_at":"2026-03-07T12:35:24.879Z","repository":{"id":292233547,"uuid":"980198286","full_name":"block/bitcoin-augur","owner":"block","description":"Mempool-based bitcoin fee estimation library","archived":false,"fork":false,"pushed_at":"2025-12-13T05:46:39.000Z","size":104,"stargazers_count":16,"open_issues_count":1,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-02-22T03:05:56.914Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/block.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-08T18:18:47.000Z","updated_at":"2026-02-20T01:40:58.000Z","dependencies_parsed_at":"2025-05-08T20:46:54.535Z","dependency_job_id":null,"html_url":"https://github.com/block/bitcoin-augur","commit_stats":null,"previous_names":["block/bitcoin-augur"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/block/bitcoin-augur","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block%2Fbitcoin-augur","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block%2Fbitcoin-augur/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block%2Fbitcoin-augur/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block%2Fbitcoin-augur/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/block","download_url":"https://codeload.github.com/block/bitcoin-augur/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/block%2Fbitcoin-augur/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29824140,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T13:18:06.570Z","status":"ssl_error","status_checked_at":"2026-02-25T13:17:35.116Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-05T16:08:15.116Z","updated_at":"2026-03-07T12:35:24.871Z","avatar_url":"https://github.com/block.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Augur\n\nA Bitcoin fee estimation library that provides accurate fee estimates by analyzing historical mempool data. Augur uses statistical modeling to predict confirmation times with various confidence levels.\n\n[![Maven Central](https://img.shields.io/maven-central/v/xyz.block/augur.svg)](https://search.maven.org/artifact/xyz.block/augur)\n[![License](https://img.shields.io/github/license/block/bitcoin-augur)](LICENSE)\n\n## Features\n\n- Predictions based on historical mempool data and transaction inflows\n- Confidence-based fee rate estimates\n- Multiple confirmation targets (from 3 to 144 blocks)\n\n## Installation\n\n### Gradle\n\n```kotlin\n// build.gradle.kts\ndependencies {\n    implementation(\"xyz.block:augur:0.1.0\")\n}\n```\n\n### Maven\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003exyz.block\u003c/groupId\u003e\n  \u003cartifactId\u003eaugur\u003c/artifactId\u003e\n  \u003cversion\u003e0.1.0\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Basic Usage\n\n```kotlin\n// Initialize the estimator with default settings\nval feeEstimator = FeeEstimator()\n\n// Create a mempool snapshot from current transactions\nval mempoolSnapshot = MempoolSnapshot.fromMempoolTransactions(\n    transactions = currentMempoolTransactions.map {\n        MempoolTransaction(\n            weight = it.weight.toLong(),\n            fee = it.baseFee // in satoshis\n        )\n    },\n    blockHeight = currentBlockHeight\n)\n\n// Calculate fee estimates using historical snapshots\nval feeEstimate = feeEstimator.calculateEstimates(historicalSnapshots)\n\n// Get fee rate for specific target and confidence\nval feeRate = feeEstimate.getFeeRate(\n    targetBlocks = 6,     // Confirm within 6 blocks\n    probability = 0.95    // 95% confidence\n)\n\n// Print a table of all fee estimates\nprintln(feeEstimate.toString())\n```\n\n## Working with Fee Estimates\n\nThe `FeeEstimate` object contains fee rate predictions for various block targets and confidence levels:\n\n```kotlin\n// Print the full fee estimate table\nprintln(feeEstimate)\n\n// Get all estimates for confirming within 6 blocks\nval sixBlockTarget = feeEstimate.getEstimatesForTarget(6)\n\n// Access probabilities map directly (confidence level -\u003e fee rate)\nval probabilities = sixBlockTarget?.probabilities\n```\n\n## Customizing the Estimator\n\n```kotlin\n// Create an estimator with custom settings\nval customFeeEstimator = FeeEstimator(\n    // Custom probability levels (confidence)\n    probabilities = listOf(0.1, 0.25, 0.5, 0.75, 0.9, 0.99),\n\n    // Custom block targets\n    blockTargets = listOf(1.0, 2.0, 3.0, 6.0, 12.0, 24.0, 48.0, 72.0)\n)\n```\n\n## Collecting Mempool Data\n\nThis library focuses solely on fee estimation based on mempool data. You are responsible for:\n\n1. Collecting mempool transaction data from your Bitcoin node\n2. Creating and storing `MempoolSnapshot` objects\n3. Providing historical snapshots to the fee estimator\n\nSee our [reference implementation](https://github.com/block/bitcoin-augur-reference) for a complete example of integration with Bitcoin Core and implementing a persistence layer.\n\nIf you'd like to use a local version of Augur within your reference implementation:\n - Run `gradle shadowJar` to build a fat jar of augur.\n - Copy the file `lib/build/libs/augur.jar` into the reference implementation `app/libs` directory.\n - Change\n`implementation(libs.augur)` to `implementation(files(\"libs/augur.jar\"))` in the `app/build.gradle.kts` [file](https://github.com/block/bitcoin-augur-reference/blob/main/app/build.gradle.kts).\n\n## How It Works\n\nAugur uses statistical modeling of historical mempool data to predict transaction confirmation times. The process:\n\n1. Collects and buckets mempool transactions by fee rate\n2. Calculates transaction inflow rates at different fee levels\n3. Simulates mempool progression based on historical patterns\n4. Produces fee rate estimates with multiple confidence levels\n\n## API Documentation\n\nComplete API documentation is available at [https://block.github.io/bitcoin-augur/](https://block.github.io/bitcoin-augur/).\n\n## Contributing\n\nContributions are welcome! Please read our [Contributing Guidelines](CONTRIBUTING.md) for details on how to submit pull requests, report issues, and suggest improvements.\n\n## Acknowledgements\n\nThe fee estimation algorithm implemented in Augur was inspired by Felix Weis's [WhatTheFee](https://github.com/FelixWeis/WhatTheFee--legacy) and bitbug42's [btcflow](https://github.com/joltfun/btcflow). While Augur is a complete rewrite in Kotlin with ongoing improvements, we appreciate the foundational concepts demonstrated by these projects.\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblock%2Fbitcoin-augur","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblock%2Fbitcoin-augur","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblock%2Fbitcoin-augur/lists"}