Provider's LiveApp

As explained in the Sell Integration page, you need to modify your LiveApp with some particularities compared to the one that can be found in the Discover section.

Your LiveApp must:

  • Respond to specific LiveApp URLs in order to adapt to the flow inside Ledger Live.
  • Follow specifics flow/ux requirements.

LiveApp URL

The LiveApp needs to respond to an URL with some parameters. LiveApp URLs are used to open your LiveApp with the quote values that the user already entered in Ledger Live.

The LiveApp URL format is already fixed and will depend on the information you provided inside your LiveApp manifest (ex: ledgerlive://discover/swapprovidername).

  • account-address: Destination address to deposit the crypto.
  • crypto-currency: The crypto currency that the user wants to buy. It will contain the providerId value to identify the crypto.
  • fiat-currency: The fiat cureency that the user wants to spend.
  • fiat-amount: The fiat amount that the user wants to spend.
  • crypto-amount: The crypto amount that the user wants to buy.
  • mode: buy or sell. In this case always buy. Required you share the same base widget url for both usages.
  • payment-method: The preferred payment method for the user.
  • bank-residency(optional): The bank residency of the user.
  • ledger-transaction-id: id used by ledger to track transactions and their completion statuses.


Ledger needs to know how to send referral information through the widget.

Manifest Permission

Your LiveApp manifest should contains at least those permissions request:

"permissions": [

Flow/UX requirements

Please refer to the Flow Breakdown section for more information.

Copyright © Ledger SAS. All rights reserved. Ledger, Ledger Nano S, Ledger Vault, Bolos are registered trademarks of Ledger SAS