# Jupiter (/docs/nodes/defi/jupiter)

Token swaps, quotes, search, and portfolio via Jupiter.



Jupiter is Solana's leading DEX aggregator. The Jupiter node supports quotes, swaps, token search, and SOL transfers.

Prerequisites [#prerequisites]

* **Jupiter API key** required for all operations except transfer. Add one in [Connections](/docs/credentials/adding).
* **Connected Privy wallet** required for swap and transfer operations.

Operations [#operations]

| Operation       | Description                            | Requires API key | Requires wallet |
| --------------- | -------------------------------------- | ---------------- | --------------- |
| getQuote        | Get a swap quote between two tokens    | Yes              | No              |
| getPrice        | Get current price of token(s)          | Yes              | No              |
| searchTokens    | Search tokens by name or symbol        | Yes              | No              |
| getTopTokens    | List top/trending/organic score tokens | Yes              | No              |
| getRecentTokens | List recently added tokens             | Yes              | No              |
| getPortfolio    | Get wallet token balances              | Yes              | No              |
| swap            | Execute a token swap                   | Yes              | Yes             |
| transfer        | Send SOL to an address                 | No               | Yes             |

Configuration [#configuration]

| Field          | Type     | Required                           | Description                                                     |
| -------------- | -------- | ---------------------------------- | --------------------------------------------------------------- |
| Credential     | select   | For all operations except transfer | Your Jupiter API key credential                                 |
| Response Name  | text     | Yes                                | Name used by downstream nodes, such as `{jupiterResponse.data}` |
| inputMint      | template | For getQuote and swap              | Token to sell, as a mint address                                |
| outputMint     | template | For getQuote and swap              | Token to buy, as a mint address                                 |
| amount         | template | For getQuote and swap              | Amount in the input token's smallest unit                       |
| slippageBps    | number   | No                                 | Optional manual slippage in basis points, 0-10000               |
| tokenQuery     | template | For getPrice and searchTokens      | Mint address list for price, or text query for search           |
| address        | template | For getPortfolio and transfer      | Wallet address for portfolio, or recipient address for transfer |
| transferAmount | template | For transfer                       | Amount of SOL to send, such as `0.1`                            |
| category       | select   | For getTopTokens                   | Top Traded, Top Trending, or Top Organic Score                  |
| interval       | select   | For getTopTokens                   | 5 minutes, 1 hour, 6 hours, or 24 hours                         |

For `getQuote` and `swap`, amount must be in the input token's smallest unit:

* `1000000000` for 1 SOL
* `1000000` for 1 USDC

You can use variables in `amount` and `transferAmount`, such as `{trigger.amountLamports}` or `{conditionResponse.value}`.

Leave Slippage empty to let Jupiter choose its routing defaults. Entering a slippage value switches to manual slippage mode.

Transfer [#transfer]

The `transfer` operation sends SOL from your connected Privy wallet. It does not require a Jupiter API key, but it does require:

* Recipient Address
* Amount (SOL)
* Enough SOL for the transfer and network fee

Use this for simple SOL payouts. Token transfers are not supported by the Jupiter transfer operation.

Swap fees [#swap-fees]

Swaps may include a platform fee deducted from the input amount before the swap executes.

* Base fee is 0.4% before SOLARIS holder discounts
* Fee is collected for SOL and supported SPL tokens (USDC, USDT, mSOL, jitoSOL, bSOL)
* Token-2022 mints with extensions (transfer hooks, transfer fees) are not fee-eligible
* Fee is non-refundable once collected, even if the swap itself fails after fee collection

SOLARIS token holder discounts [#solaris-token-holder-discounts]

Holding SOLARIS tokens in your executing Privy wallet reduces swap fees:

| SOLARIS holdings | Fee discount |
| ---------------- | ------------ |
| 5,000,000+       | 50% off      |
| 1,000,000+       | 25% off      |
| Below 1,000,000  | No discount  |

Tokens must be in your Privy embedded wallet (the same wallet executing the swap). Tokens in external wallets are not counted.

Output (getQuote) [#output-getquote]

```json
{
  "success": true,
  "operation": "getQuote",
  "data": {
    "inputMint": "So11111111111111111111111111111111111111112",
    "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "inAmount": "1000000000",
    "outAmount": "150230000",
    "priceImpactPct": "0.01"
  }
}
```

Next steps [#next-steps]

* [Raydium](/docs/nodes/defi/raydium) - alternative DEX
* [Credentials](/docs/credentials/adding) - adding your Jupiter API key
