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

# Payment methods and availability

> Use regional fiat payment methods or pin the deposit widget to a supported subset.

Fiat payment methods vary by country. By default, the widget asks your backend for the user's regional options and renders the provider labels, icons, limits, and optional **Popular** badge returned by the service.

Complete the shared [widget quickstart](/deposits/overview/widget/quickstart) and [backend setup](/deposits/overview/widget/backend-setup) before enabling fiat. Your proxy determines the region because it is the component that sees the user's request.

## Regional behavior

Leave `fiatMethods` unset to use regional personalization. This is the recommended default because available methods can change by country.

Personalization never blocks the flow:

* After 500 ms, the standard card, bank transfer, and Apple Pay rows render as a fallback.
* A late regional result replaces the picker only if the user has not interacted with it.
* A lookup failure keeps the complete fallback set.
* A known country with no available methods is authoritative merchant data, so the widget hides Cash entirely.
* An unresolved country is different: it uses the fallback set.

Configure trusted country or client-IP forwarding in [backend setup](/deposits/overview/widget/backend-setup#regional-payment-methods). A proxy that forwards neither receives the generic method set.

## Restrict payment methods

`fiatMethods` is a boolean map keyed by Swapped `payment_group`. Passing it pins the widget to that subset and opts this modal instance out of regional personalization.

```tsx theme={null}
<DepositModal
  // ...required props
  enableFiatOnramp
  fiatMethods={{ creditcard: true, "apple-pay": true }}
/>
```

Valid widget keys are `creditcard`, `bank-transfer`, and `apple-pay`. Enabling one does not advertise the others.

<Warning>
  An empty or all-false `fiatMethods` offers no payment methods. To offer every available method and restore regional personalization, omit the prop.
</Warning>

## Availability and completion

Payment and KYC limits are handled inside Swapped's widget. Track integration errors through [callbacks and error handling](/deposits/overview/widget/callbacks-and-error-handling) and backend progress through [webhooks](/deposits/headless/processing-and-tracking/webhooks).

Provider order status is not proof of destination settlement. Follow [onramp and exchange order tracking](/deposits/headless/processing-and-tracking/track-onramp-and-exchange-orders), including its same-chain exception.
