> ## Documentation Index
> Fetch the complete documentation index at: https://docs.meld.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Customization

# Locking fields

This page is for developers who want their users to land in the onramp's widget with specific fields pre-filled and non-editable. Some service providers support locking the token and wallet address fields within their widgets. To do this, pass the `lockFields` parameter to the `POST /crypto/session/widget` endpoint with one or both of `destinationCurrencyCode`/`sourceCurrencyCode` (depending on buy vs sell flow) and `walletAddress`.

The table below shows which service providers support locking which fields.

| Service provider    | Locking cryptocurrency       | Locking wallet address       |
| ------------------- | ---------------------------- | ---------------------------- |
| **Alchemy Pay**     | Always locked when passed in | Always locked when passed in |
| **Banxa**           | Always locked when passed in | Always locked when passed in |
| **Binance Connect** | Always locked                | Always locked                |
| **Blockchain**      | Always locked when passed in | Always locked when passed in |
| **BTC Direct**      | Always locked when passed in | Always locked when passed in |
| **Coinbase**        | Not supported                | Not supported                |
| **El Dorado**       | Always locked when passed in | Not supported                |
| **Fonbnk**          | Not supported                | Supported                    |
| **Guardarian**      | Always locked when passed in | Supported                    |
| **Koywe**           | Always locked when passed in | Always locked when passed in |
| **Kryptonim**       | Always locked when passed in | Always locked when passed in |
| **Mercuryo**        | Supported                    | Not supported                |
| **Onmeta**          | Always locked when passed in | Always locked when passed in |
| **Onramp Money**    | Always locked when passed in | Always locked when passed in |
| **Paybis**          | Not supported                | Not supported                |
| **Robinhood**       | Always locked when passed in | Always locked when passed in |
| **Stripe**          | Supported                    | Supported                    |
| **Swapped**         | Not supported                | Not supported                |
| **Topper**          | Supported                    | Supported                    |
| **Transak**         | Supported                    | Supported                    |
| **TransFi**         | Always locked when passed in | Always locked when passed in |
| **Unlimit**         | Supported                    | Supported                    |
| **Yellowcard**      | Always locked when passed in | Always locked when passed in |

Here's a sample buy request with both the token and wallet address fields locked:

```json theme={null}
{
    "sessionData": {
        "walletAddress": "2N3oefVeg6stiTb5Kh3ozCSkaqmx91FDbsm",
        "countryCode": "US",
        "sourceCurrencyCode": "USD",
        "sourceAmount": "100",
        "destinationCurrencyCode": "USDC",
        "serviceProvider": "TRANSAK",
        "lockFields": ["destinationCurrencyCode","walletAddress"]
    },
    "externalCustomerId": "test1",
    "externalSessionId": "test1"
}
```

<br />

<br />
