You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bug: expired usdt fee quote sends confirm back to the amount step #1630
On Bitkit Android 3.0.1 (195), paying a Paykit USDT request for a Shop order: the user stayed on the confirm screen with details open for a few minutes, then swiped to pay. Bitkit failed with "The fee quote expired. Review the payment again." and moved back to the send flow's Amount step instead of staying on Confirm.
Expected behavior
An expired fee quote never sends the user back to Amount. Either:
the quote refreshes on Confirm before it expires, or
the swipe re-quotes and shows the new fee on Confirm for a final swipe.
Notes
The amount of a fixed request can't change, so Amount has nothing for the user to do here.
Root cause: when a swipe fails with UsdtException.QuoteExpired, UsdtViewModel.send clears the quote and sets usdt__error_expired. UsdtPaymentContent then has no quote, so it renders its Amount page (page == UsdtPage.AMOUNT) with the error, which is the Amount step seen here.
Fix in progress: #1638. On a payment request's review, an expired quote is replaced in place (UsdtViewModel.requote) and the review shows "The fee quote expired and was updated. Check the fee and swipe again." A second swipe pays with the new fee. Other errors still stay on screen for the user.
Activity
ovitrif commentedon Oct 20, 2026
Root cause: when a swipe fails with
UsdtException.QuoteExpired,UsdtViewModel.sendclears the quote and setsusdt__error_expired.UsdtPaymentContentthen has no quote, so it renders its Amount page (page == UsdtPage.AMOUNT) with the error, which is the Amount step seen here.Fix in progress: #1638. On a payment request's review, an expired quote is replaced in place (
UsdtViewModel.requote) and the review shows "The fee quote expired and was updated. Check the fee and swipe again." A second swipe pays with the new fee. Other errors still stay on screen for the user.