internal async Task <AllFeeEstimate> GetAllFeeEstimateAsync(EstimateSmartFeeMode mode)
        {
            var cacheKey = $"{nameof(GetAllFeeEstimateAsync)}_{mode}";

            if (!Cache.TryGetValue(cacheKey, out AllFeeEstimate allFee))
            {
                allFee = await RpcClient.EstimateAllFeeAsync(mode, simulateIfRegTest : true, tolerateBitcoinCoreBrainfuck : true);

                var cacheEntryOptions = new MemoryCacheEntryOptions()
                                        .SetAbsoluteExpiration(TimeSpan.FromSeconds(500));

                Cache.Set(cacheKey, allFee, cacheEntryOptions);
            }
            return(allFee);
        }