Skip to content

bug: allowances never auto-pay bitcoin requests from a payee with USDT enabled #1658

Description

@ovitrif

Refs:

What happened?

An allowance never pays a bitcoin-denominated request automatically when the payee has USDT enabled. Such a payee adds usdt-arbitrum to every request's accepted endpoints, and the request then carries a fixed conversion (PaymentConversion.Fixed). allowanceSats() in PaykitAllowanceExecutor requires pricing.conversion == null, so the request takes the manual flow with no hint. USDT is on by default (publicPaykitUsdtEnabled), so most Bitkit payees are affected.

Expected behavior

A bitcoin-denominated request within an allowance is paid automatically over Lightning even when it also offers a USDT rail: the bolt11 payment pays the bitcoin amount and does not use the conversion.

Steps to Reproduce

  1. Payee enables USDT, payer grants an allowance of $5 a payment.
  2. Payee sends a $2 bitcoin request.
  3. The payer gets an ordinary Payment Request instead of an automatic payment.

Bitkit Version

Unreleased: allowances branch of #1340.

Reproducibility

From the code path. Needs a check that the Paykit SDK's automatic acceptance accepts a request carrying a conversion, on a USDT-enabled staging payee.

Activity

  1. added this to the 3.2.0 milestone on Oct 21, 2026
  2. added theissue type on Oct 21, 2026
  3. modified the milestones: 3.2.0, 3.1.0 on Oct 21, 2026
  4. ovitrif commented on Oct 21, 2026

    @ovitrif
    CollaboratorAuthor

    Fixed in #1340 (8a7b309), which now closes this issue, so it moves to 3.1.0. Paykit's automatic wallet check accepts a bitcoin Lightning payment when the fixed conversion has no rate for that rail, and blocks it (the request stays manual) when it does.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions