> **Key takeaway:**  ☞   The renaming of "Ledger Live" to "Ledger Wallet" and\
>      "wallet" (in the hardware sense) to "signer" is still in progress.\
>      This page may contain legacy references that will be updated.

# Provider's LiveApp

As explained in the [Buy Integration](../buy) section, you need to modify your LiveApp to recognize the parameters we are passing to you, with some particularities compared to the version found in the Discover section.

Your LiveApp must:

- Respond to specific LiveApp URLs to adapt to the flow inside .
- Follow specific flow/UX requirements:

![Buy transaction flow](/exchange/buy-liveapp-flow.png)

## LiveApp URL

The LiveApp needs to respond to a URL with certain parameters. LiveApp URLs are used to open your LiveApp with the quote values that the user has already entered in .

- `accountAddress`: Destination address to deposit the crypto.
- `cryptoCurrency`: The cryptocurrency that the user wants to buy. It will contain the [LedgerID](https://developers.ledger.com/docs/ledger-live/exchange/buy/providers-backend#ledger-ids-mapping) value to identify the crypto.
- `fiatCurrency`: The fiat currency that the user wants to spend.
- `fiatAmount`: The fiat amount that the user wants to spend.
- `cryptoAmount`: The crypto amount that the user wants to buy.
- `mode`: `buy` or `sell`. In this case, always `buy`. It's required that you share the same base widget URL for both usages.
- `paymentMethod`: The preferred payment method of the user.
- `bankResidency` (optional): The bank residency of the user.
- `buySessionid`: ID used by Ledger to track transactions and their completion statuses.
- `language`: The language preference of the user set in .
- `theme`: The theme preference of the user set in .
- `platform`: The platform used by the user (mobile/desktop).

**Example**:

```
https://buy.provider.widget.com?[accountAddress]=x0…&[cryptoCurrency]=bitcoin&[fiatCurrency]=EUR&[fiatAmount]=50&[cryptoAmount]=0.0009490481&[mode]=buy&[paymentMethod]=bank&[bankResidency]=fr&[buySessionid]=cd12538-b02a-4282-99de-4d90f10769a0&[language]=en&[theme]=dark&[platform]=desktop
```

> **Note:** Ledger needs to know how to send referral information through the widget.

## Manifest Permissions

Your [LiveApp manifest](../../../../docs/discover/wallet-api/appendix/manifest) should contain at least the following [permissions](../../../../docs/discover/wallet-api/appendix/manifest#permissions) request:

```json
"permissions": [
  "currency.list",
  "account.list",
  "account.receive"
]
```
