Skip to content

[Bug]: Lightning invoice links from browser do not open payment flow when app lock is enabled #568

@piotr-iohk

Description

@piotr-iohk

What happened?

Opening a Lightning invoice payment link from a browser on iOS does not trigger the Bitkit payment flow when Bitkit opens locked with either Face ID or PIN enabled. The issue was reproduced from both Safari and Chrome on iOS.

Manual invoice paste inside Bitkit still works, so the invoice itself appears valid. The same browser link also works when neither Face ID nor PIN app lock is enabled. The failure is specific to opening the lightning: payment link from the browser/deep-link path while app lock is enabled.

Expected behavior

When the user taps a lightning:<bolt11 invoice> link in Safari or Chrome, Bitkit should open, complete Face ID or PIN unlock if required, and continue into the payment flow for the invoice without requiring manual invoice paste.

Steps to Reproduce

  1. Install/open Bitkit for iOS and enable Face ID or PIN app lock.
  2. Ensure Bitkit is locked or backgrounded long enough to require Face ID or PIN unlock on next open.
  3. On the iPhone, open https://synonymdev.github.io/bitkit-e2e-tests/ in Safari or Chrome.
  4. Paste a valid BOLT11 Lightning invoice into the page.
  5. Tap Open lightning link.
  6. Complete Face ID or PIN unlock if prompted.
  7. Observe that Bitkit does not continue to the payment flow for the invoice.
  8. Paste the same invoice manually inside Bitkit and observe that manual paste works.

Logs / Screenshots / Recordings

ScreenRecording_05-25-2026.17-36-38_1.MP4

Bitkit Version

2.2.1

Device / OS

iPhone 13

Reproducibility

Always

Additional context

This may be related to how Bitkit stores or resumes incoming deep-link payloads when the app starts into a locked state. The browser link test page is available at https://synonymdev.github.io/bitkit-e2e-tests/ and generates lightning: links from pasted BOLT11 invoices.

Control case: the same browser lightning: link opens the payment flow correctly when neither Face ID nor PIN app lock is enabled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions