bitcoin-s/docs/fee-provider/fee-provider.md

22 lines
1.1 KiB
Markdown
Raw Normal View History

2020-07-08 17:22:59 +02:00
---
id: fee-provider
title: Fee Provider
---
# Fee Provider
Bitcoin-S has a `FeeProvider` that is used to fetch fee rates.
Currently, Bitcoin-s has a couple implemented, one being a `BitcoindRpcClient`, which will use `estimateSmartFee` to calculate a fee rate.
Another uses [bitcoiner.live's api](https://bitcoiner.live/) to get a fee rate.
Any `FeeProvider` can be passed to a `Wallet` which will be used to calculate fees for transactions when one is not specified.
## HttpFeeRateProvider
A `HttpFeeRateProvider` is a `FeeProvider` that uses an outside API to get fee rates.
These can be hooked up to any website's API as long as you can provide a `URI` and a function to convert the response to a `FeeUnit`.
There also exists `CachedHttpFeeRateProvider`, which will cache the response for the `cacheDuration` as to prevent hitting request limits and save on api calls.
Checkout [`BitcoinerLiveFeeRateProvider`'s implementation](https://github.com/bitcoin-s/bitcoin-s/blob/master/fee-provider/src/main/scala/org/bitcoins/feeprovider/BitcoinerLiveFeeRateProvider.scala) for an example.