> For the complete documentation index, see [llms.txt](https://docs.swapper.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.swapper.finance/widget-integration/choosing-an-integration.md).

# Choosing an Integration

There is one deposit widget and a few ways to put it on your page. Pick by your stack and how much control you want over presentation.

## At a glance

| Approach                 | Package                                                             | Best for                                                                        |
| ------------------------ | ------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| **Iframe SDK**           | [`@swapper-finance/deposit-sdk`](/widget-integration/iframe-sdk.md) | Almost everyone. Any framework or no framework.                                 |
| **Modal / Inline embed** | `@swapper-finance/deposit-sdk`                                      | A focused popup, or a placeholder that fills in-place. Built on the iframe SDK. |

## The recommended path: the iframe SDK

For the vast majority of integrations, use [`@swapper-finance/deposit-sdk`](/widget-integration/iframe-sdk.md). It loads the hosted widget ([`https://deposit.swapper.finance`](https://deposit.swapper.finance)) inside a sandboxed iframe and gives you a small, typed API to configure it, listen for events, and update it on the fly.

Why the iframe SDK:

* **Framework-agnostic** — vanilla JS, React, Vue, Svelte, Angular, mobile WebViews.
* **Always current** — the widget is hosted, so wallet SDKs, chains, and on-ramp logic update without you shipping anything.
* **Isolated** — the widget's Web3 stack runs in the iframe, sandboxed from your app.

It comes in three shapes, all in the same package:

* [**`SwapperIframe`**](/widget-integration/iframe-sdk.md) — mount inline in a container you control.
* [**`SwapperModal` / `openSwapperModal`**](/widget-integration/modal-and-embed.md) — a centered popup with a backdrop.
* [**`SwapperEmbed`**](/widget-integration/modal-and-embed.md#inline-embed-swapperembed) — preload hidden, then reveal over a placeholder for an instant open.

## Decision guide

* **Want the fastest path to a working deposit?** → [Quick Start](/getting-started/quick-start.md) with `openSwapperModal`.
* **Embedding in a page layout?** → [`SwapperIframe`](/widget-integration/iframe-sdk.md) in a container, or [`SwapperEmbed`](/widget-integration/modal-and-embed.md#inline-embed-swapperembed) if you want instant open.
