# About FluxBeam

Welcome to FluxBeam, the first decentralized exchange (DEX) on the Solana blockchain to fully support the innovative Token22 standard. As a pioneer in the Solana ecosystem, FluxBeam allows you to trade any type of Solana token, including SPL, SPL404, and SPL22. Supported by a grant from the Solana Foundation, FluxBeam is your go-to platform for leveraging the latest token functionalities.

#### FOLLOW US ON OUR SOCIALS AND JOIN OUR COMMUNITY:

[**X/Twitter**](https://x.com/FluxBeamDEX)

[**Telegram**](https://t.me/fluxbeam)

[**Discord**](https://discord.com/invite/DtyqTx97kz)

[***CHECK OUT OUR LINKTREE FOR OFFICIAL LINKS:***](https://linktr.ee/fluxecosystem)


# Get Started

Understanding FluxBeam from scratch is now easier with our set of guides catered for you

* Access our [Quick Guides](/basic-features/how-to-swap) to use our basic DeFi features
* Checkout our [FluxTools Tutorials ](/fluxtools-tutorials/v1-token-creation)to try our FREE tools to create and manage tokens on Solana
* Adjust key settings and factors to make your experience better via our [configure section](/configure/settings)
* Questions? Checkout our [support section](/support/frequently-asked-questions) to look for FAQs or open a ticket
* Are you a developer? Our APIs are [available here](/developers/swap-api)
* Checkout our newest proposal to solve Solana congestion with [Bandwidth Markets](/publications/solana-bandwidth-markets)


# INFINITY UI

The Infinity UI features a trading dashboard with token details, risk analysis, a customizable TradingView chart, and an activity log displaying real-time transactions, transaction history, and more.


# Trading Dashboard

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FBOaOt9Vz6nuU5n8Lz117%2FTRADINGDASH.gif?alt=media&amp;token=94f8cdea-bbd5-47ea-a5b8-3f541ec8701b" alt=""><figcaption></figcaption></figure>

Infinity's Trading Dashboard highlights our powerful Advanced Limit Order features.

You can find out more about it [here](/infinity/advanced-limit-orders).

Additionally, above the trading dashboard, you'll find the token you're trading, its current price, unrealized profits, various timeframes, and corresponding price changes.


# Token Info

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FQAGL40E1ZSj5z5Cp8HXx%2FTOKEN%20INFO.gif?alt=media&amp;token=cd86de97-e903-4449-9c21-d95c56c866a0" alt=""><figcaption></figcaption></figure>

This section offers a detailed overview of the token.

**Risk Analysis (powered by RugCheck)**\
Here, you can find an in-depth risk assessment of the token.

The section is divided into two subsections:

General **Information**:

* Market Cap
* Supply
* Mint and Freeze Authority

**Distribution**

* Total Holders
* Ownership Value


# Trading Chart

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FU9wWKpDVBxWaHQm9NwlE%2FTRADING%20CHART.gif?alt=media&amp;token=0c8aed14-f099-4eb0-8068-758003fdd115" alt=""><figcaption></figcaption></figure>

**The trading chart is powered by TradingView.**

In addition to displaying real-time data, the chart offers a variety of features. You can change the timeframe, access chart settings, and configure symbols, the canvas, and more.

It also allows you to customize the chart type or visualization to suit your needs.

For technical analysis, you can utilize the tools and features available on the side panel. Use patterns, projections, attach notes, or draw directly on the chart to support your analysis and refine your trading strategy.


# Activity Log/Analytics

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FVUIAXdJ2cm3zb7Gm8ZTd%2FACTIVITY.gif?alt=media&amp;token=c26450f5-4919-4c17-af9a-e3ac049e8692" alt=""><figcaption></figcaption></figure>

Shown directly below the trading chart, it features four main sections:

**Recent Transactions:** which shows all transactions made on-chain and this data-feed shows 8 seconds earlier than the rest.

**History:** Shows any transactions you made with this specific token using Infinity/Flux with the time, type of transaction, value, price, amount and platform used.

**Holders:** Shows the wallets who holds this token in order of value together with comprehensive details like buy amount/value, sell amount/value, unrealized and realized profit.


# Advanced Limit Orders

Say goodbye to basic limit orders. Infinity's advanced limit orders offer not only take profit and stop loss, but also trailing stop loss, all combined with real-time data.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FoYZj1xLny4iukhHX0VOy%2Fadvancedlo.png?alt=media&amp;token=e5cd2d7e-7fbe-44a4-b76d-683f922d7930" alt=""><figcaption></figcaption></figure>


# Limit Order

A limit order lets you set a specific price at which you want to buy a token executing only when the market reaches that price.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2F2RNIzZnC38jz8OtSr3f0%2FLimit%20Orders.gif?alt=media&amp;token=02a4d9e6-ddc5-4ceb-98e3-a444a3cf8125" alt=""><figcaption></figcaption></figure>

**Here's how:**

1. **Choose Trade Type**: Decide whether you want to execute the trade based on the token value or its USD equivalent.
2. **Set the Market Price**: Click on the "Market" option to match the current market price instantly.
3. **Adjust the Price**: Use the **-5%** or **+5%** buttons to adjust the price in 5% increments, or manually enter your desired price in the input field.
4. **Review Your Order**: Carefully check the order summary to ensure all details, such as price, quantity, and trade type, are correct.
5. **Submit Your Order**: Click the "Submit Order" button to confirm and execute the trade.


# Take Profit

Take Profit enables you to set a target price at which to sell, automatically locking in your gains once your goal is reached.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2F90ZXmV666h7gpVaFxH5t%2Ftp.gif?alt=media&amp;token=87e8e364-c889-4012-8058-0963e40bacb0" alt=""><figcaption></figcaption></figure>

**Here's how:**

1. **Choose Trade Type**: Decide whether you want to execute the trade based on the token value or its USD equivalent.
2. **Adjust the Amount**: Select a default percentage amount or manually enter your desired amount of tokens you want to sell
3. **Adjust the Price**: Use +**5% and -5%** buttons to adjust the price in 5% increments, or manually enter your desired price in the input field.
4. **Review Your Order**: Carefully check the order summary to ensure all details, such as price, quantity, and trade type, are correct.
5. **Submit Your Order**: Click the "Submit Order" button to confirm and execute the trade.


# Stop Loss

Minimize losses by setting a stop loss at your desired price, automatically selling your token if the price hits that amount.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FJUZTJ7nt9kOjh5oK5HWK%2Fstl.gif?alt=media&amp;token=f2a5707d-c84b-44da-acc2-d74ab087d5b5" alt=""><figcaption></figcaption></figure>

**Here's how:**

1. **Choose Trade Type**: Decide whether you want to execute the trade based on the token value or its USD equivalent.
2. **Adjust the Amount**: Select a default percentage amount or manually enter your desired amount of tokens you want to sell
3. **Adjust the Price**: Use +**5% and -5%** buttons to adjust the price in 5% increments, or manually enter your desired price in the input field.
4. **Review Your Order**: Carefully check the order summary to ensure all details, such as price, quantity, and trade type, are correct.
5. **Submit Your Order**: Click the "Submit Order" button to confirm and execute the trade.


# Trailing Stop Loss

We go a step further with the Trailing Stop Loss, allowing you to lock in gains when your target is reached, and automatically sell if prices drop by your set percentage.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FhLbnHTlWbOFEYSL7nh9T%2Ftsl.gif?alt=media&amp;token=faedb0c8-aa5d-403c-b217-eeaf40a65fc0" alt=""><figcaption></figcaption></figure>

**Here's how:**

1. **Choose Trade Type**: Decide whether you want to execute the trade based on the token value or its USD equivalent.
2. **Adjust the Amount**: Select a default percentage amount or manually enter your desired amount of tokens you want to sell
3. **Adjust the Price**: Use +**5% and -5%** buttons to adjust the price in 5% increments, or manually enter your desired price in the input field.
4. **Select a Percentage:** Choose a specific percentage at which, when the token's price drops by this amount from your set target, your trade will automatically trigger.
5. **Review Your Order**: Carefully check the order summary to ensure all details, such as price, quantity, and trade type, are correct.
6. **Submit Your Order**: Click the "Submit Order" button to confirm and execute the trade.


# Smart Money

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FaxzNWuwWucxajWJRhfS8%2Fsmartmon.gif?alt=media&amp;token=7848197f-5dc3-4ac8-a395-313a31ed70a3" alt=""><figcaption></figcaption></figure>

Infinity allows you to track what smart money and whales are buying in real time, apply your own filters, and trade the token with just one click.

## Filters

Setting your own filters allows you to customize the way you track smart money in real-time. You can modify multiple aspects like:

* All/Buy Only/Sell Only
* New  Tokens Only
* First Seen Only

**Quick Buy Amount:** The amount in SOL you will use if you want to trade the token

## Snapshots

Provides an overview of smart money movements or tokens purchased by whales, along with the frequency of these movements within a specified period.

## Money Trades

Displays a real-time feed of smart money movements or tokens purchased by whales, including key details such as:

* Date
* Trader
* Token
* Amount
* Method
* Market cap
* Risk score **(Powered by RugCheck)**

The last column includes a convenient one-click button, allowing you to trade the token directly from the real-time feed.


# Trending

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2F7yOOlyB9Ghv9UxACgFeS%2Ftrending%20gitb.gif?alt=media&amp;token=9b5e44ec-1bc5-43de-b9bb-dbc7aee7a6ad" alt=""><figcaption></figcaption></figure>

Our trending sections allows you to see what’s gaining traction 8 seconds faster than the rest.\
Straight to the signal: real trends, real momentum, real early.

### Timeframes

You can choose different timeframes from 1 minute, 5 minutes, 30 minutes, and 1 hour.

### Buy Amount

The amount in SOL you will use if you want to quick trade the token.

### Filter Risks

Toggle it on to filter out risky tokens based on multiple RugCheck metrics

### Filters

Allows you to set your own parameters on multiple factors like:

* Market Cap
* Price
* 24 Hour Volume/Tokens/Buys/Sells
* Holders
* Liquidity
* Token Age


# Gems

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FlOE2kbc16seFRVlrKRIe%2Fgemsgitb.gif?alt=media&amp;token=6324592e-86c8-4f7b-bb78-dd5f2cea0465" alt=""><figcaption></figcaption></figure>

The Gems sections allows you to see New tokens, Graduating plays, and Recent migrations. All in your hands, before anyone else.

### Timeframes

You can choose different timeframes from 1 minute, 5 minutes, 30 minutes, and 1 hour.

### Buy Amount

The amount in SOL you will use if you want to quick trade the token.

### Filters

Allows you to set your own parameters on New Creations, Graduating and Graduated tokens on multiple factors like:

* Market Cap
* Price
* 24 Hour Volume/Tokens/Buys/Sells
* Holders
* Liquidity
* Token Age


# Signals and Automations

## COMING SOON


# How to Swap

Swap solana- based tokens using FluxBeam + View a token's RugCheck score via a widget

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2F93YL4SVgdaWOLvK1TNAw%2Fswaphow.gif?alt=media&amp;token=35d09e65-b696-4049-91b8-9bf2db6ecb25" alt=""><figcaption></figcaption></figure>

1. Go to [swap](https://fluxbeam.xyz/app/swap) and <mark style="color:green;">connect your wallet</mark>
2. Choose the *token and the amount* you want to *swap from*
3. Choose the *token and the amount* you want to *swap to*
4. *<mark style="color:yellow;">**Optional:**</mark>* You can also check out a token's risk score via the RugCheck widget
5. Review the *transaction preview*
6. Confirm the transaction on your Solana wallet


# How to Provide Liquidity

Easily provide and manage liquidity across Solana

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FMgFZvBbl9fYnqNKQAwfe%2Fliquiditys.gif?alt=media&amp;token=ac21b9e8-459d-402c-81d2-9d9de46851f1" alt=""><figcaption></figcaption></figure>

1. Go to [liquidity](https://fluxbeam.xyz/app/liquidity) and <mark style="color:green;">connect your wallet</mark>
2. Select both the *base and quote token* you prefer
3. Enable *auto-update* to keep the price stable and matching
4. Check the details and confirm on your wallet
5. You can manage your provided liquidity by clicking *manage liquidity*

{% hint style="info" %}
**NOTE:** By default, auto-update is on <mark style="color:green;">(green)</mark> , so adding 10 SOL to liquidity also adds 10 SOL worth of your token, keeping the price stable.

*To change your token's price*, add single-sided liquidity by turning off auto-update <mark style="color:red;">(flashes red).</mark> Then, add only SOL, USDC, or your token to adjust the pricing.
{% endhint %}


# How to Manage Liquidity

Easily manage your existing liquidity positions

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FhTSTp9k9PXFdqNeGTPWt%2Fmanageliquid.gif?alt=media&amp;token=81ae67ac-5861-4fb1-808f-1fd52f4545f4" alt=""><figcaption></figcaption></figure>

1. Go to [liquidity](https://fluxbeam.xyz/app/liquidity) and <mark style="color:green;">connect your wallet</mark>
2. Select both the *base and quote token* you have an existing position in
3. Click on manage liquidity
4. Click on *add* if you want to add more liquidity to your existing position. [Guide here](/basic-features/how-to-provide-liquidity)
5. Select *adjust* if you want to withdraw a custom amount of your existing LP tokens
6. Select *remove(all)* to remove all of your existing LP positions


# How to Wrap/Unwrap $SOL

Wrap/unwrap $SOL comes in handy in situations where you require Wrapped $SOL or vice versa.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FV5l8TRDjZxCITvKiWCxG%2Fwrapsolana.gif?alt=media&amp;token=c44cee41-2b81-4c4c-9943-2c39b7205896" alt=""><figcaption></figcaption></figure>

1. Go to [Wrap/Unwrap SOL](https://fluxbeam.xyz/app/tools/sol_wrap) and make sure your <mark style="color:green;">wallet is connected</mark>
2. Input the amount of $SOL to wrap or $wSOL to unwrap
3. Confirm the transaction on your Solana wallet.


# How to Transfer Tokens

Transfer solana - based tokens from your wallet to another

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FwpIdh3MCo1XnwVVY812K%2Ftokentransfer.gif?alt=media&amp;token=08fc888e-ae42-42a0-b5e6-7cc6f2ac3df6" alt=""><figcaption></figcaption></figure>

1. Go to [token transfer](https://fluxbeam.xyz/app/tools/token_transfer) and <mark style="color:green;">connect your wallet</mark>
2. Enter or paste the *mint address* of the token you want to transfer and click load
3. Input the recipient address and the amount
4. Click transfer and confirm on your wallet


# How to Bridge Tokens

Seamlessly bridge your tokens to and from Solana!

**Alongside $SOL, we also support the following chains:**&#x20;

Ethereum, BNB Chain, Polygon, Arbitrum, Avalanche, Linea, Optimism, Base, Neon

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2Fd52ZHuq61hxDsKmzttVd%2Fbridge.gif?alt=media&amp;token=b341d0fa-f05e-4023-b560-d4028397bc12" alt=""><figcaption></figcaption></figure>

1. Go to [bridge](https://fluxbeam.xyz/app/bridge) and make sure your <mark style="color:green;">wallet is connected</mark>
2. Choose the *chain and token* you wish to *bridge from* and input amount
3. Select the *chain and token* where you want to *receive your funds.*
4. If you opt for the routing option, enter another address.
5. Confirm the trade and verify it on your wallet.


# V1 Token Creation

Create your very own SPL Token (V1) for free and in just a few clicks.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FfRn9UnB4qIKRlxn3vMMJ%2FV1%20CREATE.gif?alt=media&amp;token=8a74f650-444b-4027-8032-144bd901a39a" alt=""><figcaption></figcaption></figure>

1. Go to [V1 Token Creation](https://fluxbeam.xyz/app/tools/token_create_v1) and make sure you <mark style="color:green;">connect your wallet.</mark>
2. Upload your image to *create the metadata.*
3. *Name your token*
4. Choose a *symbol for your token*.
5. Provide a *brief description* of your token's purpose.
6. Determine the *token supply.*
7. Select the *number of decimals* for your token (more decimals are ideal for smaller transactions).
8. Approve the transaction on your Solana wallet


# V2 Token Creation

Take your token creation journey up a notch with V2 Token Creation, featuring Token Extensions. These offer enhanced functionality, allowing you to collect fees on your SPL tokens and more.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2F57J72wPdJAmtz8Oo6R0u%2FV2Create.gif?alt=media&amp;token=4f7b99f5-cea2-495a-a973-177d2bd45b4b" alt=""><figcaption></figcaption></figure>

1. Go to [V2 Token Creation](https://fluxbeam.xyz/app/tools/token_create) and make sure you <mark style="color:green;">connect your wallet.</mark>
2. Upload your image to *create the metadata.*
3. *Name your token*
4. Choose a *symbol for your token.*
5. Provide a *brief description* of your token's purpose.
6. Determine the *token supply.*
7. Select the *number of decimals* for your token (ideal for smaller transactions)
8. Choose your extensions (you can select from a bunch of options that suits your needs)
9. Approve the transaction on your Solana wallet


# Pool Creation

Liquidity is important. Without it, your token can’t be traded. Let’s put it this way. If you aim for your token (base token liquidity) to have at least $10k in liquidity, you'll need a minimum of $5k

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FYrvcwDqYB9DSWDMH2N1w%2Fpoolcreate.gif?alt=media&amp;token=6a74d048-f472-491c-8842-e20be44d8a0a" alt=""><figcaption></figcaption></figure>

1. Go to [Pool Create](https://fluxbeam.xyz/app/pools/create) and make sure you <mark style="color:green;">connect your wallet.</mark>
2. Decide on the *initial liquidity requirement.*
3. Determine the amount of a compatible token to add to the liquidity pool
4. Check the overview on the right-hand side, which displays details such as the *tokens involved, fees, and the initial price for the created token.*
5. Review the information and ensure it meets your needs.
6. If satisfied, proceed by clicking on the *"create pool"* button.

{% hint style="info" %} <mark style="background-color:red;">**IMPORTANT NOTE**</mark><mark style="background-color:red;">:</mark> LP Tokens represent the allocation to your pool liquidity. You can either lock them using a token locker or send them to an off-curve wallet address. <mark style="color:red;">Do not burn them.</mark>

<mark style="color:green;">Fluxbeam provides a token locker in the Fluxbeam Dex Tooling.</mark>&#x20;
{% endhint %}


# Token Locker

Our token locker not only lets you lock your Solana - based tokens for a specific time frame as part of your strategy but it also supports V2 / Token22 for tokens that use token extensions.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2F70ELwFTDlLcQwo4pTxO6%2Ftoken%20lockertut.gif?alt=media&amp;token=dd1cae0d-3c7b-4d7b-bae3-307db2cf0929" alt=""><figcaption></figcaption></figure>

1. Go to our [token locker](https://fluxbeam.xyz/app/tools/token_locker) and <mark style="color:green;">connect your wallet</mark>
2. Enter or Paste the *mint address* of the token
3. Input the *token amount*
4. Select the *unlock schedule*
5. Keep in mind that transfer fees apply to V2 tokens with the transfer fee extensions
6. Click create and confirm the transaction on your Solana wallet


# Token Manager

This tool allows you to edit token details like fees and revoke access to edit for critical token capabilities, like mint, fee, and freeze authorities.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2Fx5nU5z5J4YQMT9Br7WHn%2Ftoken%20manager.gif?alt=media&amp;token=85cb723a-c866-49fa-9d78-9903a5944bd9" alt=""><figcaption></figcaption></figure>

1. Go to [Token Manager](https://fluxbeam.xyz/app/tools/token_manager) and make sure you <mark style="color:green;">connect your wallet.</mark>
2. Enter or Paste the mint address of your token
3. You should find a similar interface like the one above where you can edit or revoke authority access to your token and configure fees.
4. If satisfied, confirm the transaction on your wallet

<mark style="background-color:green;">**These authorities include:**</mark>

**Mint**: Enables you to edit or revoke access to the wallet that can mint additional tokens.

**Freeze:** Allows you to edit or revoke the wallet's ability to freeze tokens, rendering them non-transferable, non-tradeable.

**Fee Configuration:** Enables you to configure token transaction fees (transfer fee) and manage the authority to adjust fee configuration parameters.

**Fee Withdrawal Authorities:** Edit or revoke a wallet’s authority to withdraw withheld funds from the fees generated by token trades.


# MetaData Manager

Use this feature whenever you need to update your token's metadata—like refreshing the logo, tweaking the name or symbol, or updating the description.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FaVt2fF8dD7NrrFM2IGCT%2FMETAMANAGE.gif?alt=media&amp;token=54a89439-f73b-45a4-bc46-c544448ca2b3" alt=""><figcaption></figcaption></figure>

1. If you left your token Metadata as Mutable (can be changed) you can make adjustments to it with our tooling. Once you make the Metadata Un-Mutable, now changes can be made.&#x20;
2. Go to [MetaData Manager](https://fluxbeam.xyz/app/tools/token_metadata) and make sure you <mark style="color:green;">connect your wallet.</mark>
3. Enter or Paste the *mint address* of your token
4. You can now change the logo, name, symbol and even update the description
5. Click update and confirm the transaction on your Solana wallet

{% hint style="info" %} <mark style="color:red;">**IMPORTANT NOTE**</mark>:  Tick the Mutable checkbox if you intend to update your metadata in the future. <mark style="color:red;">Leave it unchecked if you want the metadata to be immutable.</mark>
{% endhint %}


# Fee Manager

If you've created a V2 Token with the Transfer Fees Token Extension enabled, this is the place where you can retrieve the fees collected from your tokens in a more user-friendly manner.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FqdJppP84ACQfHpp9Vtes%2Ffeemanage.gif?alt=media&amp;token=8af242a1-649a-4e48-be28-c89e7bc372f5" alt=""><figcaption></figcaption></figure>

{% hint style="info" %} <mark style="color:red;">IMPORTANT:</mark> &#x20;

* You will need to set a custom RPC to use this tool.&#x20;
* You can set your RPC provider in your [Fluxbeam settings.](/configure/settings)
  {% endhint %}

1. Go to [Fee Manager](https://fluxbeam.xyz/app/tools/fee_manager) and make sure you <mark style="color:green;">connect your wallet.</mark>
2. Enter or Paste the *mint address* of your token.
3. Clicking *"Get Accounts"* is like searching to find associated accounts.
4. Harvest allows you to harvest withheld amount to the mint account.
5. Clicking *“Claim Tokens”* allows you to claim said fees collected.
6. Confirm the transactions on your Solana wallet.


# Withheld Amounts

This is where you can view the amount of tokens withheld for a v2 mint. The overall supply should remain the same, with the circulation supply matching, unless you have locked the tokens or sent them

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2F8fabYqeMNk6vWT2KBQPR%2Fwithhelds.gif?alt=media&amp;token=4547d6a3-e3e4-481c-81a4-9e154a7b760f" alt=""><figcaption></figcaption></figure>

1. Go to [Withheld Amount](https://fluxbeam.xyz/app/tools/token_withheld_amount) and make sure your <mark style="color:green;">wallet is connected</mark>
2. Enter or Paste the *mint address* of your token
3. You can now view details about the your token including the decimals and supply

\
**Note:** Results are cached for 15 minutes to reduce heavy load on RPC


# Token Burn

Token burning removes tokens from circulation, reducing supply and creating a "deflationary" effect. Whether scheduled or integrated into your token economy, we've got you covered.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FYvyODtwK369d3Jgr8hHc%2FTOKENBURN.gif?alt=media&amp;token=74b00cb2-63be-4eb7-9e91-72f1be478da0" alt=""><figcaption></figcaption></figure>

1. Go to [Token Burn](https://fluxbeam.xyz/app/tools/token_burn) and make sure you <mark style="color:green;">connect your wallet.</mark>
2. Enter or Paste the *mint address* of your token
3. Input the amount you want to burn and click burn tokens
4. Confirm the transaction on your Solana wallet

{% hint style="info" %} <mark style="color:red;background-color:red;">**IMPORTANT NOTE**</mark><mark style="color:red;background-color:red;">:</mark> LP Tokens represent the allocation to your pool liquidity. You can lock them using a token locker. <mark style="color:red;">Do not burn them.</mark>
{% endhint %}


# Token Mint

Consider scenarios like funding, expansion, or incentives where minting more tokens could be an option. But be aware of impacts like increased circulation and inflationary pressure.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FjhT5FZxnKKXc6nBRnc3N%2FTOKENMINT.gif?alt=media&amp;token=45115789-1cda-4905-b1fc-81a21124b23f" alt=""><figcaption></figcaption></figure>

1. Go to [Token Mint](https://fluxbeam.xyz/app/tools/token_mint) and make sure you <mark style="color:green;">connect your wallet.</mark>
2. Paste the *mint address* of your token
3. Input the amount you want to mint and click mint tokens
4. Confirm the transaction on your Solana wallet
5. Once you have revoked Mint Authority, you can no longer use this function.&#x20;


# Token Airdrop (Beta)

Maybe you want to reward your community or you're running an airdrop campaign. With FluxTools, you can mass airdrop tokens to other token holders or through manual/CSV entry.

{% hint style="info" %} <mark style="color:red;">IMPORTANT:</mark> &#x20;

* You will need to set a custom RPC to use this tool.&#x20;
* You can set your RPC provider in your [Fluxbeam settings.](/configure/settings)
  {% endhint %}

1. Go to [Token Airdrop](https://fluxbeam.xyz/app/tools/token_airdrop) and make sure you connect your wallet.
2. Enter or Paste the *mint address* of your token
3. Toggle the *set up section to enable/disable*

* Slow Mode
* Create Associated Accounts
* Include Liquidity Providers

4. Select the allocation method whether fixed or dynamic
5. Then, you can select your targets giving you *three options:*

* **By Token Mint:** Airdrop tokens to addresses holding a specific token
* **Upload CSV:** Mass airdrop to addresses in a CSV format
* **Manual Entry:** Airdrop to a select list of addresses manually

6. Confirm the details of your airdrop
7. Confirm the transaction on your Solana wallet


# Settings

Adjust the settings for a better and more personalized experience.

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FDN2ITF11EXrVB0dCc9GN%2Ffluxbeamsettings.gif?alt=media&amp;token=753ab2ed-e3d8-47eb-b610-7f922a6791e6" alt=""><figcaption></figcaption></figure>

Modify key aspects of your FluxBeam experience which includes the following:

* **Preferred Explorer** - Select which explorer you want to use when viewing on-chain data.
* **Custom RPC Endpoint -** Use a custom RPC endpoint instead of the default on the FluxBeam UI. <mark style="color:green;">**Note:**</mark> You must have a custom RPC url set to use features like[ fee manager](/fluxtools-tutorials/fee-manager) and [token airdrop](/fluxtools-tutorials/token-airdrop-beta).
* **Slippage % -** The maximum difference between the expected price of an order and the price when the order actually executes.
* **Bandwidth Markets -** Use priority delivery lanes (SWQoS) to accelerate transaction delivery. Find out more about [bandwidth markets](/publications/solana-bandwidth-markets).
* **Priority Fees -** Pay an additional gas fee to prioritise the transaction on the solana queue. You can choose from different rates from *market to turbo*
* **Validator Tips -** Pay an additional tip to the validator to speed up transaction delivery. (When using high tips, priority fees are not needed)

Once changes are made, you can click on <mark style="color:green;">Update</mark><br>


# Profile

Shows a brief overview of your token balances

Access it by going to [profile](https://fluxbeam.xyz/app/profile)

<figure><img src="https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2Fsmu3Rl8HItqjztPm6NWC%2Ffluxbeamprofile.png?alt=media&amp;token=34a377e0-658a-4f0c-bab2-4d42578cbe05" alt=""><figcaption></figcaption></figure>


# Frequently Asked Questions

<details>

<summary>What are Token Extensions?</summary>

Token extensions can be tricky but you can find more information about token extensions in [Solana’s dedicated section](https://solana.com/solutions/token-extensions).

</details>

<details>

<summary>What is the difference between Validator tips and priority fees?</summary>

Validator Tips ensure your transaction lands ahead with Jito Tips, offering a cheaper alternative to Priority Fees - which secure priority once your transaction reaches a Solana validator for the next block. Jito currently has around 50% of leader slots.

</details>

<details>

<summary>My transactions are pending/timing out. Any recommendations?</summary>

You have the option to pay priority fees and/or choose validator tips—a cheaper alternative—which can be customized in the settings. You can use either or both at the same time. In our experience, validator tips are more effective and cheaper.&#x20;

</details>

<details>

<summary> I need help with claiming fees on FluxTools</summary>

For successful token projects, consider consulting a developer for bespoke fee-claiming solutions if the standard free tools are insufficient. During high congestion times we continue to patch and adjust the free tools, but to keep them free we are limited to how much we can do when the chain is congested.

</details>

<details>

<summary>What should I know about burning LP on FluxBeam?</summary>

We <mark style="color:red;">DO NOT suggest ever burning LP created on FluxBeam.</mark> Burning will release your share of the LP to other providers. Pools work differently on all providers. Some people choose to send their LP tokens to an off-curve address without a PK to effectively ‘lock’ them. We suggest using a locker instead

</details>


# Open a Ticket

If you have any further questions not in our [FAQs section](/support/frequently-asked-questions), feel free to open a ticket on[ Discord](https://discord.com/invite/DtyqTx97kz), or send over your question to our official[ Telegram](https://t.me/fluxbeam) and our team will get back to you soon.


# Swap API

The FluxBeam Swap API allows developers and users to retrieve swap quotes and pre-built transactions to speed up integration.&#x20;

## Quote

The quote API will return the expected output amount and slippage amount based on the provided input amount & token mints.

*Currently, the API only returns pools on FluxBeam DEX.*

{% openapi src="/files/BTXW41fbdTNJwtnc3yie" path="/v1/quote" method="get" %}
[swagger.json](https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FtJlI9ZjUrfH7QfZeH8wj%2Fswagger.json?alt=media\&token=5f2a6e1a-245d-4019-ae4b-3cc068913b76)
{% endopenapi %}

### Example

```javascript
const inMint = "So11111111111111111111111111111111111111112"
const outMint = "FLUXBmPhT3Fd1EDVFdg46YREqHBeNypn1h4EbnTzWERX"
const amount = "1000000000"
const slippageBPS = "50"

const uri = `https://api.fluxbeam.xyz/v1/quote?inputMint=${inMint}&outputMint=${outMint}&amount=${amount}&slippageBps=${slippageBPS}`

const quote = await (await fetch(uri)).json()
```

## Swap Transaction

The Transaction endpoint returns a pre-built transaction that is ready to be signed by the payer wallet based on the quote provided.&#x20;

The swap transaction includes the following instructions:

* Priority Fee Price & Units
* Input & Output associated token account creation
* Wrap & Unwrap of SOL accounts

{% openapi src="/files/BTXW41fbdTNJwtnc3yie" path="/v1/swap/transaction" method="post" %}
[swagger.json](https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FtJlI9ZjUrfH7QfZeH8wj%2Fswagger.json?alt=media\&token=5f2a6e1a-245d-4019-ae4b-3cc068913b76)
{% endopenapi %}

### Example

```javascript
import { Connection, Keypair, VersionedTransaction } from '@solana/web3.js';

const uri = `https://api.fluxbeam.xyz/v1/swap/transaction`

const resp = await(await fetch(uri, {
    method: "POST",
    headers: {"Content-Type": "application/json"},
    body: JSON.strinfgify({
        //
    })
})).json()

//Decode the transaction from base64
const swapTransactionBuf = Buffer.from(resp.transaction, 'base64');
const transaction = VersionedTransaction.deserialize(swapTransactionBuf);

console.log("Transaction",transaction);

//Sign the transaction with the payer wallet
transaction.sign([wallet.payer]);

//Execute the transaction
const client= new Connection('{RPC_URL}');
const sig = client.sendRawTransaction(transaction.serialize(), {maxRetries: 3, skipPreflight: true})

console.log("Transaction Signature:", sig)
```

###

### Swap Instruction

The instruction endpoint will return the FluxBeam swap instruction for a given quote. The instruction should be included within a transaction that handles the priority fee & associated token account calls.

{% openapi src="/files/BTXW41fbdTNJwtnc3yie" path="/v1/swap/instruction" method="post" %}
[swagger.json](https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FtJlI9ZjUrfH7QfZeH8wj%2Fswagger.json?alt=media\&token=5f2a6e1a-245d-4019-ae4b-3cc068913b76)
{% endopenapi %}

### Example

```javascript
import { Connection, Keypair, Transaction} from '@solana/web3.js';

const uri = `https://api.fluxbeam.xyz/v1/instruction`

const resp = await(await fetch(uri, {
    method: "POST",
    headers: {"Content-Type": "application/json"},
    body: JSON.strinfgify({
        quote, //Response from /quote
        userPublicKey: "{PAYER_WALLET_ADDRESS}",
        priorityFeeLamports: 100,
        wrapAndUnwrapSol: true
    })
})).json()


//Decode the instruction
const ix = new TransactionInstruction({
    programId: new PublicKey(instruction.programId),
    keys: instruction.accounts.map((key) => ({
      pubkey: new PublicKey(key.Pubkey),
      isSigner: key.IsSigner,
      isWritable: key.IsWritable,
    })),
    data: Buffer.from(instruction.data, "base64"),


//Create new transaction
const transaction = new Transaction();

//Add pre-swap instructions
// transaction.add(ataIx)

//Add swap instruction
transaction.add(ix)

//Add post-swap instructions
// transaction.add(wSolClose)

console.log("Transaction",transaction);

//Sign the transaction with the payer wallet
transaction.sign([wallet.payer]);

//Execute the transaction
const client= new Connection('{RPC_URL}');
const sig = client.sendRawTransaction(transaction.serialize(), {maxRetries: 3, skipPreflight: true})

console.log("Transaction Signature:", sig)
```


# Pool API

The FluxBeam Pool API allows developers to quickly and easily integrate the creation of pools within their platform.&#x20;

## Create Pool

{% openapi src="/files/BTXW41fbdTNJwtnc3yie" path="/v1/token\_pools" method="post" fullWidth="false" %}
[swagger.json](https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FtJlI9ZjUrfH7QfZeH8wj%2Fswagger.json?alt=media\&token=5f2a6e1a-245d-4019-ae4b-3cc068913b76)
{% endopenapi %}

### Example

{% code fullWidth="false" %}

```javascript
import { Connection, Keypair, VersionedTransaction } from '@solana/web3.js';

const form = {
	payer: "", 	  // Wallet address of the payer
	tokenA: "", 	  // Token A Mint
	tokenB: "", 	  // Token B Mint
	tokenAAmount: "", // Token A Liquidity Amount
	tokenBAmount: ""  // Token B Liquidity Amount
}

const resp = await (
	await fetch(`https://api.fluxbeam.xyz/v1/token_pools`, {
		method: 'POST',
		headers: {'Content-Type': 'application/json'},
		body: JSON.stringify({
			"payer": form.payer,
			"token_a": form.tokenA,
			"token_b": .form.tokenB,
			"token_a_amount": form.tokenAAmount,
			"token_b_amount": form.tokenBAmount
		})
	})).json()

console.log("Pool Address:", resp.pool)

//Decode the transaction from base64
const swapTransactionBuf = Buffer.from(resp.transaction, 'base64');
const transaction = VersionedTransaction.deserialize(swapTransactionBuf);

console.log("Transaction",transaction);

//Sign the transaction with the payer wallet
transaction.sign([wallet.payer]);

//Execute the transaction
const client= new Connection('{RPC_URL}');
const sig = client.sendRawTransaction(transaction.serialize(), {maxRetries: 3, skipPreflight: true})

console.log("Transaction Signature:", sig)
```

{% endcode %}


# Solana Bandwidth Markets

Solving transaction delivery, preventing centralization and removing barriers to entry.

## Overview

Since the end of 2023, Solana has had a "dropped transaction" issue. Essentially, transactions being submitted & ingested by the validator are simply vanishing due to inefficiencies in the underlying network protocol & contention issues within the Solana validator.

In April 2024, Solana adjusted how Stake-weighted Quality of Service (SwQoS) worked by introducing a minimum required amount of SOL (\~15,000 SOL or \~$2,250,000 USD at the time of writing) to be classed as "prioritised" traffic. This "priority lane for transactions" is based on the amount of Solana staked to the given validator initiating the connection.

## Problem

Solana currently does \~2,000 transactions per second (including votes); however, the inbound transaction amount is far higher than this. With a fixed base fee per transaction only charged once a transaction has been processed, sending the same transaction to many different RPC providers or via Quick UDP Internet Connections (QUIC) directly has been common practice to ensure the highest chance of inclusion in the upcoming block.

Currently, there is no cost associated with sending a transaction to the network by a client, fees are only charged once it's received & processed on-chain. While it is free for the client to send the transaction, it incurs a cost to the validator in the form of additional processing & networking load due to repeatedly parsing/checking the same "spammed" transaction.

Given that leader bandwidth is finite, this also introduces another issue - RPC providers & other large operators now have to attract large amounts of SOL to access sufficient SwQoS for the delivery of their transactions. The current minimum requirement of approximately 15,000 SOL (around $2,250,000 USD at the time of writing) creates a significant entry barrier for new participants, hinders innovation, and poses a long-term risk of centralization, monopolization, and collusion.

### Resource Usage vs Fee Capture

There is currently a lot of uncaptured cost on the network at the validator layer, which is not reflected in the current platform fees. Priority & Base fees are only applicable once the transaction reaches finalisation within a block; however, there is uncaptured validator costs based on the network activity prior to the transaction getting to the block.

Currently, RPC providers & validators are incurring all network activity as operational costs - as the network grows & more traffic is pushed into the cluster; these costs will also rise. SwQoS has been implemented to help aid this issue by putting a premium on validator connections; however, there is no way for under-staked validators to access these priority lanes.

![validator\_simple](https://1346299214-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2Aiu5M1GjdMOI04TEPX%2Fuploads%2FMktuzdq3eTcjB2TBXt2S%2Fvalidator_simple.png?alt=media\&token=4b21b97d-f41c-4c09-a4a5-f085b0d77498)

#### **Lifecycle:**

1. Transaction submitted to RPC provider
2. Transaction routed to the closest RPC provider's validator.
3. Transaction checked & then forwarded to the leader validators.
   1. *If the validator does not have sufficient Stake, their SwQoS may not be enough to forward the transaction successfully.*
4. Depending on the validator's stake, the transaction may need to be forwarded through multiple other validators to reach the leader.
5. The transaction is rechecked & accepted into the next block the leader is building.

## Solution

The change in how SwQoS opens the possibility of building a system where transactions incur a network cost based on their usage of the underlying network while ensuring the underlying validator set has minimal processing requirements thanks to deduplication & spam prevention.

To resolve this issue, we must provide an economic penalty to not spam transactions or capture the network cost of spamming transactions. This can now be achieved through a new SwQoS market and an intermediary pending transaction pool, allowing deduplication & prioritisation at a higher level that can then be scaled horizontally.

Another key advantage is that the SwQoS connections are not controlled by a monopoly of providers, allowing for democratic access to the leader's finite resources, thus removing the stifling of innovation, barrier to entry and centralization by larger players.&#x20;

### Bandwidth Markets

By introducing a bandwidth market on top of SwQoS, network usage can be captured as an additional cost per transaction. The facilitating validator can then be paid this extra fee in exchange for sending the transaction over the validator's staked connection.

Like priority fees, bandwidth fees are dynamic based on the amount of available staked bandwidth vs the amount in use based on the previous `n` slots.

* Bandwidth is measured in bytes, with the maximum size of a Solana transaction being `1232` bytes.
* A minimum fee is calculated based on the network's current capacity vs. the demand for the previous slot.
* Any lamports above the minimum fee are used as a priority order for the inbound transactions to be transmitted.
* The network fee is distributed to the validator providing the bandwidth.

### Spam Prevention

Introducing a network fee via the staked connections enables validators to run more efficiently as more resources are captured within the fee they receive. The network also benefits from an increase in a clean stream of prioritised transactions, reducing overall operating costs for operators.

An intermediary load balancer between the validators & the client also enables optimisation pre-ingestion without the validator incurring that additional cost, as deduplication can be handled much more efficiently at this layer.

Employing a small pool of pending transactions enables the load balancers and relays to effectively combat spam transactions by having an optimistic view of the next block state & effectively drop transactions that would not meet the network fee or priority threshold.

### Pending Transactions&#x20;

A market optimised for network/priority fee prioritisation & signature deduplication allows for this validation to be abstracted away from the validator somewhat and then scaled horizontally across multiple load balancers to remove any duplicate transactions & to ensure transactions are delivered within their validity time or failed gracefully with a way for the developer to see why the transaction failed.

*This pool does not implement any MeV functionality. Instead it's a "holding pen" for transactions below the network minimum bid that have not yet expired.*

A blockhash on Solana is valid for up to 60 seconds based on the commitment level; this allows ample time for a transaction to be retried across multiple blocks (undergoing an additional network cost each time) & provides a timeframe for transactions to be checked rather than being "dropped" as it stands currently.

During periods of high on-chain activity, such as airdrops & token launches, blocks can often fill up or are filled inefficiently due to contention on accounts - By utilising a pool over multiple blocks; transactions can be more efficiently packed for delivery while still maintaining a time series order.

Users can specify a retry amount within the `sendTransaction` call, which will then be used to intelligently retry based on the current network & priority fee to ensure maximal success on acceptance into the cluster.

## Benefits

#### Validators

* Earn additional fees by selling their spare SwQoS bandwidth to others via the Bandwidth Market.
* Reduction in overall bandwidth costs due to a decrease in spam being sent via network.
* Benefit from both existing MeV & Bandwidth Market Tips. We don't implement any MeV mechanisms at our layer, however validators can still use Jito + Flux for max fees.

#### dApps & Wallets

* Can guarantee a certain level of QoS by adding a network fee, ensuring the transactions are prioritised & delivered via a staked connection.
* Improved UX through faster confirmation times.
* Provide contextual congestion information to the user via dynamic network fees.

#### Wider Ecosystem

* Reduces spam incentive due to higher cost & lower block availability, without the need to increase base fees or block space.
* Provides additional context on the lifecycle of a transaction along with a reduction in client-side logic.
* Transaction delivery becomes more deterministic.
* Long-term scalability through full capture of network resources.

## Implementation

#### Load Balancers

Responsible for ingestion & initial deduplication of inbound transactions looking to use the bandwidth markets.

Due to the composition of a Solana transaction, in-flight signature verification can be done without needing to read the entire transaction packet. Due to this, we can implement multiple additional layers of spam protection:

* **Deduplication** - In-flight signature verification used to dedupe multiple requests of the same transaction
* **QoS Signer** - In-flight payer/signer detection to provide consistent QoS so no single entity can monopolise block space.
  * IP limits are useless here due to commodity proxies & captcha bypass.

### Bandwidth Relay

Responsible for managing inbound requests from the Load Balancers & relaying these requests to a validator with sufficient bandwidth to serve the transaction via SwQoS.

Based on the available SwQoS bandwidth & the minimum fee requirements registered by validators, transactions are validated & forwarded to the winning validator providing the bandwidth.

Transactions that fail to meet the minimum market requirement are held in the pending transaction pool & retried per block until expiry or the transaction results in an error state. This data can then be retrieved via the Load Balancer APIs to get "dropped" transaction status details (Fee too low, state invalid, etc.)

### Flux Validator

A fork of the Solana Labs validator client with the bandwidth markets implemented will be used for initial proof of concept & testing. The goal is to be fully compatible with the Jito client to enable the support of both bundling & bandwidth markets.

In the long term, the aim is to enable support through a sidecar for any Solana validator regardless of what client is being run (such as FireDancer).

Validators running the bandwidth market plugin initiate a TCP connection with the bandwidth relay, registering their identity & fee conditions. This connection is then used to relay winning transactions from the bandwidth market to the validator to reduce networking complexity & provide protocol-level connection liveness.

### Bandwidth Fees

Like Jito Tips, Bandwidth fees are paid to the validator providing the connection. This fee further increases the incentive to stake SOL & run the bandwidth market plugin. Fees are paid per transaction & credited upon delivery of the transaction across their connection.

Exact market dynamics & fees are still to be determined as the project evolves, along with community feedback to ensure the most optimal model is used upon production launch. Initially, this will start with a simple cost model based on the available bandwidth + the minimum fee set by each validator.

### Testing & Feedback

We have been hard at work building up a PoC of both the bandwidth markets & load balancers to showcase the new markets (we already have a demo running on top of Jito bundles), which we aim to have ready by the end of June. Initial tests will be done on Testnet to determine the best fee mechanism to use & to tune based on a wider sample size of transactions.

As the markets rely on having sufficient access to SwQoS connections, we are actively looking for more validators & partners willing to help us test this new mechanism.

Please get in touch & provide feedback so we can further improve the implementation to resolve congestion. Feedback can be submitted via Telegram here - <https://t.me/+XD4gqrNlwsI4ODAx>


# Branding Kit

You can quickly download our logo in multiple versions and formats using the files below

{% file src="/files/Vt4XwP9TgIJcIQzS7Sz8" %}

{% file src="/files/5vZtFOgfb0823Eit06og" %}

{% file src="/files/6femHPClnWUtqmyt6E2j" %}

{% file src="/files/52TC6Jh9YBAhEmPM4xhj" %}


