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

# Widget URL Parameters

> Every query parameter you can pass to the Rampnow widget URL

Configure the widget with query parameters on the `/order/quote` path of the [widget host](/quickstart/ramp-widget/overview#environments):

```text theme={null}
https://app.sandbox.rampnow.io/order/quote?apiKey=YOUR_API_KEY&orderType=buy&srcCurrency=EUR&srcChain=fiat&srcAmount=250&dstCurrency=ETH&dstChain=ethereum&walletAddress=0xUserWalletAddress
```

<Note>
  Link to `/order/quote`, not the bare host. Opening the host root redirects to the quote page and drops your query parameters.
</Note>

### Order details

| Parameter | Type | Description |
| - | - | - |
| `apiKey` | string | **Required.** Your public partner key. Without it the order isn't attributed to your account. |
| `orderType` | `buy` \| `sell` | Order direction. Defaults to `buy`. |
| `srcCurrency` | string | Currency the user spends: fiat for `buy` (e.g. `EUR`), crypto for `sell` (e.g. `USDT`). Uppercase code. Needs `srcChain`. |
| `srcChain` | string | Chain of `srcCurrency`. Use `fiat` for fiat currencies, otherwise a chain code such as `ethereum`, `bitcoin` or `arbitrum-one`. Needs `srcCurrency`. |
| `dstCurrency` | string | Currency the user receives: crypto for `buy` (e.g. `ETH`), fiat for `sell` (e.g. `EUR`). Uppercase code. Needs `dstChain`. |
| `dstChain` | string | Chain of `dstCurrency`. `fiat` for fiat currencies. Needs `dstCurrency`. |
| `srcAmount` | string | Amount in the source currency, e.g. `250`. |
| `paymentMode` | string | Payment method for `buy`, payout method for `sell`. Lowercase, e.g. `card`, `apple_pay`, `google_pay`, `sepa`, `open_banking`, `pix`, `upi`, `ach`. |
| `walletAddress` | string | The user's wallet address for `buy`. Pre-selected or pre-filled once the user signs in. |
| `walletAddressTag` | string | Memo or tag for chains that need one (XRP, XLM, etc.). |
| `externalOrderId` | string | Your own order ID. Stored on the order and returned as `externalOrderUid` in [webhooks](/api-reference/webhook). |

<Warning>
  **Currencies only take effect with their chain.** `srcCurrency` is ignored unless `srcChain` is also set, and `dstCurrency` is ignored unless `dstChain` is also set. For example, pre-select EUR with `srcCurrency=EUR&srcChain=fiat`, not `srcCurrency=EUR` alone.
</Warning>

**Defaults.** Every parameter except `apiKey` is optional, and a missing or invalid value never shows an error to the user. Rampnow fills the gaps from your account's live configuration: the first listed asset for the direction (usually the user's local fiat for `buy`), a typical amount for that currency, and the first active payment or payout method for the asset. Pass the values you care about rather than relying on these.

Valid currency and chain codes, and the payment methods enabled for your account, are listed under [What's Supported](/quickstart/resources/supported-assets). Values are case-sensitive: `paymentMode=SEPA` is ignored, `paymentMode=sepa` works.

### Display options

| Parameter | Type | Description |
| - | - | - |
| `prefill` | `true` | Shows the `paymentMode` you passed as already selected. Without it, the user picks the method themselves. The SDK sets this for you whenever `paymentMode` is set. |
| `lockFields` | comma-separated list | Makes fields read-only: `srcAsset`, `srcAmount`, `dstAsset`, `paymentMode`, `walletAddress`. Locking doesn't set a value, so pass the matching parameter too (e.g. `dstCurrency` + `dstChain` for `dstAsset`). `paymentMode` and `walletAddress` locks are ignored without a value. |
| `hideOrderTabs` | `true` | Hides the Buy/Sell tabs. Use with `orderType` to pin the widget to one direction. |
| `hideMenu` | `true` | Hides the menu button in the widget header, so users stay in the order flow. |

### Attribution

| Parameter | Type | Description |
| - | - | - |
| `utm_source` | string | UTM source, stored on the user and the order |
| `utm_medium` | string | UTM medium |
| `utm_campaign` | string | UTM campaign |

## Examples

<Tabs>
  <Tab title="Onramp (buy)">
    Buy 250 EUR of ETH on Ethereum by card, with ETH locked and the wallet pre-filled:

    ```text theme={null}
    https://app.sandbox.rampnow.io/order/quote?apiKey=YOUR_API_KEY&orderType=buy&srcCurrency=EUR&srcChain=fiat&srcAmount=250&dstCurrency=ETH&dstChain=ethereum&paymentMode=card&prefill=true&walletAddress=0xUserWalletAddress&lockFields=dstAsset&hideOrderTabs=true&externalOrderId=your-order-1001
    ```
  </Tab>

  <Tab title="Offramp (sell)">
    Sell 500 USDT on Ethereum for EUR paid out by SEPA:

    ```text theme={null}
    https://app.sandbox.rampnow.io/order/quote?apiKey=YOUR_API_KEY&orderType=sell&srcCurrency=USDT&srcChain=ethereum&srcAmount=500&dstCurrency=EUR&dstChain=fiat&paymentMode=sepa&prefill=true&hideOrderTabs=true&externalOrderId=your-order-2001
    ```
  </Tab>
</Tabs>

<Tip>
  URL-encode values that can contain reserved characters, such as `externalOrderId`.
</Tip>

<Card title="Next: Embed the widget" icon="arrow-right" href="/quickstart/ramp-widget/embed">
  Open the URL in an iframe or redirect the user to it
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.