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

# Integrate Jupiter Plugin

> Seamlessly integrate end-to-end Ultra Swap functionality into any application with just a few lines of code.

Jupiter Plugin is an open-source, lightweight, plug-and-play version of Jupiter Ultra Swap, allowing you to bring the exact jup.ag swap experience to any application.

Try out the [Plugin Playground](https://plugin.jup.ag/) to experience the entire suite of customizations.

To view the open-source code, visit the [GitHub repository](https://github.com/jup-ag/plugin).

[![Plugin Playground](https://mintcdn.com/jupiter/mrenEfoqnubhOTHf/static/images/plugin-playground.png?fit=max\&auto=format\&n=mrenEfoqnubhOTHf\&q=85\&s=ef4ff667cff780774d3da617a9022a3b)](https://plugin.jup.ag/)

> [!NOTE]
>
> **QUICK START**
>
> To quick start your integration, check out the [Next.js](https://developers.jup.ag/docs/tool-kits/plugin/nextjs-app-example.md), [React](https://developers.jup.ag/docs/tool-kits/plugin/react-app-example.md) or [HTML](https://developers.jup.ag/docs/tool-kits/plugin/html-app-example.md) app examples.
>
> Refer to [Customization](https://developers.jup.ag/docs/tool-kits/plugin/customization.md) and [FAQ](https://developers.jup.ag/docs/tool-kits/plugin/faq.md) for more information.

## Key Features

* **Seamless Integration**: Embed Jupiter's swap functionality directly into your application without redirects.
* **Multiple Display Options**: Choose between integrated, widget, or modal display modes.
* **Customizable Options**: Configure the swap form to match your application's needs.
* **RPC-less**: Integrate Plugin without any RPCs, Ultra handles transaction sending, wallet balances and token information.
* **Ultra Mode**: Access to all features of Ultra Mode, read more about it in the [Ultra Swap API docs](https://developers.jup.ag/docs/ultra/).

## Getting Started

When integrating Plugin, there are a few integration methods to think about, and choose the one that best fits your application's architecture and requirements.

### Integration Methods

* **Using Window Object** - Simplest way to add and initialize Plugin.
* [**Using NPM Package**](https://www.npmjs.com/package/@jup-ag/plugin) - Install via `npm install @jup-ag/plugin` and initialize as a module (will require you to maintain its dependencies).

### Wallet Integration

* **Wallet Standard Support**: For applications without existing wallet provider, Plugin will provide a wallet adapter and connection - powered by [Unified Wallet Kit](https://developers.jup.ag/docs/tool-kits/wallet-kit.md).
* **Passthrough Wallet**: For applications with existing wallet provider(s), set `enableWalletPassthrough=true` with context, and Plugin will allow the application to pass through the existing wallet provider's connection to Plugin.

### Adding Fees to plugin

* **Referral Account**: You can create a referral account via [scripts](https://developers.jup.ag/docs/ultra/add-fees-to-ultra) or [Referral Dashboard](https://referral.jup.ag/).
* **Referral Fee**: You can set the referral fee and account in the `formProps` interface when you initialize the Plugin.

### Quick Start Guides

In the next sections, we'll walk you through the steps to integrate Jupiter Plugin into different types of web applications from scratch.

> [card] [Next.js](https://developers.jup.ag/docs/tool-kits/plugin/nextjs-app-example.md)

> [card] [React](https://developers.jup.ag/docs/tool-kits/plugin/react-app-example.md)

> [card] [HTML](https://developers.jup.ag/docs/tool-kits/plugin/html-app-example.md)

By integrating Jupiter Plugin into your application, you can seamlessly integrate a fully functional swap interface into your application with minimal effort, while staying at the forefront of Solana DeFi innovation.


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