Only this pageAll pages
Powered by GitBook
1 of 63

English

Loading...

Loading...

Getting Started

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Flash Trade Protocol

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Resources

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Our Mission

At Flash Trade, our objective is to craft a decentralized exchange (DEX) that rivals the experience users have on a centralized exchange (CEX). Every decision we make at Flash Trade is driven by the commitment to deliver a frictionless user experience. We seek to mirror the efficiency of centralized exchanges while eliminating unnecessary clutter commonly found in decentralized platforms.

“A DEX with a CEX appeal.”

Leveraging the technology of Solana, Flash Trade provides a trading environment that not only rivals the experience found on a CEX but does it while surpassing the security and transparency offered by them as well. This is accomplished all while holding up to the ethos of decentralization through its community-centric development plan, commitment to open sourcing, and contributing to “growing the pie.”

Introduction

Flash Trade is a decentralized asset-backed perpetuals and spot exchange on Solana that lets you trade with up to 100x leverage, low fees, and minimal price impact.

Flash’s trading activity is supported by a unique pool-to-peer model. Liquidity providers are rewarded with real yield generated from fees collected from trading activities. The protocol incorporates dynamic pricing via Pyth and a novel backup oracle system to ensure maximum uptime. The Flash Liquidity Pool (FLP) was bootstrapped by minting out one-of-a-kind 3D yield bearing NFTs that evolved as the holders interacted with the protocol. Additionally, these NFTs acted as trading accounts on Flash storing all the important stats and unlocked rewards for NFT holders. Flash said farewell to our coveted Flash Beast NFTs with our introduction of the FAF token ushering in a new era of rewards, utility, and governance for staking FAF tokens. NFT were given two ways to claim Burn & Stake or Burn & Claim.

Explore Our Guides & Information

Getting Started

Tokenomics

Ecosystem Partners

Build On Flash

Audits

Monthly Protocol Report

Cover
Cover
Cover
Cover
Cover
Cover

FAFtarchy Governance

Futarchy is a governance system where decisions are made through prediction markets instead of traditional voting. Think of it as "betting on beliefs" - the market decides what's best for the protocol

Technical Architecture

Virtual PNL Delay

Flash's margining system adds a virtual PnL delay to positions closed within 30 seconds. This means that for all positions closed before 30 seconds, positive PnL won't be realized while negative PnL will be realized. This system was added to protect Flash's liquidity pool from potential MeV attacks and the system was later extended to protect against oracle delay since Pyth's new pull oracle system (pyth docs here)

Perpetuals Specifications

FAFtarchy Commandments

Framework for Futarchy-Aligned Proposal Creation by the Core Team

To ensure that all proposals uphold integrity, predictability, and alignment with the long-term value of the protocol’s native token, the core team commits to the following governance standards when drafting Futarchy proposals:

  • State Impact on Token Value Clearly explain how the proposal benefits the protocol and token value, including the mechanism of impact, current relevance, and expected net-positive outcomes (especially for token supply increment and incentive changes).

  • Define Measurable Metrics Include specific KPIs or performance metrics that can be used to evaluate success post-implementation.

  • Include Opportunity Cost Analysis Summarize resource requirements (e.g. dev hours, emissions, treasury spend) and potential trade-offs.

  • Align with Strategic Goals Show how the proposal fits into the protocol’s broader mission — is it foundational, experimental, defensive, or opportunistic?

  • Add Post-Implementation Review Describe how results will be evaluated, made public, and used to guide future decisions.

How we handle proposals:

  1. Proposals can only be put up by Core Team.

  2. Proposal Drafting occurs in the Flash Discord to arrive at reasonable parameters for the specifics.

  3. In the case of a failed proposal, it can be revisited in 1 month only.

  4. Proposals Must Be Specific and Executable

  5. The token holders can suggest drafts of proposal which then can be improved and put up for voting by the team.

All proposals must define concrete, unambiguous implementation parameters (e.g. smart contract changes, allocation percentages, timelines) to ensure clarity and enforceability.

Liquidation

Calculating Liquidation Price

The liquidation price represents the threshold at which a trader's position is automatically closed (liquidated) to prevent further losses. To calculate the liquidation price, the following factors are considered: Max Leverage, Unsettled Obligations, and Maintenance Threshold.

Components of Liquidation Price Calculation

  • Max Maintenance Leverage: 500x (Crypto), 400x (Synthetic Assets), 100x (Solana Beta Assets), 50x (Meme tokens)

  • Unsettled Obligation: The sum of fees owed by the position to the trading pool. These fees consist of two components: a static close position fee and a dynamic margin fee associated with borrowing exposure to the asset. It is reflected as a reduction in collateral amount by the Trader that is holding the position irrespective of price action.

  • Minimum Maintenance Margin: Calculated as the product of nominal size of the position (in USD) and the minimum maintenance margin ratio (1 /Max Leverage). This threshold is a critical level that when the amount of collateral crosses it then the liquidation process can be triggered.

  • Liquidation Price: The price at which a Trader's position will be liquidated. Any remaining maintenance margin is not returned to the trader.

The Liquidators:

Initially, the Flash.Trade team will be running a liquidation bot that is continuously monitoring all positions on Flash.Trade ensuring all positions are promptly liquidated when they exceed max leverage. Flash's margining engine does not require an insurance fund since there will always be liquidity available in the pool to close against. Additionally, the protocol does not require external liquidator capital to settle positions due to the nature of protocol being asset-backed for each position and thus positions will always have the counterparty to settle against. The fact that the pool is used to close against for liquidations this should prove to be another source yield for liquidity providers.

Pool-to-Peer Mechanism

The Pool-to-Peer model is a mechanism of liquidity provision for perpetuals DEXs where trader's orders are instantly matched and executed against a pool of liquidity at the price published by a decentralized oracle. This model eliminates the need for traditional order books by creating a unified liquidity pool that serves as the counterparty to all trades.


There are two main entities in a pool-to-peer model:

Liquidity Providers (LPs)

The LPs are the users who deposit their assets in the pool which will in turn act as the liquidity against which other traders can trade and in return the LP provider earns fees. LPs essentially become the counterparty to all trader positions, earning a share of trading fees, margin fees, and liquidation penalties in proportion to their pool contribution.

Traders

The Traders are users who want to use the DEX to long or short any assets available in the pool on their desired level of leverage. The Traders will collateralize their position using any asset and then gain the price exposure of the asset in the pool. When traders profit, they're paid from the pool; when they lose, their losses flow back to the pool, benefiting LPs.


Oracle-Enabled Execution

The matching of the orders between the Traders and the collective of LPs in the pool is enabled by an external oracle price feed. This oracle system provides real-time market prices, allowing for instant trade execution without waiting for order book matching or dealing with slippage from insufficient liquidity at specific price levels.


Key Benefits

FLP

FLP is Flash Trade's auto-compounding liquidity token that automatically reinvests all fees and trading PnL every hour.

Key Features:

  • Auto-Compounding: All performance rolls directly into token price - no manual action required

  • 70% Fee Share: Earns 70% of all protocol trading fees

  • Market Tradable: Can be bought/sold on open markets like Raydium

  • Voltage Points: Generates VP for FAF staking multipliers

  • Set-and-Forget: Ideal for passive investors wanting automated yield

How It Works: Simply hold FLP tokens in your wallet to automatically earn from all Flash Trade activity. No staking, claiming, or management required.

Best For: Users who want passive, automated returns without active management.

Crypto Asset-Backed Pools

Asset-Backed Trading

Asset-Backed Perpetual Swaps are derivatives where positions are backed by the underlying asset they represent. Traders can borrow the price exposure of the asset from the pool and the availability of the assets in the pool guarantees the settlement is possible of the Perpetual Swap contract at any given time.

Due to this nature of asset backing, the Trader can always be assured of settlement when they desire to close the position and the PnL will always be guaranteed from the underlying assets backing the Perpetual Swaps. This also reduces the need for a large insurance fund as there is always a guarantee of liquidity for settling a Trader’s position from the pool.

Asset-backed Perpetual Swaps are paid out in the native asset itself. This makes the Perpetual Swap less dependent on the stable coins and any form of counterparty risk associated with them.

All trades will be collateralized by the token they wish to long. For example, if the Trader intends to long SOL with leverage, then they must use SOL their collateral. Otherwise, the protocol swaps any other token brought by the user to SOL before opening the position.

Note: The swapping of the token is done dynamically by the protocol on the backend and the user will incur a swap fee in the process.

Example 1: - Trader 1 brings 1000$ worth of USDC and wants to long ETH at 10x leverage. Assuming ETH’s price is $2,000. When the trader places the order, the protocol swaps the $1,000 USDC to ETH on the backend and opens a position of 5 ETH (Note: This does not take into account the swap fee, opening fee, and borrow fee).

When the trader wants to short a crypto asset, they must use a stable coin to open the position. If the trader wants to short ETH then they must bring USDC to short ETH. Otherwise, the protocol swaps any other token to a stable before opening the position. Asset-Backed Pool The collateral backing for the perpetuals built on top of such a pool is provided by the spot assets in the pool. Here only the perpetual contracts of the asset in the pool itself can be initiated. There are no limitations on PnL of traders as the pool will always have the native asset to payout a long position or a stable coin to payout a short position.

Pool name
Autocompounding token (FLP)
Staked token (sFLP)

Synthetic (Pool 2)


Overview

Synthetic Pool is the pool which forms the underlying liquidity pool for all perpetual contracts that are asset backed by collateral. This pool contains only stable coins in it which forms the underlying collateral backing for the synthetic perpetual contracts that are traded based on the synthetic pool.

Key Features:

  • All assets will trade vs their USD pair

  • Any synthetic perpetual contract can be initiated irrespective of the asset in the pool

Tradeable Assets

PnL Limitations

Due to the theoretical upside of long positions and the stable value of the stable coins in the pool, there is a PnL Max Payoff limit of 1x the initial collateral on the assets in this pool (currently commodities and metals). This will likely be raised as we have more real time trading data.

Example:

If a trader uses $100 of USDC of collateral to 10x long an equity that is backed by the synthetic pool, their max positive PnL will be +$1000 at which point their position is automatically closed and PnL paid out.


Market Hours

Trading and Liquidity Providing of the Assets in Pool 2 will be limited to the hours that those markets are open.

Trading Schedule:

  • Trading times for these assets will be in accordance to CME operational hours and holidays

  • More info

Important:

When the markets are closed for any of the assets in Pool 2 it will not be possible to open or close positions and mint or burn FLP.2.

Stop Loss/Take Profit Orders

You can set SL/TP (stop-loss/take-profit) orders by clicking on the "Manage" button on any position that is open.

  • A Stop-Loss order will attempt to cap your losses by executing a closing of your position at the designated price.

  • A Take-Profit order will attempt to secure your profits on a trade by executing a closing of your position at the designated price.


After creating a SL/TP order, it will appear under the "Orders" tab. From here, you can edit the order and change the desired price the order will trigger at if needed. SL/TP orders will execute and return the native backing asset for your position e.g BTC for BTC longs or USDC for an ETH short if no alternative return asset is selected when SL/TP is created. At this time, a maximum of 5 partial SL and 5 partial TP orders are available per wallet address.

Once a position is closed either by the user or a TP/SL order, all TP/SL orders associated with that position will be cancelled.

Disclaimers:

  • Orders are not guaranteed to execute at the exact price designated. In times of great volatility or congestion the liquidations will be processed first and therefore SL/TP orders may take additional time to execute.

  • For the bot to execute trigger orders such as SL/TP the price needs to cross the trigger price and remain above it for at least 8-10 seconds.

  • In the case of trading Solana Perpetuals on Flash, when an SL/TP order is executed the user will receive Wrapped Sol in their wallets instead of normal Sol. This is for optimization purposes and Wrapped Sol can be unwrapped within the user interface of many wallets.

  • In the case of markets with maximum PnL payoffs (e.g EUR, GBP, XAG), take profit orders cannot be placed past the price where maximum PnL will occur.

  • No VP will be awarded for trade volume that uses SL/TP to exit.

  • There is a maximum of 5 SL and 5 TP orders per Trading Account.

Monthly Protocol Reports

Each report provides a rolling 3-month view of data from the Flash Trade platform, updated monthly.

Reports

If you are looking for full protocol analytics dashboard please see our dashboard.

Contract Address

Contract addresses for Flash Trade liquidity tokens.

sFLP Mints:

sFLP.1:

sFLP.2:

sFLP.3:

sFLP.4:

sFLP.5:


FLP Mints:

FLP.1:

FLP.2:

FLP.3:

FLP.4:

FLP.5:

Important: Always verify contract addresses before interacting with tokens.

Crypto pool

FLP.1

sFLP.1

Solana Defi pool

FLP.3

sFLP.3

Meme pool

FLP.4

sFLP.4

WIF pool

FLP.5

sFLP.5

Samo pool

FLP.6

sFLP.6

Fart pool

FLP.7

sFLP.7

9Fzv4s5t2bNwwJoeeywMwypop3JegsuDb1eDbMnPr4TX
CrdMPbjooMmz6RoVgUnczWoeZka2QF14pikcCTpzRMxz
6afu2XRPMg8JAhzBsJ9DXsQRCFhkzbC4UaFMZepm6AHb
GnxdTsSQNQ3FF72nTyWo4SUt59Tt1MqDkRRfoPtKjMvJ
EsdayVbDQYQdy54TQh5iASMTkCzmhxsx6MpCvyrtYaUZ
NUZ3FDWTtN5SP72BsefbsqpnbAY5oe21LE8bCSkqsEK
AbVzeRUss8QJYzv2WDizDJ2RtsD1jkVyRjNdAzX94JhG
4PZTRNrHnxWBqLRvX5nuE6m1cNR8RqB4kWvVYjDkMd2H
EngqvevoQ8yaNdtxY7sSh5J7NF74k3cDKi9v9pHi5H3B
Ab6K8anKSwAz8VXJPVvAVjPQMJNoVhwzfF7FtAB5PNW9

Instant Execution:

No waiting for order matching

Deep Liquidity:

Pool aggregates all LP contributions

Minimal Slippage:

Oracle pricing eliminates bid-ask spreads

24/7 Trading:

Always available liquidity for supported assets

Cover

Guide On How to Mint FLP

Cover

How to Use FLP With Our Ecosystem Partners

Fee Distribution

Liquidity providers on flash trade earn fees through trading activites over Flash Liquidity Pools.

Each pool has different asset backing and support different market profiles which generates fees according to the volumes each pool serves. The fee is distributed every hour to liquidity providers.

Each pool has different fee share split between liquidity providers and protocol, this is elaborated below.

Pool
Fee share

Crypto Pool

70%

Stable Pool

70%

Solana Defi Pool

70%

Meme Pool

100%

WIF Pool

100%

Samo Pool

95%

Fart Pool

95%

Collateral Specification

On Flash.Trade the collateral for the trade will depend on whether a user would like to long or short an asset.

Asset Backed Collateral Guide


When you go "long" on something, you're betting its value will increase. Here's what you can use as collateral for different assets:

Major Cryptocurrencies

Crypto Pool (FLP.1/sFLP.1)

  • SOL, BTC, ETH: You can use USDC, SOL, BTC, ETH, or JitoSOL

Example: If you use BTC to long SOL, your BTC is automatically swapped to SOL first, then that SOL is used with your chosen leverage

Commodities

Stable Pool (FLP.2/sFLP.2)

  • XAU (Gold), XAG (Silver): Can ONLY use USDC

Forex

Stable Pool (FLP.2/sFLP.2)

  • Euro, GBP, AUD: Can ONLY use USDC

Solana Tokens

Solana Defi (FLP.3/sFLP.3)

  • JUP, PYTH, JTO, W, RAY, KMNO: You can use USDC or any coin from this group

Example: If you use RAY to long JUP, your RAY is swapped to JUP first, then used with leverage

Meme Coins

Meme Pool (FLP.4/sFLP4)

  • BONK, PENGU: You can use USDC, BONK, or PENGU

WIF Pool (FLP.5/sFLP.5)

  • WIF: You can use USDC or WIF

Samo Pool (FLP.6/sFLP.6)

  • SAMO: You can use USDC or SAMO

Fart Pool (FLP.7/sFLP.7)

  • Fartcoin: You can use USDC or Fartcoin

Example: Using PENGU to long BONK means your PENGU is swapped to BONK first

For ALL short positions across every asset collateral will always be USDC.

Audits

Security

2025

Offside Labs stands as a pre-eminent security research team, comprising highly skilled hackers with top - tier talent from both academia and industry. The team has earned over $9 million in bug bounties, and three of its innovative techniques were acknowledged as being among the top 10 blockchain hacking techniques of 2022 by the Web3 security community. This team has audited Solana projects like Jupiter, Adrastea Finance, Meterora, Kamino and many other top projects in the space.

549KB
FlashTrade-May-2025-OffsideLabs.pdf
pdf

2024

Halborn conducted a security assessment on Flash programs, beginning on February 6, 2024, and ending on March 20, 2024. The security assessment was scoped to the programs provided in the flash-contracts-closed GitHub repository. Commit hashes and further details can be found in the Scope section of this report.

8MB
Flash_audit (March 2024)_Halborn.pdf
pdf

2023

The team at Halborn was provided seven weeks for the engagement and assigned a full-time security engineer to audit the security of the programs in scope. The security engineer is a blockchain and Solana program security expert with advanced penetration testing and Solana program hacking skills, and has deep knowledge of multiple blockchain protocols.

7MB
Flash_audit (April 2023)_Halborn.pdf
pdf

Economic Audit

GriGonTok

Flash team alongwith GriGonTok a leading tokenomics and DeFi analytics firm conducted state of the art economic audit over flash's margin engine and simulated effect of black swan events on the profitability of liquidity providers of FLP.

The protocol did a one-of-a-kind economic audit to simulate the effects of multiple black swan events to understand profitability of flash liquidity pool (FLP) and more. Details can be found in our code repository found here.

The Flash Beasts

Flash Beast was a collection of 5,555 3D evolutionary NFTs featuring bulls and bears. The collection was minted on December 19, 2023, at approximately $220 per NFT. Flash Beast was created to bootstrap initial liquidity for Flash Trade, with the mint funds seeding the platform's liquidity pool. All fees generated from this liquidity were distributed back to NFT holders and in less than a year the NFT had recovered its entire mint cost just in fees alone.

The Flash Beast was used to gamify the incentive mechanism on the platform. Instead of doing a regular vanilla points program where users try to bot farms with the intent to game the system, we decided to use flash beast nft itself as a rewards mechanism.

The Beasts came with an entire reward and benefit system attached to them. Holders were able to gain Voltage Points (VP) based on their activity on the platform which lead to access to greater levels of their NFT. The higher VP lead to higher levels on your Flash Beast NFT which unlocks higher tier of perks which include high fee discounts, referral rebate and yield boost on providing liquidity.

We saw some beast holders earning $5000 worth of referrals in a week and the power users of the platform saving thousand of dollars in trading fees using the Flash Beast NFT.

On 15th April 2025 the reward program of the Flash Beast NFT came to its conclusion and the nfts were converted to $FAF, the amount of which dependent on the level of the Flash Beast NFT.

The page to convert the Flash Beast NFT to $FAF is open till 15/10/2025 post which all unclaimed FAF will be burned from existence. You can find the link to claim your FAF

FAQs

What is Flash.Trade?

Flash is a decentralized spot and perpetuals exchange on Solana that lets you trade with up to 100x leverage, low fees, and minimal price impact. Its trading engine is powered by a unique multi-asset, pool-to-peer, oracle-based system; the first of its kind on Solana. Additionally, staking FAF token unlocks best in class fee discounts, higher yields for liquidity providers, increased referral rebates, and rewards for using the platform every 30 days.

How does Flash.Trade offer minimal price impact trades?

Flash Trade relies on dynamic pricing via Pyth oracles, aggregating prices from 20+ volume exchanges. By leveraging oracles, we adjust fees dynamically to always fill orders with the most optimal quote. The core pool-to-peer engine guarantees adequate margins and risk

For Liquidity Providers

Why should I provide liquidity on Flash.Trade?

Providing liquidity on Flash qualifies you to earn protocol fees generated by traders. 70% of Fees collected goes back to the LPs and for FAF stakers depending on the level users can get upto 21% additional yield.

Where does my yield come from?

As a liquidity provider, your yield comes from:

  • fees generated by traders via swaps, borrows, and open positions

  • liquidations

Do I need to stake FLP to earn Fees?

Yes! After staking, your FLP goes in Pending Staked FLP, which is automatically moved to Staked FLP in 24 hours.

When is the Fees Distributed to LPs?

At 8am UTC everyday!

What is difference between APR and APY?

APR shown on the UI is average of weekly yield while APY shown on hover is compounded one. They both update when fees is distributed at 8am UTC

About FAF Token

What is FAF?

FAF is the reward, utility and governance token of Flash Trade and unlocks massive perks for users of the platform. The majority of FAF supply (80%) were distributed to the early supporters after transitioning from The Flash Beast to FAF. You can read more about the Flash Beast and the role it played in early growth of Flash Trader from here

What can FAF be used for?

FAF can be staked to earn utility such as discount on trading fee, higher referral rebates and yield boost.

What are levels?

Levels are earned based on the amount of FAF you stake. The more FAF you stake the higher will be your Level and higher tier of utility

What are Voltage Points?

Voltage points are the points you earn for your activity on the platform directly or indirectly. The Voltage Points helps you get a higher rank at the end of each epoch and earn Rewards Multiplier

How to earn Voltage Points?

There are 3 ways to earn Voltage Points - Trading | LP'ing | Referring.

  • 10$ of Cumulative trading -- 1 Voltage Point

  • 1$ in earned fees as LP -- 50 VP

  • 1$ in earned rebates from your referral link -- 250 VP

Crude-Oil, EUR, GBP, AUD, Gold, and Silver

here
Contract Address
TopLedger
June 2025 Report
May 2025 Report
April 2025 Report

How to Create a Referral Link

Flash Trade's referral program allows you to earn rebates from users you bring to the platform. This guide will walk you through the process of creating your custom referral link.

Prerequisites

  • A connected Solana wallet (Phantom, Backpack, Solflare, or your preferred wallet)

  • Access to the Flash Trade platform at flash.trade

Step-by-Step Instructions

Navigate to the Token Page

From the main trading interface, locate and click the Token tab in the top navigation menu to access the token staking page.

Access the Utility Tab

Once on the Token Staking page, you'll see several tabs at the top. Click on the Utility tab to view the referral program.

Create Your Custom Referral Code

In the Utility section, you'll find the referral management area. Click the Create Custom Referral button to begin setting up your personalized referral link.

Enter Your Referral Code

A modal will appear asking you to create your custom referral code. Enter your desired code in the input field. Note that:

  • Your referral code must be at least 3 characters long

  • Choose something memorable and unique to you

Generate Your Referral Link

After entering your custom code, click the Create button to generate your referral link.

Copy and Share Your Link

Once created, your referral link will be displayed in the referral section. You can copy this link and share it with others to start earning referral rewards.

Referral Program Benefits

When users sign up and trade using your referral link, you'll earn:

  • Base 2% rebate from referred users' trading fees

  • The rebate percentage may vary based on your VIP level

  • Referrals also help you earn Voltage Points (VP) for additional rewards

Important Notes

  • Your referral rebates are paid out automatically

  • You can edit your referral code later if needed

  • Track your referral performance in the same Utility section

  • Referral earnings contribute to your overall Voltage Points for additional multipliers (learn more)

Start building your network and earning passive income through Flash Trade's referral program today!

Support Resources

  • Join the community Discord for real-time support. Remember: legitimate support will never ask for your private keys or recovery phrase.

  • Review FAQ section for common questions

Collecting sFLP USDC Rewards

sFLP (Staked Flash Liquidity Pool) tokens earn hourly USDC rewards from trading fees generated on Flash Trade. Unlike FLP.1 which auto-compounds, sFLP requires manual claiming of rewards.

In the GIF above there is two ways where you are able to claim your hourly rewards paid out in USDC for sFLP Pools.

How to Collect Your Rewards

Navigate to the Earn Page

  1. Go to Flash.Trade and click the "Earn" tab.

  2. Find your sFLP rewards using either method:

    1. Quick Method:

      • Look for "Your Active Positions" (desktop) or "Liquidity Summary" (mobile) at the top of the page.

      • Click on your sFLP pool position (Crypto, Stable, DeFi, Meme, WIF, SAMO, FART).

    2. Pool Cards Method:

      • Find "Flash Liquidity Pools" section.

      • Hover (desktop) or tap dropdown arrow (mobile) on your desired pool.

      • Click "Discover More"

Check Your Rewards

In the "Your Position" panel, you can view:

  • LP Rewards: Your accumulated USDC rewards

  • Weekly APR: Current annual percentage rate

  • sFLP Balance: Amount of sFLP tokens you hold

Claim Your Rewards

  1. Click the "Collect Rewards" button

  2. Confirm the transaction in your wallet

  3. USDC rewards will be transferred to your wallet


Important Notes

Reward Schedule

  • Rewards accumulate hourly based on trading activity

  • Higher trading volume = higher reward distributions

  • Rewards are paid in USDC

No Minimum Claim

  • You can collect rewards at any time

  • No minimum balance required to claim

  • Consider gas fees when claiming smaller amounts

Continuous Earning

  • sFLP now earns Voltage Points (VP) continuously

  • VP accumulates even without claiming rewards

  • Track your VP in the staking leaderboard

Need Help?

For additional support or questions about using Flash Trade, consult with us on Discord. Remember: legitimate support will never ask for your private keys or recovery phrase.

How to Stake & Unstake FAF

Step by Step Guide

Connect Your Wallet

First things first - hit that "Get Started!" button in the top right corner and connect your preferred Solana wallet (Phantom, Solflare, etc.).

Get Some FAF (If You Need It)

Don't have FAF yet? No worries!

  1. Click on the "Swap" tab

  2. Enter how much USDC, SOL, etc... you want to swap for FAF

  3. Set your slippage tolerance (usually Auto works fine)

  4. Hit "Connect Wallet" if you haven't already

  5. Confirm the swap and you're good to go!

Staking Your FAF

Navigate to Staking

  1. Click on the "Token" tab in the main navigation

  2. This takes you straight to the FAF Staking page

Stake Your Tokens

  1. In the "Enter Amount" field, type how much FAF you want to stake

  2. Click the "Stake" button

  3. Confirm the transaction in your wallet

  4. Boom! You're now earning rewards and Voltage Points

Pro tip: You can see your current staking APY right there on the page - currently showing 17% in the example!


Tracking Your Progress

Check the Leaderboard

Want to see how you stack up? Click the VP Leaderboard button to see:

  • Your current rank

  • Total Voltage Points earned

  • How much FAF others have staked

  • Where you stand for the current epoch

The leaderboard shows everything from trading volume to fees earned by LPs - it's pretty cool to see the community in action!


Unstaking Your FAF

When You're Ready to Unstake

  1. Stay on the Token Staking page

  2. Click the "Unstake" tab

  3. Choose your unstaking method:

    • Delayed: No fees, but you'll wait 30 days

    • Instant: 3% flat fee for immediate access

Complete the Unstake

  1. Enter the amount you want to unstake

  2. Select your preferred method (Delayed or Instant)

  3. Click "Unstake"

  4. Confirm with your wallet

Remember: To earn full rewards during an epoch, your staked tokens should stay put for the full duration. Unstaking early might reduce your rewards to 50%.

Quick Tips 💡

  • Staking Epochs: Each epoch lasts about 30 days

  • Voltage Points: Earned through trading, LP participation, and referrals

  • Rewards: Higher rank = better multipliers (up to 2x)

  • Minimum Stake: Check the current minimums on the staking page

Need Help?

For additional support or questions about using Flash Trade, consult with us on Discord. Remember: legitimate support will never ask for your private keys or recovery phrase.

FAF claim for beast NFT holders

Overview

Flash Beast NFT holders can convert their NFTs to $FAF tokens by burning them. The $FAF allocation depends on your Beast's level, with higher levels receiving significantly more tokens.


Conversion Allocations

Each Flash Beast level corresponds to a specific $FAF allocation:

Beast Level
$FAF Allocation

Level 1

29,909.66

Level 2

59,819.33

Level 3

89,728.99

Level 4

179,457.98

Level 5

418,735.29

Level 6

897,289.91


How to Convert

🔗 Conversion Link: Convert your Flash Beast here

Choose Your Conversion Method

Option 1: Burn & Stake ✅ Recommended

  • Burns your Flash Beast NFT

  • Converts to full $FAF allocation

  • Tokens are automatically staked for rewards

  • No penalty fees

Option 2: Burn & Claim

  • Burns your Flash Beast NFT

  • Converts to $FAF allocation with 5% penalty

  • Tokens are NOT automatically staked

  • Must manually stake from Token page


Important Notes

  • Permanent Action: Burning your Flash Beast NFT is irreversible

  • FLP Treasury: Underlying FLP from burned NFTs moves to protocol treasury to fund development

  • Maximize Rewards: Choose "Burn & Stake" to avoid penalties and start earning immediately

Reward, Utility & Governance

Staking FAF unlocks rewards and utility on the platform.

Rewards

These rewards are the $FAF that you earn by staking your $FAF. The rewards come from the 9.6% of $FAF supply that is reserved for first year rewards. These rewards are distributed between the $FAF stakers at the end of each epoch using a combination of time weighted stake and a custom multiplier based on Voltage Points accrued.


Utility

The utility of $FAF on the platform depends on your VIP Level which is maintained by staking $FAF. The higher the amount of $FAF you have staked the higher will be your VIP level leading to higher utility and perks.

These include:

Fee Discounts - Gives you discount on the base fee on trading perpetuals.

Referral Rebates - Gives you higher percentage of rebates from your referrals.

Rev Share - Give 50% of the protocol revenue to FAF token stakers.

Spot LO Discounts - Fee Discounts on any limit orders on spot markets. (coming soon)

DCA Discounts - Fee Discounts on any DCA type orders on spot market. (coming soon)

NOTE: Yield Booster mentioned above has been removed with the recent Futarchy governance proposal that passed. Yield Booster has now been converted to Rev Share for FAF stakers.


Governance

We’re embracing Futarchy, a governance model that uses prediction markets to guide decisions. Learn more here.

Technical Architecture of Staking

Staking $FAF

Staking of $FAF follows an epoch system to distribute rewards rather than being perpetual. The length of each epoch is of 30 days. Users can stake anytime within the 30 days time frame of an epoch however their rewards will be time weighted to remain fair for all.

At the end of each epoch the rewards are calculated based of your time weighted stake of $FAF and any other bonus multiplier depending on your VP. (You can read more about it in the Reward Multiplier section)

Unstaking $FAF

Unstaking of $FAF can be done via 2 methods

Request

You can request $FAF to be unstaked anytime and it will be available to withdraw in 30 days from the time of request. Once request initiated the amount of $FAF will be excluded from your VIP Level calculation going forward as well as calculation toward your staked weight rewards. The previously earned rewards upto the time of unstake in the epoch remains and can be claimed at epoch end. This method of unstaking has 0 fees on it.

Instant

Here you can immediately unstake your $FAF and receive it in your wallet. There is no waiting for the epoch to be over. Once unstaked the amount of $FAF will be excluded from your VIP Level calculation going forward as well as calculation toward your staked weight rewards. The previously earned rewards upto the time of unstake in the epoch are forfeited and can’t be claimed at the end of the epoch. This method unstaking has a 3% fee penalty on it.

Voting on Proposals

How It Works

Two Conditional Markets

Every proposal creates two separate markets:

PASS Market - Trade here if you think the proposal will benefit Flash Trade

FAIL Market - Trade here if you think the proposal will hurt Flash Trade

These work like conditional limit orders - whichever side gets approved executes on-chain.


Getting Started

You'll need either FAF or USDC tokens to participate:

  • Get them on our swap page

  • Or un-stake FAF with zero fees during the proposal period on the token page


Trading Strategies


Understanding Outcomes

The beauty of Futarchy is in the conditional execution:

1

Your trade only happens if your predicted outcome occurs

2

Wrong predictions get refunded - you don't lose your principal

3

Right predictions execute at market prices.

Reminder:

  • Markets determine the outcome based on Time-Weighted Average Price (TWAP)

  • Higher market price = stronger signal for that outcome

  • Community discussion happens in our Flash Labs Discord channel.

    • More details about participating here.

Risk Disclaimer

This guide is educational only. Trading involves risk, and you should always do your own research. Nothing here constitutes financial advice.


Ready to participate? Head to MetaDAO to trade on active proposals and help decide Flash Trade's future.

Market Hours

Markets will follow the hours below:

Asset Class
Opening Hours
Exceptions

Crypto

24/7

No market close

US Equities

Every weekday from 9.30AM ET to 4PM ET

Markets are closed on weekends, US Holidays, and during extraordinary events

FX

From Sunday 5PM ET to Friday 5PM ET; With a 60-minute break each day beginning at 5:00PM ET

Trading continues during most US holidays

Metals

From Sunday 5PM ET to Friday 5PM ET; With a 60-minute break each day beginning at 5:00PM ET

Spot gold and silver trading also follow

Oil

From Sunday 6PM ET to Friday 5PM ET; With a 60-minute break each day beginning at 5:00PM ET

Oil follow

What Do I Need To Trade

Flash Trade is a decentralized exchange (DEX) built on the Solana blockchain that enables fast, on-chain trading and liquidity provision. Before you start trading, you'll need to set up a few essential components.

1. Solana Wallet

Flash Trade supports popular Solana wallets including:

  • and more...

First Time on Solana?

If you're new to Solana, start by downloading a wallet. Each wallet will guide you through creating your first Solana address and securing your account.

Critical Security Information

⚠️ Protect Your Recovery Phrase

  • Your wallet generates a secret recovery phrase (seed phrase) - this is the master key to your funds

  • Never share your recovery phrase or private keys with anyone, including Flash Trade support

  • Anyone with access to these credentials can control your entire wallet

2. Supported Assets & Fees

Flash Trade currently supports trading and liquidity provision for the following Solana-based tokens:

Major Cryptocurrencies - SOL, BTC, ETH, USDC

Alts & DeFi Tokens - JUP, PYTH, JTO, RAY, KMNO, W

Meme & Community Tokens - BONK, PENGU, WIF, SAMO, FARTCOIN

Forex & Metals - XAU, XAG, EUR, GBP, AUD

Derivatives - Crude Oil

Transaction Fees

Since Flash Trade operates on Solana, every transaction requires a small amount of SOL to pay network fees. Make sure to keep some SOL in your wallet for transaction costs.

3. Platform Access & Security

Official Website

Always access Flash Trade exclusively through:

Security Warning

🚨 Avoid Phishing Scams

  • Bookmark the official URL and only use that bookmark

  • Be wary of links from social media, emails, or messaging apps

  • Scammers create fake websites that look identical to steal your funds

  • When in doubt, manually type into your browser

What to Look For

Before connecting your wallet, verify:

  • The URL shows exactly "flash.trade"

  • Your browser shows a secure connection (lock icon)

  • The site design and functionality match what you expect

Getting Started Checklist

Before your first trade:


Helpful Guides on What to Do Next


Need Help?

For additional support or questions about using Flash Trade, consult with us on . Remember: legitimate support will never ask for your private keys or recovery phrase.

How to Claim Epoch Rewards

FAF stakers earn rewards at the end of each 30-day epoch through Flash Trade's hybrid reward system, which combines stake-based rewards with activity-based Voltage Points. This guide walks you through claiming your accumulated rewards.

Prerequisites

Before claiming your epoch rewards, ensure you have:

  • A connected Solana wallet (Phantom, Solflare, Backpack, etc.)

  • Previously staked FAF tokens during the completed epoch

  • Earned Voltage Points (VP > 0) during the epoch - required for any rewards


Understanding the Current Reward System (Epoch 4+)

For Staked FAF Holders

Your rewards come from a 50/50 split:

  • 50% Stake-Based Rewards: Based on your proportional FAF stake

  • 50% VP-Based Rewards: Based on your Voltage Points ranking

For Non-Staked Participants

  • Receive VP-Based Rewards only

  • Must REGISTER for the VP program before earning any rewards

  • Effective VP calculated with 50% penalty applied

Critical Requirement

You must have VP > 0 to receive any rewards, even if you have staked FAF.

Critical Requirement

Step-by-Step Claiming Process

1

Connect Your Wallet

If you haven't already connected your wallet:

  1. Navigate to

  2. Click "Connect Wallet" in the top-right corner

  3. Select your preferred Solana wallet

  4. Approve the connection request in your wallet

Important

Make sure you're connecting the same wallet that contains your staked FAF tokens.

2

Navigate to the Token Page

  1. Once your wallet is connected, click on the "Token" tab in the main navigation menu

  2. This will take you to the FAF Token Staking page where you can manage all staking-related activities

3

Claim Your Epoch Rewards

  1. On the Token Staking page, locate the rewards section

  2. Look for your "Rewards Claimable" amount - this shows your accumulated FAF rewards from the completed epoch

  3. Click the "Claim FAF" button to initiate the claiming process

  4. Confirm the transaction in your wallet

  5. Your FAF rewards will be transferred directly to your wallet

Reward Schedule

  • Epoch Duration: 30 days

  • Claiming Window: Available anytime after epoch conclusion

  • No Expiration: Unclaimed rewards remain available indefinitely

Troubleshooting

No Claimable Rewards Showing

  • Verify you participated during the completed epoch

  • Check that you're using the correct wallet

  • Ensure the epoch has actually concluded

Transaction Failures

  • Ensure sufficient SOL for transaction fees

  • Try increasing priority fee settings in your wallet

  • Check Solana network status for congestion

Wallet Connection Issues

  • Clear browser cache and reconnect

  • Disable interfering browser extensions

  • Try a different supported wallet

Learn More

For detailed information about the hybrid reward system, Voltage Points mechanics, and ranking calculations, visit our documentation page.

Support

Need additional help claiming your rewards?

  • Join our for real-time support

  • Visit our for common questions

Security Reminder

Legitimate Flash Trade support will never ask for your private keys or recovery phrase.


Remember

The current system requires both FAF staking AND platform activity (VP > 0) to earn rewards. Passive staking without activity will not generate any rewards.

Ecosystem Partners

Flash Trade has integrations with leading DeFi protocols across Solana to maximize the utility and yield potential of FLP tokens.

Getting Started

Before engaging with partner protocols:

1

Hold FLP tokens from Flash Trade ()

2

Understand leverage mechanics and associated risks

3

Assess your risk tolerance and market outlook

4

Start small to familiarize yourself with each platform's mechanics

Each partner protocol has specific requirements and optimal strategies. Consult individual integration pages for detailed implementation guides.


Partner Protocols Guides


Triple Rewards Systems

The unique advantage for Flash Trade FAF stakers () is earning rewards simultaneously across both Flash Trade and partner platforms:

Flash Trade Voltage Points (VP)

FLP deployed across partner platforms continues generating VP at the standard rate of 50 points per dollar of LP fees earned. Leveraged or optimized positions often generate more trading fees, resulting in accelerated VP accumulation. ()

Partner Protocol Rewards

Each partner offers additional reward mechanisms:

  • : Points through lending, borrowing, and loop management. 2X VP Boost

  • : Trading fees from yield arbitrage and liquidity provision. 1.5X VP Boost

  • : Points through team participation and leveraged positions.

  • : Points through yield trading, earning, and liquidity provision.

Revenue Sharing

50% of all protocol fees go to FAF stakers. All revenue shares are distributed in USDC every 6 hours. You can claim your accumulated revenue share at any time through the staking interface. ()


Risk Considerations

While partner integrations offer enhanced returns, users should understand the additional risk factors:

Universal FLP Risks

  • Volume Dependency: FLP returns depend on Flash Trade trading activity

  • Platform Risk: Additional smart contract exposure beyond Flash Trade

  • Market Correlation: Crypto downturns can affect both FLP values and trading volumes

Leverage-Specific Risks

  • Liquidation Risk: Higher leverage increases liquidation probability

  • Interest Rate Volatility: Borrowing costs can fluctuate with utilization

  • Time Sensitivity: Some strategies have maturity dates or time decay effects


Security Reminders

  • Always verify you're using official partner platform URLs

  • Legitimate support will never ask for private keys or recovery phrases

  • Start with small amounts when testing new strategies

  • Monitor positions regularly, especially leveraged ones

Pricing Engine

This document outlines our operational guidelines for handling price volatility and wide confidence intervals when utilizing the reported price provided by Pyth as our primary pricing reference. These guidelines ensure accurate pricing and informed decision-making in various market conditions.

Volatility Considerations

We monitor market volatility by comparing the reported price to the exponential moving average () reported by Pyth’s oracles. If the difference between these prices exceeds a predefined threshold, the High Volatility Flag is set for the said asset. If it exceeds a greater threshold, then Close Only mode will be active restricting all interactions except liquidations, closing position, and removing liquidity.

Thresholds for "High Volatility Flag"

  • Pool 1 assets: ~2% difference between EMA and Spot.

  • Metals: 0.66% difference between EMA and Spot.

  • Currencies: 0.33% difference between EMA and Spot.

  • Pool 3, 4, 5 asset: ~5% difference between EMA and Spot.

Crypto Assets

Asset
Threshold

Handling High Volatility

During periods of the High Volatility Flag we use confidence intervals reported by Pyth to establish an acceptable price range. The reported price serves as a baseline and depending on the accounting being done, there will be a maximum price and minimum price computed by adding/subtracting the confidence interval from the reported price. The protocol in this mode will be using the more conservative of either price when it comes to evaluating the state of user’s positions or liquidity pool shares.

Wide Confidence Intervals

In situations where Pyth's confidence interval is exceptionally wide, indicating potential variance in the reported price, the protocol goes in Close Only mode. Prices reported by Pyth are considered invalid if the volatility flag is set and the value of confidence interval exceeds 1% of the reported price. To ensure functionality of the protocol during these times and consistent on-chain pricing, Flash will use proprietary backup oracle system to ensure protocol is functional.

Volatility based fee

During periods of the High Volatility Flag threshold being active, flash's margin adds a fixed fee to new position opening to protect LPs and imitate an orderbook spread that happens during volatile times. This fee is only added on opening a position and increasing size on a existing position when the High Volatility flag is active.

Market
Volatility fee

Detailed fee table which is subject to change according to risk profile of markets can be found

Wide Confidence Intervals with Moderate Volatility

If the volatility flag is not set but the confidence interval reported by pyth is wide (>1% of reported price), we continue relying on Pyth's reported price. In such cases, the wide confidence interval itself does not necessitate corrective action.

Handling Stable Coins

For stable coins, we assess the difference between the reported price and the benchmark of $1 to flag volatility. If the difference exceeds the threshold the High Volatility flag is set and we compute the minimum price by discounting the confidence interval from the reported price while the reported price is established as maximum price. Instructions involving actions that convert nominal usd values to token amounts like swaps and removing liquidity are calculated based on the $1 benchmark.

Size Based Spread

As traders increase their trade size from $1 to $1,000,000, there will be progressively wider spreads applied to their entry and exit prices. The specific spread amounts correspond to the values detailed in the table below.

Market
Spread Ranges

Conclusion

These guidelines outline our approach to managing price volatility and handling wide confidence intervals in our operations. By adhering to these guidelines, we ensure accurate pricing and well-informed decisions across diverse market conditions. We will continue adapt our strategies to changing market dynamics, maintaining the reliability and effectiveness of our price management practices.

Build On Flash

Integrating with Flash.trade made easy

Introduction

Flash.trade SDK written in typescript provides the easist way for developers, partners and others to integrate with flash.trade. This page will walk you through setting up the flash client, creating transactions and executing them.

Install the Flash SDK

Setting up the Flash SDK

Detailed Example:

Checkout the public repo .

NOTE : if you are using AnchorProvider it is necessary to pass ANCHOR_WALLET as an environment variable. This wallet/keypair doesn't have to sign the transaction but if you are using it as part of the view functions then this wallet pubkey will be used for simulations. It also needs be initialized, i.e has to have some SOL in it.

CME holiday closures
CME holiday closures

BTC

2.1%

ETH

2.5%

SOL

3.5%

JITO

5%

JUP

5%

PYTH

4.5%

W

5%

BONK

6.3%

Bitcoin

8bps

Ethereum

11bps

Solana

15bps

Bitcoin

0%-0.04%

Ethereum

0%-0.06%

Solana

0%-0.12%

EMA
here
npm install flash-sdk

yarn add flash-sdk
import { AnchorProvider, BN } from "@coral-xyz/anchor";
import { PerpetualsClient, PoolConfig } from 'flash-sdk';

const RPC_URL = process.env.RPC_URL;

// Configure the AnchorProvider
const provider: AnchorProvider = AnchorProvider.local(RPC_URL, {
    commitment: 'processed',
    preflightCommitment: 'processed',
    skipPreflight: true,
});

// Configure the pool you want to interact with 
// for devnet : devnet.1,devnet.2,devnet.3,devnet.4,devnet.5
// for mainnet : Crypto.1,Virtual.1,Governance.1,Community.1,Community.2
// all the pool details can be found by running `code ./node_modules/flash-sdk/dist/PoolConfig.json`
const POOL_CONFIG = PoolConfig.fromIdsByName('Crypto.1', 'mainnet-beta'); 

// You can now setup the Flash client
const flashClient = new PerpetualsClient(
    provider,
    POOL_CONFIG.programId,
    POOL_CONFIG.perpComposibilityProgramId,
    POOL_CONFIG.fbNftRewardProgramId,
    POOL_CONFIG.rewardDistributionProgram.programId,
    {
        prioritizationFee: 0, // this can be set dynamically by calling flashClient.setPrioritizationFee
    }
)
here
Phantom
Backpack
Solflare
https://flash.trade
https://flash.trade
https://flash.trade
Discord
Cover

Make Your First Trade

Cover

How to Create a Referral Link

Cover

How to Stake & Unstake FAF

Cover

How to Mint or Burn FLP/sFLP

Cover

Collecting sFLP USDC Rewards

Cover

Troubleshooting Guide

flash.trade
Voltage Points and FAF Rewards System
Discord community
FAQ section

Revenue Sharing

FAF stakers earn a direct share of Flash Trade's protocol revenue through our continuous revenue sharing mechanism. This system distributes 50% of all protocol fees directly to FAF stakers based on their proportional stake in the pool.

How Revenue Sharing Works

Continuous Distribution

Revenue sharing operates on a continuous basis, similar to our sFLP system. Your share of protocol revenue is calculated based on your proportional stake in the total FAF staking pool and accrues in real-time as trading activity generates fees.

Distribution Mechanics

1

Revenue Split

50% of all protocol fees go to FAF stakers, 50% retained by the protocol

2

Distribution Currency

All revenue shares are distributed in USDC every 6 hours

3

Claiming

You can claim your accumulated revenue share at any time through the staking interface

4

Pro-rata Calculation

Your share is determined by:

(Your Staked FAF / Total Staked FAF) × Available Revenue Pool

Technical Architecture

Vault System: Every 6 hours, protocol fees are automatically moved to separate vaults:

  • 50% → Protocol operational vault

  • 50% → Community revenue distribution vault

On-Chain Updates: Revenue balances are updated on-chain when any user performs these actions:

  • Stake FAF tokens

  • Unstake FAF tokens (request or instant)

  • Claim revenue

This means your claimable amount updates dynamically based on community activity.

⚠️ Important Considerations

Unstaking Impact

You stop accumulating revenue share when you submit any unstaking request, regardless of whether you choose instant (3% penalty) or delayed (30-day) unstaking. However, any revenue accumulated before unstaking can still be claimed.

Distribution Threshold

During periods of low trading activity, smaller revenue amounts may accumulate before distribution to optimize gas efficiency. This ensures meaningful distribution amounts for all stakers.

Claiming Your Revenue

1

Navigate to the Token page in your Flash Trade dashboard

2

Check your "Your Revenue Share" amount

3

Click "Claim Revenue" to receive USDC directly to your wallet

4

Revenue continues accruing as long as your FAF remains staked


Revenue vs. FAF Rewards

Revenue sharing is distinct from FAF staking rewards:

Feature
Revenue Sharing
FAF Rewards

Source

Protocol trading fees

Reserved FAF token supply

Currency

USDC

FAF tokens

Distribution

Continuous/every 6 hours

Epoch-based (30 days)

Multipliers

No multipliers

Voltage Points multipliers apply

Both systems work simultaneously - you earn both USDC revenue share and FAF token rewards while staking. Find out more about FAF Rewards here.


Revenue sharing went live in June 2025 as part of Flash Trade's commitment to sharing protocol success directly with our community of FAF stakers and was voted on using the Futarchy governance model. Find out more here.

learn more
learn more
learn more
Loopscale
Sandglass
NX Finance
RateX
learn more
Cover

Loopscale is a fixed-rate lending protocol that uses an order book architecture to provide structured yield products called "Loops." 2X VP Boost

Cover

Sandglass is Solana's first pool-based yield trading protocol that splits yield-bearing tokens into principal and yield components. 1.5X VP Boost

Cover

NX Finance is Solana's pioneering yield layer protocol providing yield leveraging through the Fulcrum Strategy.

Cover

RateX is the world's first leveraged yield exchange that enables margin and spot trading of yield tokens across multiple chains.

Degen Mode

Degen Mode is Flash Trade's ultra-high leverage trading environment designed for experienced traders seeking maximum position amplification. This advanced trading mode removes traditional safety constraints while implementing strict risk controls to maintain platform stability.

Critical Disclaimer

Degen Mode is an experimental high-risk trading environment. This feature is designed for expert traders only. The extreme leverage available can result in rapid and complete loss of capital. Only trade with funds you can afford to lose entirely.

Overview

Degen Mode enables traders to access leverage beyond standard limits with zero swap fees and enhanced liquidation thresholds. This mode is specifically designed for sophisticated trading strategies requiring extreme position sizing.

Currently Available Assets:

Asset
Max leverage
Max position size
Max exposure

SOL

500

100k

450k

BTC

500

250k

833k

ETH

500

100k

375k

Key Features

Enhanced Leverage Limits

  • Starting Leverage: 125x

  • Maximum Leverage: 500x liquidation threshold

  • Liquidation Buffer: Extended maintenance margin requirements

Zero Trading Costs

  • Swap Fees: Completely eliminated on all trades

  • Position Fees: Standard open/close fees still apply

  • No Fee Discounts: VP-level discounts are disabled in Degen Mode

Strict Position Controls

  • Minimum Position Size: Higher entry requirements than normal mode

  • Maximum Position Cap: Strict upper limits to manage platform risk

  • Size Verification: Automatic validation of position parameters

Voltage Points Boost

  • Enhanced VP Earning: Multiplier boost on all Voltage Points earned


Mode Restrictions

Trading Limitations

  • No Limit Orders: Market orders only - limit order functionality disabled

  • No TP/SL Support: Take profit and stop loss orders unavailable

  • Market Orders Only: Instant execution at current market prices

Transition Controls

  • Entry Restriction: Cannot transition from normal mode using "remove collateral"

  • Exit Freedom: Can transition from Degen Mode to normal mode without restrictions

  • Position Management: Existing positions must be closed before mode switching


User Interface Changes

Leverage Controls

  • Slider Range: Starts at 125x leverage minimum

Disabled Elements

  • Limit Order Tab: Completely hidden from interface


Risk Considerations

Extreme Risk Warning

Degen Mode involves significantly higher risk than standard trading:

  • Rapid Liquidation: Positions can be liquidated with minimal price movement

  • No Safety Net: Limited risk management tools available

  • Maximum Loss: Potential for complete position loss within seconds

  • Platform Limits: Strict position caps to protect overall system stability

Capital Requirements

  • Higher Minimums: Substantial capital requirements for entry

  • Risk Tolerance: Only suitable for traders comfortable with extreme volatility

  • Experience Level: Designed for advanced traders with proven risk management


Important Limitations

  • Asset Restriction: Currently limited to SOL, BTC, and ETH

  • Feature Gaps: Many standard trading tools unavailable


Need Help?

Join our Discord community for real-time support.

Remember:

Legitimate support will never ask for your private keys or recovery phrase.

Liquidity Providing

Liquidity is added to Flash Trade pools by liquidity providers (LPs) who deposit assets to facilitate trading. Each trade that passes through Flash protocol generates dynamic fees, and LPs earn their pro-rata share of these revenues while serving as the counterparty to all trader positions.

How Liquidity Providing Works

When you provide liquidity to Flash Trade, you deposit assets into multi-asset pools that traders use for perpetual trading. In return, you receive FLP tokens representing your pool ownership and earn fees from all trading activity.

Revenue Sources for LPs

LPs generate yield through multiple fee streams:

  • Open/Close Position Fees: Charged on every trade execution

  • Margin Fees: Continuous fees on leveraged positions

  • Swap Fees: When users convert between pool assets

  • Liquidation Bonuses: Remaining collateral from liquidated positions

  • Add/Remove Liquidity Fees: Dynamic fees from other LPs joining/leaving

Additionally, when traders lose money, those losses flow directly to LPs as profits.

Choosing Your LP Token Type

Flash offers two liquidity providing options with different reward mechanisms:

FLP vs sFLP Tokens

Flash offers two types of liquidity providing tokens with different reward mechanisms:

Feature

Reward Style

Auto-compounds into token price

Paid out in USDC every hour

Fee Share

70% of protocol fees

70% of protocol fees

Tradability

Buyable/sellable on markets

Mint-only, non-tradable

Management

Set-and-forget

Active reward collection required

Voltage Points

Yes

Yes

Best For

Passive investors

Users wanting direct USDC payouts

Getting Started

1

Choose Your Pool

Select from FLP.1 (main crypto pool) or FLP.3 (Solana DeFi pool)

2

Select Token Type

Decide between auto-compounding FLP or manual-claim sFLP

3

Deposit Assets

Add any supported pool asset (optimal deposits help balance ratios)

4

Receive LP Tokens

Get FLP/sFLP tokens representing your pool share

5

Earn Fees

Start earning from all trading activity immediately

Dynamic Fee Structure

Minting and burning FLP tokens incurs fees that vary based on pool composition:

Fee Optimization:

  • Lower Fees: Deposit underweight assets (below target ratio)

  • Higher Fees: Deposit overweight assets (above target ratio)

  • Balance Incentive: Fee structure naturally encourages pool balance

Burning Fee Components:

  • Dynamic fee based on pool balance after withdrawal

  • Additional 5bps penalty to discourage frequent withdrawals

  • Fees help maintain pool stability and long-term LP profitability


How APRs are displayed on Flash Trade's Earn page

Flash Trade's Earn page shows two different return calculations:

  • Default Display: 7-day rolling average APR

  • Hover Display: Previous day's annualized return

These numbers reflect actual LP performance including all fee sources and trader PnL.

Risk in providing Liquidity to Flash Liquidity Pools

LPs should be aware of the following risks when providing liquidity:

  • Trader Utilization Risk: In a Pool-to-Peer system, LPs are constantly borrowing exposure to their assets appreciation in exchange for trading fees (both open/close and margin fees). This implies that LPs serve as the counterparty to traders on average. It is possible for traders to be on the right side of trades across relatively long times (months) but in the long run, Flash's fee structure and pricing engine will not allow for profits in the long run.

  • Asset Depreciation Risk: Since FLP is made up partially of crypto currency assets, its value will fluctuate with the prices of those assets. There is Trader Utilization Risk as described above that will amplify or mitigate this effect in the short-term but in the long run, if crypto prices increase, LPs returns will follow and vice-versa.

  • Latency Risk: In the case that the used oracle is providing a delayed price, a trader may be able to overcome the fee structure to provide themselves with consistently +EV trades. Flash's internal risk systems monitors all traders for behavior that would signify this is happening and adjust fees and spreads to ensure such trading is not possible.

  • Smart Contract Risk: There is a possibility of on-chain contract logic being exploited. The team's code has been double audited in order to lower this possibility as much as possible.

Making Your First Trade

This guide walks you through placing your first trade on Flash Trade, covering all essential features and risk management tools.

Prerequisites

Before you begin:

  • Ensure your Solana wallet is connected to Flash Trade

  • Have sufficient SOL for transaction fees

  • Verify you have funds available for trading (USDC, SOL, or other supported assets)

Platform Overview

Flash Trade's interface consists of three main sections:

  • Trading Chart: Real-time price action and technical indicators

  • Market Selection: Available trading pairs displayed at the top

  • Order Panel: Trade execution interface on the right side

Step 1: Select Your Trading Pair

  1. Click the dropdown menu in the trading pair section (top of the interface)

  2. Browse available markets or use the search function

  3. Select your desired trading pair (e.g., SOL/USDC)

  4. The chart and order panel will update to reflect your selection

For this tutorial, we'll use SOL as our trading asset.

Step 2: Setting Up Your Trade

Choose Position Direction

  • Long: Select if you expect the asset price to increase

  • Short: Select if you expect the asset price to decrease

  • Limit Orders for both Long and Short are available also.

Configure Position Size

  1. Enter your desired position size

  2. The system automatically calculates Liquidation Price and Fees based on leverage amount.

Adjust Leverage

  • Use the leverage slider to adjust your leverage

  • Higher leverage amplifies both potential gains and losses

  • Flash Trade supports up to 100x leverage on select pairs

Step 3: Risk Management Settings

Take Profit (TP)

  • Set your target profit level

  • Position closes when price reaches this level

Stop Loss (SL)

  • Define your maximum acceptable loss

  • Limits downside risk by closing position at predetermined price

Slippage Tolerance

  • Controls acceptable price movement during order execution

    • Default settings work well for most trades

    • Adjust based on market volatility and position size

  • Flash Trade's pool-to-peer model minimizes slippage

Step 4: Order Execution

  • Review all trade parameters:

    • Position size

    • Leverage

    • Take Profit level (optional)

    • Stop Loss level (optional)

    • Slippage tolerance (optional)

  • Review the confirmation dialog:

    • Verify all trade details

    • Confirm you understand the risks

  • To execute the trades

    1. Click "Long/Buy" button for Market Longs

    2. Click "Short/Sell" button for Market Shorts

    3. Click "Limit Order" button for Limit Orders

Step 5: Managing Your Position

Position Monitoring

  • Active positions appear in the "Positions" tab below the chart

  • Monitor real-time P&L, entry price, and current market price

  • Track margin usage and liquidation price

Position Management

  • Modify Stop Loss and Take Profit levels as needed

  • Partially close positions to lock in profits

  • Add to existing positions if desired

Closing Positions

  • Close manually at any time through the Positions panel

  • Positions close when Stop Loss or Take Profit triggers

  • Stop Loss and Take Profit settlement occurs in USDC by default or based on your selection

Best Practices

Risk Management

  • Always set Stop Loss levels

  • Never risk more than you can afford to lose

  • Start with smaller position sizes while learning

Troubleshooting

Having issues? Review our

  • Transaction Failures: Ensure sufficient SOL for network fees

  • Slippage Errors: Increase slippage tolerance during volatile periods

  • Insufficient Funds: Verify available balance before placing trades

Support Resources

  • Join the community for real-time support. Remember: legitimate support will never ask for your private keys or recovery phrase.

  • Review for common questions


Next Steps

After completing your first trade:

  • Explore advanced trading features

  • Learn about Flash Trade's liquidity provision options

  • Investigate additional trading pairs and strategies

  • Consider Flash Trade's ecosystem integrations

Remember: Trading involves significant risk. Always conduct your own research and trade responsibly.

June 2025 Report

Overview:

This is a rolling monthly report that covers data from the month of June

Financial Performance (PnL):

  • Total Volume: $298,340,000

  • TVL change: + $200,000*

  • Total fees Earned: $275,150 total fees accrued in USDC,

  • Fees paid to LP: $169,110

  • Protocol-retained revenue: Approximately $106,040

  • FLP Performance

    • FLP1 = + 1.13%

    • FLP2 = + 2.6%

Protocol Metrics:

  • New wallets on the platform: 951

  • Total Liquidation Volume: $9,204,368

  • Largest Spike in Liquidation: 12th June $549,350

  • Trading behavior insights:

    • Significant increase in SOL Short trading volume which initially used to be long baised

    • Heavy domination of OIL in pool2 with less than 15 days of being live

  • Bugs and Other Improvements:

    • Reworked the way charts used to load and it’s now much faster

    • Fixed certain visual bugs in market selection list

    • Made VP accrual on sFLP continuous

    • Moved transaction building for mint and burn of FLP to the api (should be faster now)

    • New Price update instruction which should be very fast and enable 200x leverage

    • W and AUD delisted

  • New Features & Integrations

    • OIL Listed with 50x leverage

    • Revenue Share is live for users to claim whenever they want

    • Animated Buttons that remove transaction popup

    • FLP Pyth Price feed published

    • Added FLP on Ratex for Yield Trading

    • VP Points Live on Sandglass Ratex and Loopscale

    • Points boost on Sandglass

    • FLP.3 live on Loopscale

    • Reworked on Docs. Should be much more informative and polished

FAF:

  • $FAF currently staked = 616,294,303.078 FAF

  • 9,168,836 FAF distributed as Staking Epoch 2 rewards

  • Proposal 02 : Under works

Roadmap

  • Current development priorities

    • New Earn page

    • 200x leverage

    • Rework the fee structure on swap fees and mint/burn

    • Listing of DXY and SPX

    • Kamino Integration once the FLP Pyth price feed is live

    • New degen mode

    • Margin Engine V2

    • More Listings

    • Revamped onboarding experience (privy)

  • Features or improvements coming up next

    • Magic Block (in works with weekly syncs)

    • Chainlink oracle as backup (still discussing)

    • Volmex finance’s indices based perps (BVIV, SVIV, etc) (finalising steps)

Download Reports here:

Tokenomics

FAF Token Overview

FAF gives 50% of protocol revenue, unmatched utility and full governance rights to its holders. The protocol was built from scratch and fully bootstrapped by the core team.

Key Differentiators:

  • 80% of supply distributed to early supporters during Flash Beast transition

  • Novel approach with majority supply unlocked from launch

  • No predetermined team allocation - compensation determined by Futarchy DAO

  • Deviates from conventional low float, high FDV mechanics


Token Specifications

Attribute
Details

Token Distribution

Allocation
Amount
Details

Distribution Chart

Key Features

  • Full Transparency: Complete token transparency report available

  • Fafarchy Governance: Learn more about our governance model

  • Flash Beast Legacy: Read about the Flash Beast's role in early growth

Note:

$FAF is a fully diluted token and changes in supply are subjected to Futarchy based governance from existing holders approval.

121KB
June 2025 Protocol Report.pdf
pdf

Token Name

Flash.Trade

Symbol

$FAF

Total Supply

1,000,000,000

Mint Address

FAFxVxnkzZHMCodkWyoccgUNgVScqMw2mhhQBYDFjFAF - Solscan

Governance

Futarchy-based

Community Rewards

800,000,000 (80%)

Distributed to Flash Beast holders

First Year Rewards

96,000,000 (9.6%)

Staking rewards over one year

Incubation

54,000,000 (5.4%)

Vested linearly over two years

Liquidity

40,000,000 (4%)

Initial liquidity provision

Advisors

10,000,000 (1%)

Vested linearly over two years

Team Allocation

TBD

Determined by Futarchy DAO

here
here
here
FAF distribution chart
Troubleshooting Guide
Discord
FAQ section

Flash Labs

Overview

Flash Labs is a vibrant Discord forum designed specifically for FAF token holders and the core development team to connect, collaborate, and innovate together. This dedicated space serves as the primary hub for community-driven development, strategic planning, and collaborative decision-making within the Flash ecosystem.

What is Flash Labs?

Flash Labs represents more than just a discussion forum—it's a collaborative workspace where ideas transform into actionable plans. The platform bridges the gap between community members and the development team, fostering an environment where every voice contributes to the project's evolution.


1

💡 Idea Exchange & Innovation

  • Share new concepts and creative solutions

  • Collaborate on existing ideas to refine and improve them

  • Brainstorm innovative features and improvements

  • Exchange constructive feedback with fellow community members

2

🎯 Strategic Planning

  • Participate in long-term strategic discussions

  • Contribute to roadmap development

  • Engage in collaborative planning sessions

  • Help shape the future direction of the project

3

🔄 Community Feedback Loop

  • Submit feature requests directly to the development team

  • Provide input on proposed changes and updates

  • Participate in community polls and surveys

  • Influence project priorities through active engagement

4

📢 Core Team Updates

  • Receive regular progress updates from the development team

  • Get insights into current development priorities

  • Preview upcoming features and improvements

  • Participate in feedback sessions for works-in-progress

5

🗳️ Futarchy Proposal Development

  • Collaborate on potential Futarchy proposals before formal submission

  • Conduct temperature checks to gauge community sentiment

  • Refine proposal language and structure through group discussion

  • Build consensus before moving to formal voting processes

1

Getting Started

  • Join the Discord: http://discord.gg/flashtrade

  • Verify your FAF holdings and

  • Introduce yourself to the community

  • Explore existing discussions to understand ongoing conversations

2

Initiating Discussions

Community members are strongly encouraged to:

  • Start discussion posts on topics of interest

  • Ask questions about features or project direction

  • Share ideas for improvements or new features

  • Propose solutions to identified challenges

3

Engaging with Others

  • Jump into existing conversations with your insights

  • Provide constructive feedback on others' ideas

  • Build upon suggestions to create more robust proposals

  • Support promising initiatives through active participation

4

Working with the Core Team

  • Respond to team requests for community input

  • Contribute to strategic discussions when the team seeks guidance

Community Guidelines

To maintain a productive and collaborative environment:

  • Keep discussions focused and constructive

  • Respect diverse viewpoints and approaches

  • Provide specific, actionable feedback when possible

  • Stay engaged with ongoing conversations

  • Help newcomers understand the community dynamics


Getting the Most from Flash Labs

For Active Contributors

  • Regularly check for new discussions and updates

  • Engage meaningfully rather than just observing

  • Share your expertise and unique perspectives

  • Help facilitate productive conversations

For Proposal Development

  • Use Flash Labs to test ideas before formal submission

  • Gather community input to strengthen proposals

  • Build support through transparent discussion

  • Refine proposals based on community feedback


Join the Conversation

Flash Labs represents a unique opportunity to be part of the development process, not just the end product. Your participation helps shape the future of the Flash ecosystem.

Ready to get involved?

👉 Join Flash Labs in our Discord

Whether you're looking to share ideas, provide feedback, or simply stay informed about the latest developments, Flash Labs welcomes your participation. Join today and become an active contributor to the Flash community's collaborative future.

FLP Tokens

FLP tokens are index-style tokens that represent ownership shares in Flash Trade's multi-asset liquidity pools. Each FLP token tracks a diversified basket of crypto assets while earning yield from perpetual trading activity.

What FLP Tokens Represent

When you hold FLP tokens, you own a proportional share of the entire pool's assets, not the specific tokens you deposited. A user depositing BTC receives exposure to the full pool composition: roughly 24.50% JitoSOL, 3% SOL, 22.50% BTC, 5% ETH, and 45% USDC (when at target ratios).

TOKEN
Target ratio
Min ratio
Max ratio

USDC

45%

25%

55%

BTC

22.50%

15%

40%

JitoSOL

24.50%

14%

45%

ETH

5%

2%

12%

SOL

3%

0.10%

45%

TOKEN
Target ratio
Min ratio
Max ratio

USDC

40%

25%

80%

JUP

20%

10%

40%

JTO

20%

10%

40%

KMNO

5%

2%

20%

RAY

10%

5%

40%

PYTH

2%

1%

10%

W

3%

1%

10%

Note:

The revenue generated by the liquidity pools will be given out separately to LPs in USDC and the price of FLP token would only reflect the price of the underlying assets only, hence FLP LPs returns will, in the long run, be similar to an index token that generates passive yield.

  • Asset Exposure:

    • FLP tokens automatically rebalance your exposure across the target ratios. Pool composition shifts dynamically based on deposits, withdrawals, and price movements of underlying assets.

  • Index Behavior:

    • Like traditional index funds, FLP tokens provide diversified exposure to multiple assets through a single token, removing the need to manage individual asset allocations.

  • Net Asset Value (NAV):

    • Token prices reflect the current market value of underlying assets plus accumulated trading profits, minus any losses paid to profitable traders.

Flash offers two token variants with different reward mechanisms:

  • FLP: Auto-compounds all earnings into token price every hour

  • sFLP: Requires manual claiming of USDC rewards every hour

Both represent identical pool ownership but handle rewards differently.

  • 90% Maximum Utilization:

    • Ensures liquidity remains available for withdrawals

  • Automatic Rebalancing:

    • Pool composition adjusts as positions close and new liquidity enters

FLP tokens capture value from:

  • All perpetual trading fees (70% share to LPs)

  • Margin fees from leveraged positions

  • Trader losses to the pool

  • Liquidation penalties

Contract Address

For contract addresses and mint information, see sFLP & FLP Mints.

Key Characteristics

  • Counterparty Exposure: Token holders serve as counterparty to all trader positions

  • Market Correlation: Returns follow underlying crypto asset performance

  • Fee Sensitivity: Dynamic minting/burning fees based on pool balance

  • Yield Generation: Passive income from Flash Trade's trading ecosystem

Troubleshooting Guide

This guide covers common technical issues users may encounter while trading on Flash.Trade and provides step-by-step solutions to resolve them.

Network Connectivity Issues

High Latency and Slow Trading Experience

Problem: Trades execute slowly, interface feels laggy, or transactions take longer than expected to process.

Cause: Poor connection to the RPC (Remote Procedure Call) server, which acts as your gateway to the Solana blockchain.

Solution:

  1. Check Your Current Latency

    • Look at the bottom row of the Flash.Trade interface

    • Your RPC ping time should be below 500ms for optimal trading experience

    • If ping exceeds 500ms, proceed to change your RPC provider

  2. Change RPC Provider

    • Click the Settings icon in the top-right corner of the interface

    • Select RPC Endpoints from the dropdown menu

    • Choose from the available options:

      • Triton - High-performance RPC provider

      • Helius - Alternative reliable RPC option

      • Custom RPC - Use your own RPC endpoint if available

    • Click SAVE RPC

    • The page will automatically reload within 3 seconds

    • Verify improved latency at the bottom of the interface

VPN-Related Connection Issues

Problem: Positions not loading, interface glitches, or intermittent connectivity problems.

Cause: VPN services can interfere with RPC communication and cause data synchronization issues.

Solution:

  • Temporarily disable your VPN connection

  • Refresh the Flash.Trade interface

  • If issues persist, try switching to a different RPC provider as outlined above


Oracle and Pricing Issues

Unable to Close Positions During High Volatility

Problem: Cannot close positions during periods of extreme market volatility or high network congestion.

Cause: During volatile market conditions, Solana's base fees increase significantly, which can cause Pyth price feeds to become stale or unavailable. This prevents normal position closure mechanisms from functioning.

Solution:

  1. Enable Backup Oracle

    • Navigate to Settings in the top-right corner

    • Expand the PnL Settings section

    • Toggle "Use Backup Oracle" to the ON position

    • Click SAVE to apply changes

  2. Adjust Slippage Tolerance

    • In the same Settings menu, locate Slippage Tolerance

    • Increase the slippage percentage (recommended: 0.8% or higher during volatility)

    • This accounts for rapid price movements between transaction signing and execution

    • Click SAVE to apply changes

Important Notes:

  • The backup oracle ensures you can close positions even when primary price feeds are unavailable

  • Higher slippage tolerance is crucial during volatile periods to prevent transaction failures

  • These settings can be reverted to normal once market conditions stabilize


Priority Fee Optimization

Transaction Failures During Network Congestion

Problem: Transactions fail to execute or remain pending for extended periods during busy network conditions.

Cause: Insufficient priority fees during times of high network congestion.

Solution:

  1. Adjust Priority Fee Settings

    • Go to Settings → Priority Fee

    • Switch from DYNAMIC to MANUAL if needed

    • Increase the fee amount (typical range: 0.001 - 0.01 SOL)

    • DYNAMIC mode automatically adjusts fees based on network conditions (recommended)

  2. Monitor Network Conditions

    • Higher priority fees are necessary during periods of high network activity

    • Consider using DYNAMIC mode for automatic fee optimization


Additional Settings Optimization

PnL Display Configuration

To customize how your profit and loss information is displayed:

  • Display PnL With Fees - Include trading fees in PnL calculations

  • Include PnL In Leverage Display - Show PnL impact on effective leverage

  • Use Backup Oracle - Enable alternative price feeds during disruptions


Best Practices

  1. Regular Settings Review

    • Periodically check your RPC latency

    • Adjust slippage tolerance based on market conditions although 0.8% in most cases will be sufficient.

    • Keep priority fees at appropriate levels for current network conditions

  2. Network Monitoring

    • Be aware of Solana network status during high-traffic periods. Check here

    • Consider increasing priority fees during major market events

  3. Backup Preparations

    • Familiarize yourself with backup oracle settings before you need them

    • Test different RPC providers to identify the best performance for your location


Getting Additional Help

If you continue experiencing issues after following this guide:

  1. Check for network-wide issues

  2. Join the Flash.Trade channel for real-time support

  3. Ensure you're using the official interface at

Security Reminder:

Only access Flash.Trade through the official URL (https://flash.trade) to avoid phishing attempts that could compromise your assets. Bookmark to help make sure that you are always on the correct URL.

Sandglass

FLP.1 tokens from Flash Trade are now integrated with Sandglass. This integration unlocks new strategies for FLP holders to optimize their yield exposure.

What is Sandglass?

Sandglass is Solana's first pool-based yield trading protocol that splits yield-bearing tokens into their principal and yield components, enabling each to be traded separately. Unlike traditional DeFi where you're locked into both price and yield movements together, Sandglass creates independent markets for these components through sophisticated automated market makers (AMMs) designed specifically for yield trading.

FLP's Role on Sandglass

FLP tokens from Flash Trade serve as premium yield-bearing assets on Sandglass, offering unique advantages due to their diversified revenue streams from perpetual trading fees across multiple asset classes. This integration creates three primary opportunities:

  • Yield Isolation - Trade FLP's yield independently from token price movements

  • Risk Management - Lock in guaranteed returns or amplify yield exposure based on market outlook

  • Enhanced Liquidity Provision - Earn additional fees while maintaining FLP yield generation


FLP Yield Trading Strategies

Available Strategy Types

The platform offers three distinct approaches to FLP yield trading, each with specific risk profiles and return characteristics:

Risk-Averse Strategies:

  • Fixed Yield (PT Tokens) - Lock in guaranteed APY, eliminate yield volatility

High-Conviction Strategies:

  • Long Yield (YT Tokens) - Amplified exposure to yield increases, outsized returns potential

Balanced Strategies:

  • Liquidity Provision (LP Tokens) - Earn trading fees while maintaining FLP exposure

Yield Trading Mechanics for FLP

When engaging with FLP yield trading, Sandglass executes a sophisticated token splitting mechanism. Your FLP.1 tokens are decomposed into Principal Tokens (PT) representing the underlying asset value and Yield Tokens (YT) representing future yield generation rights.

The Core Equation:

The Compounding Effect:

  • Original FLP earns trading fees from Flash Trade perpetuals

  • PT tokens provide guaranteed returns independent of yield fluctuations

  • YT tokens amplify exposure to yield movements with leveraged sensitivity

  • Combined strategies can significantly exceed base FLP returns

When exiting positions, the process works seamlessly through the AMM with automatic price discovery based on market expectations of future FLP yields.

Here is a link to the .


FLP as Yield-Bearing Collateral

Trading Capabilities

FLP tokens serve as the underlying asset for sophisticated yield trading strategies with competitive terms. The isolated vault model ensures that FLP-backed positions don't create cross-contamination risks, providing portfolio flexibility.

Supported Trading Pairs:

  • PT FLP.1: Fixed yield exposure

  • YT FLP.1: Variable yield exposure

  • LP FLP.1: Liquidity provision tokens

Key Parameters:

  • Vault Maturity

  • Underlying APY

  • Total Value Locked

  • Token Price

Strategic Applications

This yield trading utility allows users to maintain their FLP exposure while expressing specific views on yield direction and volatility. Users can effectively optimize their risk-return profile by separating price movements from yield generation and trading these components independently.

Here is a link to the .


Dual Rewards System

The Double-Earning Advantage

The unique advantage for Flash Trade users is earning rewards simultaneously across both platforms, creating a multiplicative effect on total returns while maintaining diversified risk exposure.

Sandglass Yield Benefits

Users can optimize their FLP returns through strategic positioning based on market outlook. Benefits include:

  • Trading fees from yield arbitrage activity

  • Enhanced capital efficiency through yield component separation

  • Risk management through guaranteed yield options

  • Amplified returns through long yield positions

Flash Trade Voltage Points (VP)

FLP deployed on Sandglass continues generating VP at the standard rate of 50 points per dollar of LP fees earned. The yield optimization effect means strategically positioned FLP can generate more efficient returns, resulting in accelerated VP accumulation.

VP Benefits:

  • Higher VP totals improve FAF reward multipliers

  • Optimized positions = better returns = more VP

  • Enhanced epoch rankings and reward distributions

Here is a link to & .


Risk Considerations

Understanding the Risk Spectrum

While FLP yield trading offers enhanced flexibility and returns, it introduces additional risk factors that users must carefully consider before deploying capital.

FLP-Specific Risks

  • Yield Dependency: FLP returns depend heavily on Flash Trade volume and market activity. During slow trading periods, yield generation may decline significantly.

  • Platform Risk: Exposure to Flash Trade's perpetuals platform creates additional smart contract and operational risks beyond standard yield trading.

Yield Trading Amplification Effects

  • Direction Risk: YT token holders face losses if FLP yields decrease below entry levels. Users must accurately predict yield direction for profitable YT positions.

  • Time Decay: As vault maturity approaches, YT token values converge to accumulated yield, potentially creating time-sensitive exit requirements.

  • Market Volatility: Crypto market conditions can simultaneously affect FLP values and trading volumes, creating correlated risk exposure across yield components.

Getting Started Guide

Prerequisites

Before engaging with FLP yield trading, ensure you have the necessary foundation for success:

  • Hold FLP.1 tokens from Flash Trade

  • Understand yield trading mechanics and directional risks

  • Have clear market outlook on Flash Trade volume trends

  • Familiarity with vault maturity systems and exit timing

Step-by-Step Implementation

Initial Setup:

  • Connect wallet to Sandglass platform

  • Review current FLP.1 vault parameters and yields

  • Assess yield outlook and select appropriate strategy

  • Understand vault maturity date (November 4, 2025)

Position Configuration:

  • Choose strategy: PT (fixed), YT (long yield), or LP (liquidity provision)

  • Review current rates: 24.76% fixed, 80.83% long yield, 37.61% LP

  • Set position size and risk management parameters

  • Execute transaction through Sandglass interface

Ongoing Management:

  • Monitor Flash Trade volume trends affecting FLP yields

  • Track position performance relative to underlying FLP APY

  • Observe point accumulation across both platforms

  • Plan exit strategy before vault maturity

Success Principles

Start Conservative: Begin with PT tokens or liquidity provision to understand mechanics before taking directional YT positions.

Monitor Volume: Flash Trade volume trends directly impact FLP yield potential and should guide strategy selection and timing.

Risk Management: Understand that YT positions can lose money if yields decline, while PT positions lock in current rates regardless of future performance.

Regular strategy review ensures positions remain aligned with changing market conditions while maximizing the dual rewards potential across both Flash Trade and Sandglass ecosystems.

Important Notice:

Yield trading involves significant risks including potential loss of principal. This information is for educational purposes only and should not be considered financial advice. Always conduct thorough research and never risk more than you can afford to lose.

Need Help?

For additional support or questions about using Sandglass, consult with the team on the Sandglass . Remember: legitimate support will never ask for your private keys or recovery phrase.

RateX

FLP tokens from Flash Trade are now integrated with RateX, a cutting-edge yield trading protocol. This integration unlocks advanced strategies for FLP holders to amplify their yield exposure and optimize returns through innovative yield tokenization.

What is RateX?

RateX is a margin and spot yield trading protocol that enables users to trade the future returns of yield-bearing assets with leverage. The platform specializes in yield tokenization, allowing traders to separate and trade the yield and principal components of assets like FLP through sophisticated financial instruments.

Unlike traditional trading platforms, RateX focuses specifically on yield movements - think of it as betting on whether interest rates will go up or down, but with serious leverage built into the yield tokens themselves.

FLP's Role on RateX

FLP tokens from Flash Trade serve as the underlying yield-bearing asset in RateX's yield trading ecosystem. This integration creates powerful opportunities for FLP holders to:

Amplified Yield Exposure - Gain leveraged exposure to FLP yield movements without traditional margin requirements

Yield Strategy Diversification - Access both long and short yield positions based on market outlook

Enhanced Capital Efficiency - Maximize returns through yield tokenization while maintaining Flash Trade ecosystem benefits


Core Yield Trading Strategies

RateX offers two primary strategies for FLP yield trading, each serving different market outlooks and risk preferences:

Yield Token (YT) Trading - Long Yield Strategy

When to Use: When you believe FLP yields will increase

How it Works: Purchase YT-FLP tokens that provide amplified exposure to yield movements. These tokens naturally offer approximately 10x effective yield leverage without complex margin mechanics.

Example: If FLP yields increase from 17% to 20%, your YT-FLP position captures magnified gains from this 3% yield expansion.

Key Benefits:

  • No margin requirements - spot trading only

  • Natural leverage through token mechanics

  • Direct exposure to yield curve movements

  • Time-efficient yield speculation

Principal Token (PT) Trading - Fixed Yield Strategy

When to Use: When you want guaranteed returns or expect yields to decline

How it Works: Purchase PT tokens that lock in fixed yield rates, effectively shorting variable yield exposure.

Mechanism: PT represents the principal portion of FLP, traded at a discount to current value but redeemable 1:1 at maturity.

Key Benefits:

  • Guaranteed fixed returns

  • Protection against yield compression

  • Predictable income streams

  • Early exit flexibility through secondary markets

Here is a link to the RateX .


FLP-Specific Trading Mechanics

Spot Trading Advantage

Unlike other yield-bearing assets on RateX that use margin trading, FLP operates through spot markets. This provides several advantages:

Simplified Process - No complex margin management or liquidation risks Clean Exposure - Direct yield trading without borrowing complications Lower Barriers - More accessible to traders of all experience levels Reduced Risk - No margin calls or forced liquidations

Yield Exposure Calculation

FLP yield trading on RateX provides natural leverage through token mechanics:

  • Base FLP Yield: Current Flash Trade ecosystem returns

  • YT Amplification: ~10x effective exposure to yield changes

  • Time Decay: YT tokens decrease in value as expiration approaches

  • Market Pricing: Real-time price discovery through automated market makers

Here is a link to the RateX .


Multi-Platform Rewards System

Flash Trade Voltage Points (VP)

FLP deployed on RateX continues generating Voltage Points at the standard rate:

  • 50 VP per $1 of LP fees earned

  • Leveraged positions generate more fees = accelerated VP accumulation

  • Higher VP totals improve FAF reward multipliers

  • Better epoch rankings and reward distributions

RateX Points Program

Active RateX participation generates platform-specific points through:

  • Yield trading activity on FLP markets

  • Liquidity provision in YT/ST pools

  • Protocol engagement and trading volume

  • Early adopter benefits for Flash Trade ecosystem users

Here is a link to RateX & Flash Trade .


Getting Started Guide

Prerequisites

Before engaging with FLP yield trading, ensure you have:

  • FLP tokens from Flash Trade

  • Understanding of yield trading concepts

  • Risk management strategy

  • Sufficient capital for position sizing

Step-by-Step Process

  • Connect your wallet to RateX

  • Navigate to the FLP trading markets

  • Review current yield rates and market conditions

  • For Yield Bulls: Purchase YT-FLP for amplified yield exposure

  • For Yield Bears: Purchase PT-FLP for fixed returns

  • For Hedging: Combine strategies based on portfolio needs

  • Monitor yield movements and market pricing

  • Track Voltage Points accumulation

  • Observe RateX points generation

  • Plan exit strategies based on market conditions

Risk Considerations

FLP-Specific Risks

Yield Dependency - FLP returns depend on Flash Trade volume and market activity. During slow trading periods, yield generation may decline significantly.

Platform Risk - Exposure to Flash Trade's perpetuals platform creates additional smart contract and operational risks beyond standard DeFi protocols.

Time Decay - YT tokens naturally lose value as they approach expiration, requiring active management and timing considerations.

Market and Liquidity Risks

Price Volatility - Yield token prices can be highly volatile, especially near expiration dates. Market movements can result in significant gains or losses.

Liquidity Risk - Insufficient market depth could make it difficult to enter or exit positions at desired prices.

Correlation Risk - Crypto market downturns can simultaneously affect FLP values and trading volumes, creating compounded risk exposure.

Monitoring and Analytics

Key Metrics to Track

Implied Yield - Market-determined expected returns Time to Maturity - Remaining duration until token expiration Trading Volume - Market activity and liquidity levels Yield Spreads - Differences between assets and maturities


Success Principles

Start Simple: Begin with single strategy positions to understand yield trading mechanics before implementing complex strategies.

Monitor Volume: Flash Trade volume trends directly impact FLP yield potential and should guide position timing.

Risk Management: Set clear profit targets and exit strategies before entering positions.

Regular position review ensures strategies remain profitable and aligned with changing market conditions while maximizing the dual rewards potential across both Flash Trade and RateX ecosystems.

Important Notice:

Yield trading involves significant risks including potential loss of principal. This information is for educational purposes only and should not be considered financial advice. Always conduct thorough research and never risk more than you can afford to lose.

Need Help?

For additional support or questions about using RateX, consult with them on the RateX . Remember: legitimate support will never ask for your private keys or recovery phrase.

Limit Orders

Limit Orders

Limit orders allow you to set predetermined entry and exit prices for your trades, providing better price control and strategic positioning without constant market monitoring.

Overview

Limit orders execute automatically when the market reaches your specified price, offering:

  • Price Control - Set exact entry

  • Strategic Positioning - Enter positions at favorable levels

  • Automated Execution - No need to monitor markets constantly

  • Risk Management - Avoid unfavorable market price movements


Step 1: Switch to Limit Mode

  1. Navigate to the trading page

  2. Switch from "Market" to "Limit" order type

  3. The interface will update to show limit order options

Step 2: Configure Your Order

  1. Set Price: Enter your desired execution price

  2. Set Size: Specify position size (minimum $10)

  3. Select Collateral: Choose appropriate collateral asset

  4. Review Details: Confirm order parameters

Step 3: Submit Order

  1. Click "Place Limit Order"

  2. Confirm transaction in your wallet

  3. Order appears in the "Orders" tab

Viewing Your Orders

  • All active limit orders appear in the "Orders" tab under "Limit Orders"

  • View order details including:

    • Market Asset

    • Side

    • Size

    • Collateral

    • Trigger Price

Editing Orders

  1. Navigate to the "Orders" tab under "Limit Orders"

  2. Select the order you want to modify

  3. Edit Trigger Price: Change the execution price

  4. Confirm Changes: Submit the updated order

Order Cancellation

  • Manual Cancellation: Cancel orders anytime from the Orders tab

  • Automatic Cancellation: Orders cancel if insufficient liquidity at execution time

  • Independent of Positions: Limit orders remain active even after other positions close like TP/SL


Order Requirements

Price Constraints

  • Minimum Distance: Orders must be at least 0.5% away from current market price

  • Execution Guarantee: Orders execute at your specified price when liquidity is available

Collateral Requirements

You must use like-collateral for limit orders:

Position Type
Required Collateral
Example

Size Limits

Parameter
Limit

Execution Rules

Successful Execution

✅ Order executes when:

  • Market price reaches your specified level

  • Sufficient liquidity is available in the pool

  • Pool utilization allows for the trade size

Failed Execution

❌ Order cancels when:

  • Insufficient liquidity due to high pool utilization

  • Pool cannot accommodate the full order size

  • Technical issues prevent execution

Fee Application

  • Size-Based Spread: Still applies to limit orders

  • Standard Trading Fees: Apply as per normal trading

  • Execution Guarantee: Price execution guaranteed at your limit price


Best Practices

1

Strategic Positioning

  • Support/Resistance Levels: Place orders at key technical levels

  • Dollar Cost Averaging: Use multiple smaller orders at different price levels

  • Volatility Consideration: Account for normal price fluctuations

2

Risk Management

  • Monitor Pool Utilization: High utilization may prevent execution

  • Set Realistic Prices: Ensure orders are likely to be reached

  • Regular Review: Check and update orders as market conditions change

3

Collateral Management

  • Maintain Sufficient Balance: Ensure you have required collateral

  • Asset Preparation: Have correct collateral type ready before placing orders

  • Wallet Connectivity: Keep wallet connected for order execution


Important Limitations

Order Persistence: Limit orders remain active even after closing other positions and must be manually cancelled.

Liquidity Dependency: Orders may cancel if pool utilization prevents execution of the full size.

Collateral Requirements: You cannot use different collateral types - must match position direction.

Account Limits: Maximum 5 active limit orders per account at any time.


Troubleshooting

Common Issues

Q: Why is my limit order being rejected?
  • Check if price is at least 0.5% from current market price

  • Verify you have sufficient collateral of the correct type

  • Ensure order size meets $10 minimum

Q: Why didn't my order execute at the target price?
  • Pool utilization may be too high

  • Insufficient liquidity for your order size

  • Market may have gapped past your price level

Q: How do I cancel all my limit orders?
  • Go to the "Orders" tab

  • Manually cancel each order individually

  • Orders do not auto-cancel when positions close

Q: Can I modify my order after placing it?
  • Yes, you can edit the execution price

  • Order size modifications

  • Changes require wallet confirmation

Loopscale

FLP tokens from Flash Trade are now integrated with Loopscale. This integration unlocks new strategies for FLP holders to optimize their yield exposure.

What is Loopscale?

Loopscale is a fixed-rate lending protocol that uses an order book architecture rather than traditional pool-based lending. The platform offers structured yield products called "Loops" that enable leveraged exposure to yield-bearing assets through isolated markets. This design provides predictable borrowing costs and eliminates the contagion risk often seen in multi-asset lending pools.

FLP's Role on Loopscale

FLP tokens from Flash Trade serve a dual purpose on Loopscale, functioning both as collateral for borrowing and as the underlying yield-bearing asset in loop strategies. This integration creates two primary opportunities:

  • Amplified Yield Generation - Leverage FLP exposure to multiply trading fee earnings

  • Collateral Utility - Access liquidity while maintaining FLP position exposure


FLP Loop Strategies

Available FLP Loop Types

The platform offers several FLP loop variants, each with distinct risk profiles and return characteristics:

Market-Neutral Strategies:

  • Crypto FLP / USDC Loop - Lower liquidation risk, amplified yield without price exposure

Directional Strategies:

  • Crypto FLP / SOL Loop - Long SOL bias, higher risk/reward profile

  • Crypto FLP / BTC Loop - Long BTC bias, maximum volatility and potential returns

Loop Mechanics for FLP

When opening an FLP loop, the protocol executes a sophisticated sequence of transactions atomically. A flash loan is first obtained for the target asset, which is then swapped for additional FLP tokens. These FLP tokens are deposited as collateral, allowing the protocol to borrow against them and repay the initial flash loan.

The Compounding Effect:

  1. Original FLP earns trading fees from Flash Trade perpetuals

  2. Borrowed funds purchase additional FLP tokens

  3. Additional FLP also earns trading fees

  4. Combined yield significantly exceeds base FLP returns

When closing the position, the process reverses automatically with a flash loan covering repayment, collateral being unlocked, and remaining FLP returned to the user.

Here is a link to the Loopscale .


FLP as Collateral

Borrowing Capabilities

FLP tokens can serve as collateral for borrowing various assets with competitive terms. The isolated risk model ensures that FLP-backed loans don't affect other collateral positions, providing portfolio flexibility.

Supported Borrow Assets:

  • Stablecoins: USDC, USDT

  • Major Cryptos: SOL, BTC, ETH variants

  • Ecosystem Tokens: wfragSOL, JitoSOL, BONK, WEN

Key Parameters:

  • LTV Ratios: 50-70% (varies by FLP type)

  • Fixed Interest Rates: Predictable borrowing costs

  • Isolated Risk: Position independence

Strategic Applications

This collateral utility allows users to maintain their FLP exposure while accessing liquidity for other trading activities or expenses. Users can effectively "double-dip" by earning FLP trading fees while using the same tokens to access capital for additional opportunities.

Here is a link to the Loopscale .


Dual Rewards System

The Double-Earning Advantage

The unique advantage for Flash Trade users is earning rewards simultaneously across both platforms, creating a multiplicative effect on total returns.

Loopscale Points

Users accumulate Loopscale Points through platform engagement, potentially leading to future airdrops or protocol benefits. Points are earned through:

  • Lending FLP through vaults

  • Borrowing against FLP collateral

  • Creating and managing loop positions

  • Special campaign participation

Flash Trade Voltage Points (VP)

FLP deployed on Loopscale continues generating VP at the standard rate of 50 points per dollar of LP fees earned with a 2X Boost. The leverage multiplier effect means amplified FLP positions generate more trading fees, resulting in accelerated VP accumulation.

VP Benefits:

  • Higher VP totals improve FAF reward multipliers

  • Leveraged positions = more fees = more VP

  • Better epoch rankings and reward distributions

Here is a link to Loopscales & Flash Trade .


Risk Considerations

Understanding the Risk Spectrum

While FLP loops offer enhanced returns, they introduce additional risk factors that users must carefully consider before deploying capital.

FLP-Specific Risks

Yield Dependency: FLP returns depend heavily on Flash Trade volume and market activity. During slow trading periods, yield generation may decline significantly.

Platform Risk: Exposure to Flash Trade's perpetuals platform creates additional smart contract and operational risks beyond standard DeFi lending.

Leverage Amplification Effects

Liquidation Scenarios: Higher leverage increases liquidation risk if FLP values decline. Users must maintain adequate health factors to avoid position closure.

Rate Mismatches: While Loopscale uses fixed rates, users must ensure FLP yields consistently exceed borrowing costs for profitable operations.

Market Correlation: Crypto market downturns can simultaneously affect FLP values and trading volumes, creating compounded risk exposure.

Getting Started Guide

Prerequisites

Before engaging with FLP loops, ensure you have the necessary foundation for success:

  • Hold FLP tokens from Flash Trade

  • Understand leverage mechanics and liquidation risks

  • Have additional assets available for position management

  • Familiarity with DeFi transaction costs and timing

Step-by-Step Implementation

Initial Setup:

  1. Connect wallet to Loopscale platform

  2. Review available FLP loop options and current yields

  3. Assess risk tolerance and select appropriate strategy

Position Configuration:

  • Choose leverage level (start conservative for first positions)

  • Set duration preferences and slippage tolerance

  • Review transaction details and transaction fees

  • Execute position opening transaction

Ongoing Management:

  • Monitor health factor and liquidation thresholds

  • Track yield performance vs borrowing costs

  • Observe point accumulation across both platforms

Success Principles

Start Small: Begin with lower leverage ratios to understand mechanics before scaling positions.

Monitor Volume: Flash Trade volume trends directly impact FLP yield potential and should guide position timing.

Risk Management: Set up alerts for health factor changes and maintain emergency collateral reserves.

Regular position review ensures strategies remain profitable and aligned with changing market conditions while maximizing the dual rewards potential across both Flash Trade and Loopscale ecosystems.

Important Notice:

Yield trading involves significant risks including potential loss of principal. This information is for educational purposes only and should not be considered financial advice. Always conduct thorough research and never risk more than you can afford to lose.

Need Help?

For additional support or questions about using Loopscale, consult with them on the Loopscale . Remember: legitimate support will never ask for your private keys or recovery phrase.

Long Positions

Native asset

SOL for SOL longs

Short Positions

USDC

USDC for all shorts

Minimum Order Size

$10

Maximum Orders per Account

5 active limit orders

Order Types

Entry orders only

April 2025 Report

Overview:

This is a rolling monthly report that covers data from the past 3 months.

Financial Performance (PnL):

  • Total fee revenue: $1,378,870 total fees accrued in USDC, with $1,107,720 paid out

  • Protocol-retained fee revenue: Approximately $271,150 (difference between accrued and paid fees)

Protocol Metrics:

  • Number of daily active wallets: 232

  • Breakout of user ranks = (Coming Soon with Leaderboards.)

  • Trading behavior insights:

    • SOL/USDC is the dominant trading pair (43-45% of volume)

    • Strong directional bias exists across assets (XAU: 99.5% long)

    • Growth in pool 2 volume thanks to the run in GOLD and EURO markets

    • Liquidation volume is $35,744,310 (0.23% of total volume)

    • New asset listed: Fartcoin

    • Asset delisted: Kamino & Trump

FAF:

  • $FAF currently staked = 459,382,818.295 FAF

  • Total unstaking and associated fees = N/A

  • Number of NFTs remaining to be burned: 1,521 remaining NFTs across levels 1-6 ⇒

    • Lvl 1 = 927

    • Lvl 2 = 116

    • Lvl 3 = 295

    • Lvl 4 = 124

    • Lvl 5 = 16

    • Lvl 6 = 43

Roadmap

  • Current development priorities

    • Margin Engine V2 (allows flash to list +200 perps)

    • RWA Listings

    • Make mobile UI faster

    • Revamped onboarding experience (privy)

    • UI revamp with major improvements

  • Features or improvements coming up next

    • Magic Block (in works with weekly syncs)

    • Futarchic governance

    • Chainlink oracle as backup (still discussing)

    • Volmex finance’s indices based perps (BVIV, SVIV, etc) (finalising steps)

    • FLP integration into Kamino (awaiting V2 launch)

Download Reports here:

136KB
April 2025 Protocol Report.pdf
pdf
FLP.1 = PT + YT
Sandglass Protocol
Sandglass Protocol
Sandglass
Flash Trade Leaderboard
Discord
Solana Status
Solana Status
Discord
https://flash.trade
https://flash.trade
Market page
Leverage page
Points page
Leaderboard page
Discord
Loops page
Borrow page
Points page
Leaderboard page
Discord

How to Swap Tokens

Flash Trade's integrated swap functionality allows you to exchange tokens directly within the platform, making it easy to acquire the assets you need for trading and liquidity provision.

Overview

The swap feature supports all major Solana tokens and provides two interface modes to accommodate different user preferences:

  • Easy Mode (EZY) - Simplified interface for quick swaps

  • Professional Mode (PRO) - Advanced interface with market data and live trading feed

Prerequisites

Before using the swap feature:

  • ✅ Connected Solana wallet (Phantom, Solflare, Backpack, etc.)

  • ✅ Sufficient SOL for transaction fees

  • ✅ Source tokens in your wallet for swapping

Step-by-Step Swap Guide

1

Step 1: Access the Swap Interface

  1. Navigate to flash.trade

  2. Click the "Swap page" tab in the top navigation menu

  3. Ensure your wallet is connected

2

Step 2: Choose Your Interface Mode

Select your preferred trading interface:

  • EZY Mode: Clean, simplified interface focusing on essential swap functions

  • PRO Mode: Advanced interface with price charts, market data, and live trading activity

Toggle between modes using the EZY/PRO switch at the bottom left of the interface.

3

Step 3: Configure Your Swap

(Pay) Select Source Token

  1. Click the dropdown in the "Pay" field

  2. Choose the token you want to swap from

  3. Enter the amount or use percentage buttons (25%, 50%, 75%, 100%)

(Receive) Select Destination Token

  1. Click the dropdown in the "Receive" field

  2. Choose the token you want to receive

  3. The estimated amount will automatically calculate

4

Step 4: Review Swap Details

Before executing, review the following information:

  • Exchange Rate: Current price between token pairs

  • Slippage Tolerance: Price movement protection (adjustable)

  • Route Info: Trading path your swap will take

  • Price Impact: How your trade affects market price

  • Minimum Received: Worst-case scenario amount

5

Step 5: Execute the Swap

  1. Click "Enter Amount" if you haven't specified quantities

  2. Review final details in the confirmation

  3. Click "Swap" to proceed

  4. Confirm the transaction in your wallet

  5. Wait for blockchain confirmation


Interface Features

Activity Tab

Track your swap history by clicking the Activity tab:

  • Time: When each swap occurred

  • Type: Transaction type (SWAP)

  • Balance Change: Tokens exchanged and amounts

  • Transaction: Blockchain transaction hash for verification

Balances Tab

Monitor your wallet contents in the Balances tab:

  • Asset: Token name and symbol

  • Balance: Amount held in your wallet

  • Value: USD equivalent

  • Price: Current market price per token

Professional Mode Features

When using PRO mode, you gain access to:

  • Token Search: Quickly find specific tokens

  • Price Charts: Visual price data and trends

  • Live Trading Feed: Real-time trading activity

  • Market Statistics: Volume, price changes, and market data


Slippage and Price Protection

Slippage Tolerance

Slippage tolerance protects against unfavorable price movements during swap execution:

  • Auto (Recommended): Platform automatically sets optimal slippage

  • Custom: Manually adjust based on market conditions

  • Low Slippage: Better for stable/major token pairs

  • Higher Slippage: May be needed for volatile or low-liquidity tokens

Price Impact

Monitor price impact to understand how your trade affects the market:

  • <0.1%: Minimal impact

  • 0.1-1%: Low impact, good for most trades

  • 1-3%: Moderate impact, acceptable for medium trades

  • >3%: High impact, consider reducing trade size


Fees and Routing

Swap Fees

Flash Trade's swap feature uses Jupiter DEX infrastructure:

  • Platform Fee: Competitive rates across all token pairs

  • Network Fee: Standard Solana transaction costs (typically <$0.01)

  • Route Optimization: Automatic best-price routing through Jupiter

Route Information

The swap interface displays routing details:

  • Direct Route: Single DEX execution

  • Split Route: Multiple DEX execution for better prices

  • Multi-hop Route: Through intermediate tokens for optimal pricing


Troubleshooting

Common Issues and Solutions

Transaction Failed

  • ✅ Increase slippage tolerance

  • ✅ Reduce trade size

  • ✅ Ensure sufficient SOL for fees

  • ✅ Check network congestion

High Price Impact

  • ✅ Reduce swap amount

  • ✅ Split into multiple smaller swaps

  • ✅ Try different time when liquidity is higher

Token Not Found

  • ✅ Verify token contract address

  • ✅ Check token symbol spelling

  • ✅ Ensure token exists on Solana

Insufficient Balance

  • ✅ Verify wallet contains source tokens

  • ✅ Account for transaction fees

  • ✅ Refresh wallet connection


Security Best Practices

  • ⚠️ Verify Token Addresses: Always confirm you're swapping legitimate tokens

  • ⚠️ Check Price Impact: Large impacts may indicate low liquidity or market manipulation

  • ⚠️ Monitor Slippage: Set appropriate tolerances for market conditions

  • ⚠️ Start Small: Test with smaller amounts when trying new token pairs

Next Steps

After successfully swapping tokens:

  • Make Your First Trade - Use your new tokens for perpetual trading

  • Provide Liquidity - Earn fees by adding tokens to Flash Trade pools

  • Stake FAF - Participate in protocol governance and earn rewards


Need Help?

Join our Discord community for real-time support.

Remember:

Legitimate support will never ask for your private keys or recovery phrase.

NX Finance

FLP.1 tokens from Flash Trade are now integrated with NX Finance. This integration unlocks new strategies for FLP.1 holders to optimize their yield exposure.

What is NX Finance?

NX Finance is Solana's pioneering yield layer protocol that provides yield leveraging and point farming strategies. As a composable yield platform, NX Finance empowers users to amplify returns from premium interest-bearing assets through sophisticated leverage mechanisms, offering up to 7x yield multiplication on quality assets within the Solana ecosystem.

FLP's Role on NX Finance

FLP tokens from Flash Trade serve as premium collateral assets on NX Finance, leveraging their consistent yield generation from perpetual trading fees. This integration creates powerful opportunities for Flash Trade users to amplify their existing returns through the Fulcrum Strategy.

Key Integration Benefits

  • Yield Amplification - Multiply FLP returns through 3x leverage

  • Point Farming - Earn NX points for potential airdrops while maintaining FLP exposure

  • Capital Efficiency - Access additional yield without selling FLP positions


FLP Leverage Strategies on NX Finance

The Fulcrum Strategy

The Fulcrum Strategy allows users to leverage their FLP holdings through a sophisticated lending and borrowing mechanism designed to amplify yield generation.

Current Parameters:

  • Maximum Leverage: 3x for FLP.1

  • Supported Collateral: FLP.1 tokens

  • Borrow Assets: USDC, USDT

  • Amplified APY

Leverage Mechanics for FLP

When users deposit FLP tokens on NX Finance, the protocol enables borrowing against this collateral to purchase additional FLP, creating a leveraged position that amplifies both potential returns and risks.

The Core Process:

Deposit FLP.1 as collateral2. Borrow USDC/USDT against FLP holdings3. Protocol converts borrowed assets to additional FLP4. Enhanced yield generation from larger FLP position

The Compounding Effect:

  • Original FLP earns trading fees from Flash Trade perpetuals

  • Borrowed funds purchase additional FLP tokens

  • Additional FLP also earns trading fees

  • Combined yield significantly exceeds base FLP returns

Yield Calculation Example: With 3x leverage on FLP earning 70% base APY and 20% borrow costs:

Amplified APY = 70% + (3-1) × (70% - 20%) = 170%

Here is a link to the NX Finance Leverage platform.


Strategic Applications

Risk-Adjusted Positioning

Users can optimize their FLP exposure through strategic leverage management based on market conditions and Flash Trade volume expectations.

Conservative Approach:

  • 3x leverage on FLP.1 (maximum available)

  • Focus on stable yield amplification

  • Maintain healthy liquidation buffers

Risk Management Focus:

  • Monitor Flash Trade volume trends

  • Active position health monitoring

  • Conservative leverage utilization

Liquidation Management

Understanding liquidation thresholds is crucial for successful FLP leverage strategies on NX Finance.

Key Liquidation Metrics:

  • Health Factor: Determines liquidation proximity

  • Liquidation Threshold: Asset-specific liquidation triggers

  • Safety Buffer: Recommended distance from liquidation price

Liquidation Protection Strategies:

  • Monitor Flash Trade volume trends affecting FLP yields

  • Maintain conservative leverage ratios during volatile periods

  • Set alerts for health factor changes

  • Consider partial position closures during market stress


Dual Rewards System

The Double-Earning Advantage

Flash Trade users leveraging FLP on NX Finance benefit from earning rewards across both platforms simultaneously, creating multiplicative returns while maintaining diversified exposure.

NX Finance Benefits:

Users accumulate NX Points through platform engagement, potentially leading to future airdrops or protocol benefits. Points are earned through:

  • Depositing FLP as collateral

  • Maintaining leveraged positions

  • Special campaign participation

  • Team-based point farming activities

Flash Trade Voltage Points (VP):

FLP deployed on NX Finance continues generating VP at the standard rate of 50 points per dollar of LP fees earned. The leverage multiplier effect means amplified FLP positions generate more trading fees, resulting in accelerated VP accumulation.

VP Benefits:

  • Higher VP totals improve FAF reward multipliers

  • Leveraged positions = more fees = more VP

  • Better epoch rankings and reward distributions

Point Farming Requirements

Critical Requirement: Users MUST create or join a team on NX Finance to participate in point accumulation. Without team membership, no points will be calculated regardless of deposit amounts.

Team Benefits:

  • Point Nadventure participation

  • Enhanced reward multipliers

  • Community engagement opportunities

  • Priority access to new features

Here is a link to NX Finance & Flash Trade Leaderboard.


Risk Considerations

Understanding the Risk Spectrum

While FLP leverage on NX Finance offers enhanced returns, it introduces amplified risk factors that require careful consideration and active management.

FLP-Specific Risks:

  • Volume Dependency: FLP returns depend heavily on Flash Trade volume and market activity. During slow trading periods, yield generation may decline significantly.

  • Platform Risk: Exposure to Flash Trade's perpetuals platform creates additional smart contract and operational risks beyond standard DeFi lending.

Leverage Amplification Effects:

  • Liquidation Scenarios: 3x leverage increases liquidation risk if FLP values decline. Users must maintain adequate health factors to avoid position closure.

  • Interest Rate Volatility: Borrowing costs can fluctuate based on utilization rates, affecting overall profitability.

  • Market Correlation: Crypto market downturns can simultaneously affect FLP values and trading volumes, creating compounded risk exposure.

Getting Started Guide

Prerequisites

Before leveraging FLP on NX Finance, ensure you have the necessary foundation for success:

  • Hold FLP.1 tokens from Flash Trade

  • Understand leverage mechanics and liquidation risks

  • Have clear market outlook on Flash Trade volume trends

  • Familiarity with borrowing and collateral management

Step-by-Step Implementation

Initial Setup:

  1. Visit NX Finance

  2. Connect your Solana wallet

  3. Navigate to the Leverage section

  4. Select FLP.1 from available collateral options

Team Creation (Required):

  1. Create or join a team for Point Nadventure

  2. Verify team membership for point accumulation

  3. Review point earning mechanics and requirements

Position Configuration:

  1. Select FLP.1 as collateral asset

  2. Set desired leverage ratio (up to 3x maximum for FLP.1)

  3. Review liquidation price and health factor

  4. Execute the leverage transaction

Ongoing Management:

  • Monitor position health factor regularly

  • Track Flash Trade volume trends

  • Observe point accumulation across both platforms

  • Plan exit strategies before market volatility

Success Principles

Start Conservative: Begin with 2x leverage and work up to the 3x maximum as you gain experience with the platform mechanics.

Monitor Volume: Flash Trade volume trends directly impact FLP yield potential and should guide position timing.

Risk Management: Set up alerts for health factor changes and maintain emergency collateral reserves.

Regular position review ensures strategies remain profitable and aligned with changing market conditions while maximizing the dual rewards potential across both Flash Trade and NX Finance ecosystems.

Important Notice:

Yield trading involves significant risks including potential loss of principal. This information is for educational purposes only and should not be considered financial advice. Always conduct thorough research and never risk more than you can afford to lose.

Need Help?

For additional support or questions about using NX Finance, consult with them on the NX Finance Discord. Remember: legitimate support will never ask for your private keys or recovery phrase.

sFLP

sFLP is Flash Trade's active reward liquidity token that pays out in USDC.

Key Features:

  • Claiming: Trading fees paid directly in USDC every hour

  • 70% Fee Share: Same fee percentage as FLP but paid in USDC

  • Non-Tradable: Can only be minted on Flash's earn page

  • Voltage Points: Generates VP for FAF staking multipliers

  • Direct USDC Payouts: Receive rewards in stablecoin

Best For: Users who prefer direct USDC payouts and don't mind active reward management.

How to Mint or Burn FLP/sFLP

Step-by-Step Instructions

1

Navigate to the Pool

  1. Go to Flash.Trade and click the "Earn" tab

  2. Choose one of two ways to access the pool:

Option A: From Active Positions (if you already have positions)

  • Look for "Your Active Positions" (desktop) or "Liquidity Summary" (mobile)

  • Click on your desired pool

Option B: From Pool Cards

  • Scroll to "Flash Liquidity Pools" section

  • Hover over your desired pool card (desktop) or tap dropdown (mobile)

  • Click "Discover More"

2

Choose Your Token Type

You'll see two tabs at the top:

  • FLP.1 (Left tab) - Auto-compounding liquidity token

  • sFLP.1 (Right tab) - Staked liquidity token (rewards in USDC)

Click the tab for your preferred token type.

3

Access the Mint Section

  • Look for the "Mint FLP" or "Mint sFLP" section on the right side of the page

  • This section shows your current balance and minting options

4

Select Your Asset

  1. Click the asset dropdown (defaults to USDC)

  2. Choose from available assets: USDC, SOL, BTC, ETH, or JitoSOL

5

Enter Amount

  1. Enter the amount you want to deposit in the input field

  2. Use the percentage buttons (25%, 50%, 75%, 100%) for quick selection

  3. Review the estimated tokens you'll receive

  4. Check the current fees displayed

6

Execute the Mint

  1. Click "Mint FLP" or "Mint sFLP" button

  2. Review the transaction details in your wallet

  3. Confirm the transaction

  4. Wait for blockchain confirmation

1

Navigate to Your Position

  1. Go to the "Earn" tab

  2. Access your pool using either method described above

2

Select the Correct Tab

  • Click "FLP.1" tab to burn FLP tokens

  • Click "sFLP.1" tab to burn sFLP tokens

3

Access the Burn Section

  • Look for "Burn FLP" or "Burn sFLP" section on the right side

  • This shows your current token balance

4

Choose Receiving Asset

  1. Click the asset dropdown to select what asset you want to receive

  2. Choose from available options: USDC, SOL, BTC, ETH, or JitoSOL

5

Enter Burn Amount

  1. Enter the amount of FLP/sFLP tokens you want to burn

  2. Use percentage buttons for quick selection

  3. Review the estimated assets you'll receive

  4. Check the burn fees (includes 0.05% penalty fee)

6

Execute the Burn

  1. Click "Burn FLP" or "Burn sFLP" button

  2. Review transaction details in your wallet

  3. Confirm the transaction

  4. Wait for blockchain confirmation

Important Limitations & Troubleshooting

Pool Utilization Cap

  • There is a cap on utilization through trading of any pool at 90%

  • Withdrawing/burning FLP is possible under most conditions

  • If utilization reaches 100% from withdrawals and max utilization by traders, burning FLP to receive the desired token will not be possible until utilization drops below 100%

Token Ratio Restrictions

Minting Issues:

  • If a token is at its Ratio Max, FLP will not be mintable using that token

  • Solution: Try minting using another token present in FLP (e.g., if SOL is at ratio max, try ETH, BTC, or USDC)

Burning Issues:

  • If a token is at its Ratio Min, FLP will not be burnable for that token

  • Solution: Try burning to receive another token as the receiving asset (e.g., if SOL is at ratio min, try ETH, BTC, or USDC)

Collecting sFLP Rewards


Techincal Breakdown & Formulas

Fee Structure

Minting FLP Fee

A dynamic fee that depends on the balance of assets in FLP after the liquidity is added.

Formula:

Burning FLP Fee

A dynamic fee that depends on the balance of assets in FLP after the liquidity is removed. An additional 5bps (0.05%) penalty fee is also added to discourage frequent withdrawals.

Formula:


Technical Fee Calculation Details

The components of fees are calculated using the following formulas:

For Adding Liquidity:

For Removing Liquidity:

Token
Fee Target
Fee Max
Base Fee

Pool Token Ratios

TOKEN
Target ratio
Min ratio
Max ratio
TOKEN
Target ratio
Min ratio
Max ratio
TOKEN
Target ratio
Min ratio
Max ratio

Need Help?

For additional support or questions about using Flash Trade, consult with us on . Remember: legitimate support will never ask for your private keys or recovery phrase.

Margin Framework

Flash Trade's margin system uses two key parameters to manage risk and enable leveraged trading across different asset pools. Understanding these requirements is essential for maintaining healthy positions and avoiding liquidations.

Overview

The margin framework consists of two main components:

  • Minimum Initial Margin - Minimum collateral required to open a position

  • Minimum Maintenance Margin - Minimum collateral required to keep a position open

These parameters vary by pool type to reflect different risk profiles and market conditions.


Margin Requirements by Pool

Pool
Assets
Min Init. Margin
Min Maint. Margin
Max Leverage

Understanding the Numbers

Initial Margin (Opening Positions):

  • Pool 1: 1% = 100x maximum leverage

  • Pool 2: 0.5% = 100x maximum leverage

  • Pool 3: 5% = 50x maximum leverage

Maintenance Margin (Keeping Positions Open):

  • Pool 1: 0.2% = 500x effective leverage at liquidation

  • Pool 2: 0.25% = 200x effective leverage at liquidation

  • Pool 3: 1.0% = 100x effective leverage at liquidation


High Volatility Flag Impact

During periods of high market volatility, Flash Trade's pricing engine activates special risk management protocols that affect collateral valuation and position management.

Collateral Valuation During Volatility

When the High Volatility Flag is active (as defined in the Price Engine section):

Conservative Pricing: The lower bound of Pyth's confidence interval determines your collateral value, providing extra protection against rapid price movements.

Position Pricing During Volatility

During High Volatility Flag periods, position pricing follows conservative principles:

Risk-Minimizing Approach: Prices used for opening/closing positions and liquidation calculations will maximize liabilities and minimize assets for traders.


Position-Specific Volatility Rules

When holding long positions during High Volatility Flag periods:

Price Impact:

  • Lower bound of Pyth's confidence interval is used for both:

    • Collateral valuation (discounted value)

    • Current PnL calculation (reduced profits)

Liquidation Risk:

  • Double impact from discounted collateral AND reduced PnL

  • If combined effect drops below maintenance margin → Liquidation triggered

Example Scenario:

Long SOL Position: $100 collateral, $150 current price Pyth Price: $150 ± $10 confidence interval High Volatility Flag: Uses $140 (lower bound) Result: Both collateral and PnL calculated at $140

When holding short positions during High Volatility Flag periods:

Price Impact:

  • Upper bound of Pyth's confidence interval is used as a premium

  • This increases the effective price affecting your position's PnL

  • Higher effective prices reduce short position profitability

Liquidation Risk:

  • If the adjusted pricing causes collateral to fall below maintenance margin → Liquidation triggered

  • Stablecoin depegs compound this risk by reducing collateral value below $1

Example Scenario:

Short ETH Position: $2,000 entry price Pyth Price: $1,950 ± $50 confidence interval High Volatility Flag: Uses $2,000 (upper bound) Result: No profit recognition despite favorable market move

Risk Management Implications

Risk Factor
Impact
Mitigation
Risk Factor
Impact
Mitigation

Best Practices

1

Margin Management

  • Maintain Buffer: Keep collateral well above minimum requirements

  • Monitor Volatility: Watch for High Volatility Flag activation

  • Size Appropriately: Use lower leverage during uncertain periods

2

Risk Monitoring

  • Track Confidence Intervals: Large intervals indicate higher risk periods

  • Position Health: Regularly check how volatility pricing affects your positions

  • Liquidation Distance: Calculate margin to liquidation under worst-case pricing

3

Strategic Considerations

  • Volatility Timing: Consider closing positions before volatile events

  • Collateral Quality: Prefer stable collateral during uncertain periods

  • Leverage Scaling: Reduce leverage when confidence intervals widen


Technical Details

Position Health = (Collateral Value + Unrealized PnL) / Position Size

Where during High Volatility Flag:

  • Collateral Value = Lower Bound of Confidence Interval

  • Unrealized PnL = Calculated using bounds that minimize trader assets

Liquidation occurs when: Adjusted Position Health < Maintenance Margin Requirement

For Pool 1: Health < 0.2% of position size For Pool 2: Health < 0.25% of position size For Pool 3: Health < 1.0% of position size

How to Claim Your Revenue Share

This guide shows you how to claim your USDC revenue share as a FAF staker on Flash Trade.

Step-by-Step Instructions

1

Connected Solana wallet

2

Navigate to the Token Page

  1. Click the in the top navigation menu.

  2. Make sure it is the wallet that has staked FAF tokens on Flash Trade

3

Check Your Available Revenue Share

Look for the "Your Revenue Share" section to see your claimable USDC amount.

4

Claim Your Revenue

If you have revenue available:

  1. Click the "Claim Revenue" button

  2. Confirm the transaction in your wallet

  3. USDC will be deposited directly to your wallet

Important Notes

  • You can claim your revenue share at any time

  • Revenue continues to accumulate as long as your FAF remains staked

  • You'll need a small amount of SOL for transaction fees

Learn More

For detailed information about how revenue sharing works, visit our .

That's it! Your USDC revenue share is now in your wallet.

Need Help?

For additional support or questions about using Flash Trade, consult with us on . Remember: legitimate support will never ask for your private keys or recovery phrase.

Crypto (Pool 1)

BTC, ETH, SOL

1% of position size

0.2% of position size

100x / 500x

Synthetic (Pool 2)

FX, Metals, Oil

1% of position size

0.5% of position size

100x / 200x

Solana Beta (Pool 3)

JUP, JTO, RAY, etc.

2% of position size

1.0% of position size

50x / 100x

Discounted Collateral

Reduced margin buffer

Monitor confidence intervals

Lower Bound PnL

Conservative profit calc

Plan for volatility periods

Double Discount

Accelerated liquidations

Use conservative leverage

Price Premiums

Reduced profitability

Monitor volatility flags

Stablecoin Depegs

Collateral value loss

Use diversified collateral

Upper Bound Pricing

Earlier liquidations

Maintain higher margins

Token tab
Revenue Sharing documentation
Discord

Guide On How to Mint sFLP

Check out our guide for how to collect sFLP rewards.

Cover
Cover
MintFeetotal=LPaddVariable+LPaddBaseMintFee_{total} = LP_{addVariable}+LP_{addBase}MintFeetotal​=LPaddVariable​+LPaddBase​
BurnFeetotal=LPremoveVariable+LPremoveBase+LPpenaltyFeeBurnFee_{total}=LP_{removeVariable}+LP_{removeBase}+LP_{penaltyFee}BurnFeetotal​=LPremoveVariable​+LPremoveBase​+LPpenaltyFee​
LPaddVariable=M(Ratio)+bM=Feetarget−FeeminRatiotarget−Ratiominb=Feemin−M(Ratiomin)LP_{addVariable}=M(Ratio)+b \\ M = \frac{Fee_{target}-Fee_{min}}{Ratio_{target}-Ratio_{min}} \\ b=Fee_{min}-M(Ratio_{min})LPaddVariable​=M(Ratio)+bM=Ratiotarget​−Ratiomin​Feetarget​−Feemin​​b=Feemin​−M(Ratiomin​)
LPremoveVariable=M(Ratio)+bM=Feetarget−FeemaxRatiotarget−Ratiominb=Feemax−M(Ratiomin)LP_{removeVariable}=M(Ratio)+b \\ M = \frac{Fee_{target}-Fee_{max}}{Ratio_{target}-Ratio_{min}} \\ b=Fee_{max}-M(Ratio_{min})LPremoveVariable​=M(Ratio)+bM=Ratiotarget​−Ratiomin​Feetarget​−Feemax​​b=Feemax​−M(Ratiomin​)

Pool 1 Tokens

0.0010

0.0025

.0005

Pool 3/4/5 Tokens

.0015

.00375

.00075

USDC (Pool 1)

.0010

.00025

.0005

BTC

22.5%

10%

30%

ETH

5%

6%

20%

SOL

27.5%

20%

40%

USDC

45%

35%

55%

JUP

20%

10%

40%

JTO

15%

10%

20%

RAY

5%

2%

12%

KMNO

15%

5%

20%

PYTH

2%

1%

10%

W

3%

1%

10%

USDC

40%

30%

50%

BTC

70%

1%

100%

USDC

30%

1%

100%

Discord
Collecting sFLP USDC Rewards

Voltage Points and FAF Rewards System

🚨 Important System Update

Starting with Epoch 4 (Current): Flash Trade has implemented a new hybrid reward system.

Registration Required: Non-stakers must register to participate in the VP program and earn epoch rewards.


Current System (Epoch 4+)

Overview

Flash Trade now uses a hybrid reward system that combines FAF staking with activity-based Voltage Points. This system rewards both holding staked FAF tokens and actively using the platform.

Two-Tier Participation Structure

The system has two participant categories with different earning rates and reward calculations:

  • Staked FAF Holders: Users who stake FAF tokens and use the platform

  • Non-Staked Participants: Users who register and use the platform without staking FAF

VP Earning Rates by Activity and Staking Status

Activity
Staked FAF Holder
Non-Staked Participants

Trading Volume

1 VP per $1

0.5 VP per $1

LP Fees Earned

100 VP per $1

100 VP per $1

Referral Rebates

400 VP per $1

400 VP per $1

Registration Requirement

Important: Non-staked participants must register for the VP program to be eligible for rewards. Without registration, no VP will be earned regardless of activity level.

Current Reward Distribution

For Staked FAF Holders

Staked FAF holders get rewards through a 50/50 split:

Final Rewards = (Stake-Based Rewards × 50%) + (VP-Based Rewards × 50%)

Where:

  • Stake-Based Rewards = (Your FAF Stake / Total FAF Staked) × Stake Reward Pool

  • VP-Based Rewards = Based on your VP ranking among all participants

  • Minimum Requirement: VP > 0 (no activity = no rewards)

For Non-Staked Participants

Non-staked participants get rewards based only on activity:

Final Rewards = VP-Based Rewards only

Where:

  • Effective VP = Earned VP × 0.5 (50% penalty applied)

  • Rewards based solely on effective VP ranking position

  • Registration Required: Must register to participate

How to Register for Non-Stakers

Earning Voltage Points

Registration Process (Non-Staked Users)

You must complete registration through the Flash Trade platform to begin earning VP and be eligible for epoch rewards.

Activities that Generate VP

1

Trading Activity

Perpetuals trading volume across all supported markets

2

Liquidity Provision

  • Fees earned from FLP/sFLP liquidity provision

  • Includes fees from all Flash Trade pools

3

Referral Program

Rebates earned from users you referred to the platform

4

Through Partner Protocols

Earn VP by using FLP tokens across partner platforms:

Currently Supported

  • Loopscale - VP through FLP leverage strategies and lending 2X VP Boost

  • Sandglass - VP through FLP yield trading activities 1.5X VP Boost

  • NX Finance - VP through FLP leveraged yield farming

  • RateX - VP through FLP yield trading activities

  • Kamino - Coming Soon

Partner VP earnings follow the same 50 VP per $1 in fees structure across all supported protocols.

Epoch Cycle

Each epoch runs for exactly 30 days, during which:

  1. VP Accumulation: Users earn VP through platform activities

  2. Dynamic Competition: Rankings update based on performance

  3. Epoch End: Final VP totals determine rewards

  4. VP Reset: All VP resets to zero

  5. New Epoch: Next period starts immediately

Timing Considerations

  • Early Participation: Starting VP accumulation early in an epoch provides more time to climb rankings

  • Consistent Activity: Regular engagement helps maintain rank position

  • End-of-Epoch Push: Final days often see increased competition as users vie for higher ranks

Strategic Implications

For Current System (Epoch 4+)

Staked FAF Holders

  1. Trading Advantage: 2x VP rate on trading volume

  2. Equal Opportunity: Same LP and referral rates as non-stakers

  3. Dual Rewards: Both stake-based and activity-based rewards

  4. Activity Requirement: Must maintain VP > 0 for any rewards

Non-Staked Participants

  1. Must Register: Registration required before earning any VP

  2. Trading Disadvantage: Half the VP rate on trading volume

  3. Equal LP/Referral Rates: Same earning potential as stakers for these activities

  4. 50% VP Penalty: Only half of earned VP counts toward rankings

  5. Focus Strategy: Emphasize LP provision and referrals for maximum efficiency

Risk Management

  • Monitor your rank position regularly throughout the epoch

  • Don't chase rankings at the expense of sound trading decisions

  • Remember that VP multipliers enhance existing FAF rewards - ensure you have meaningful staking positions

Important Requirements

Current System Requirements

  • Staked FAF Holders: Must have VP > 0 to receive any rewards

  • All Participants: VP cannot be transferred between wallets

  • Competition: Rankings are relative to all participants

Registration

  • Non-staked users must register to participate in the VP program

  • Registration is a one-time process per wallet

  • Without registration, no VP will be earned from any activity

System Evolution

Flash Trade's reward system has evolved to better balance capital commitment and active participation. The current hybrid approach ensures fair opportunities for different types of users while maintaining competitive incentives.

Future Changes: The system may continue to evolve based on community feedback and platform development, following Flash Trade's governance processes.


Legacy Ranking System (Epoch 1-3)

Overview

The original Voltage Points system used competitive multipliers applied to FAF staking rewards. VP tracked platform engagement and translated it into bonus rewards at the end of each 30-day epoch.

Legacy VP Earning Rates

All users earned VP at the same rates regardless of staking status:

Activity
VP Rate
Description

Trading Volume

1 VP per $10

Cumulative perpetuals trading volume

LP Fees Earned

50 VP per $1

Fees generated from liquidity provision

Referral Rebates

250 VP per $1

Rebates from users you referred

Legacy Ranking System

Rankings were distributed across six tiers based on percentile performance:

Rank multipliers
Rank
Percentile Threshold
Reward Multiplier

Rookie

Top 35%

1.0x

Degenerate

Top 30%

1.2x

Flow Master

Top 15%

1.4x

Ape Trade

Top 12%

1.6x

Perp King

Top 5%

1.8x

Giga Chad

Top 3%

2.0x

Dynamic Competition

Since rankings are percentile-based, your position can change throughout the epoch. Consistent activity helps maintain or improve your rank, while periods of inactivity may result in rank decline as other users accumulate more VP.

Legacy Reward Calculation

How Multipliers Apply

At the end of each epoch, your VP total determines your rank, which sets your reward multiplier. This multiplier applies to your FAF staking rewards:

Your Rewards = (your_time_weighted_stake × your_vp_multiplier × total_epoch_rewards) / Σ(each_time_weighted_stake × corresponding_vp_multiplier)
  1. Your time-weighted stake = How much FAF you had staked and for how long during the epoch

  2. Your VP multiplier = 1.0x, 1.2x, 1.4x, 1.6x, 1.8x, or 2.0x based on your VP tier

  3. Total epoch rewards = The total FAF rewards available for that epoch

  4. Denominator = Sum of everyone's (stake × their VP multiplier)

  • It was truly competitive - your rewards depended not just on your own stake and VP, but on everyone else's performance too

  • Higher VP multipliers gave you a bigger slice of the total reward pie

  • If everyone had high multipliers, the advantage was smaller than if you were the only one with a high multiplier


This documentation covers both current and legacy systems. Always refer to the current system (Epoch 4+) for active participation.

The Flash Trade Origin Story

Overview

Flash Trade's journey from concept to a $14 billion volume protocol represents one of the most unconventional and successful launches in DeFi history. This is the story of how two developers' struggles with Ethereum's limitations, combined with their resilience through the FTX collapse, led to the creation of Solana's premier perpetuals exchange.

Chapter 1: From Ethereum Struggles to Solana Discovery

The EVM Challenge

Before Flash Trade existed, founders Anas and Xoheb were deep in the trenches of Ethereum DeFi development. Working on their project Investin, they encountered the harsh realities of building on the Ethereum Virtual Machine (EVM):

  • Three months of gas optimization - The team spent countless hours optimizing contracts for every possible gas saving

  • Direct outreach to Vitalik Buterin - Desperate for solutions, they reached out to Ethereum's founder to understand the platform's technical limitations

  • Technical deep dives - Extensive research into EIP 2200 gas optimizations and SSTORE operations

  • Fundamental limitations - Despite their efforts, they realized Ethereum wasn't built for fast, low-latency, cheap settlements

The Solana Revelation

The discovery of Solana marked a paradigm shift for the team:

  • Magical composability - Features that were impossible on Ethereum became trivial on Solana

  • Speed and cost efficiency - Transaction costs measured in fractions of pennies rather than hundreds of dollars

  • Technical superiority - A blockchain actually designed for the high-performance applications they envisioned

Chapter 2: The FTX Crisis and Team Resilience

Impact of the FTX Collapse

The November 2022 FTX collapse devastated the entire Solana ecosystem:

  • Ecosystem-wide damage - Most Solana projects, including Investin, were forced to halt operations

  • Liquidity crisis - Massive capital flight from the Solana ecosystem

  • Market sentiment - Widespread belief that Solana was "dead"

Team Response During the Crisis

Internal communications from December 2022 reveal the team's mindset during the darkest period:

  • "Everything is dying one last dump" - Acknowledgment of the severity

  • "Stuff is burning in flames" - Recognition of the ecosystem collapse

  • "We bid it all" - Commitment to buying during maximum fear

  • "Whatever happens happens for good" - Philosophical acceptance and long-term thinking

Rather than retreating, the team saw opportunity in the crisis and continued building.

Chapter 3: The Bootstrap Philosophy

Unconventional Funding Approach

While other projects pursued traditional venture capital routes, Flash Trade chose a different path:

  • No external investors - Complete independence from VC funding

  • Self-funded development - Team equity and personal resources at stake

  • Skin in the game - Every decision carried personal financial risk

  • Organic growth focus - Building sustainable revenue rather than relying on fundraising

Strategic Reasoning

The bootstrap approach offered several advantages:

  • Aligned incentives - Team success directly tied to protocol success

  • No external pressure - Freedom to build without investor demands

  • Sustainable economics - Focus on actual revenue generation

  • Community ownership - Ability to distribute tokens to users rather than investors

Chapter 4: The Beast NFT Innovation

Revolutionary NFT Launch

The December 2023 Beast NFT launch introduced several firsts to the space:

  • 5,555 unique 3D NFTs - First-of-their-kind evolutionary NFTs on Solana

  • On-chain data storage - All NFT data stored directly on blockchain

  • Evolutionary mechanics - NFTs that grew and changed based on holder activity

  • Trading account integration - NFTs functioned as actual trading accounts

Financial Success and Community Return

The Beast NFT campaign achieved remarkable results:

  • $1.27 million raised - Initial funding for protocol development

  • >$1.3 million returned - More than 100% returns paid back to holders

  • Revenue-based returns - Payments came from actual trading revenue, not token dilution

  • Fair launch model - Possibly the fairest exchange launch in NFT history

Chapter 5: Growth and Metrics

15-Month Performance

Since public launch, Flash Trade has achieved significant milestones:

Metric
Achievement

Technical Foundation

Success built on superior technical choices:

  • Solana infrastructure - Leveraging blockchain designed for high-performance trading

  • Pool-to-peer model - Innovative liquidity provision mechanism

  • Oracle integration - Reliable price feeds for accurate execution

  • Asset-backed architecture - Real collateral backing all positions

Chapter 6: The FAF Token Philosophy

Community-First Tokenomics

FAF represents a new approach to protocol governance and ownership:

  • 80% community allocation - Majority of tokens distributed to early supporters

  • No arbitrary unlocks - Supply only increases through community votes

  • Real ownership - Genuine governance rights rather than cosmetic voting

  • Anti-dilution design - Protection against value extraction

Governance Innovation

The Futarchy model provides:

  • Market-driven decisions - Prediction markets determine protocol direction

  • Transparent process - All governance decisions publicly visible

  • Aligned incentives - Token holders rewarded for good decisions

  • Democratic participation - Real voice for all stakeholders

Chapter 7: Future Roadmap

Upcoming Developments

Flash Trade's roadmap includes several ambitious initiatives:

Spot Aggregation

  • Comprehensive spot trading integration

  • Multi-DEX liquidity aggregation

  • Optimal execution algorithms

FLP-Backed Stablecoin

  • Stablecoin collateralized by FLP tokens

  • DeFi-native stable value creation

  • Integration with existing Flash ecosystem

Purpose-Built Scaling Solution

  • Custom infrastructure for DeFi applications

  • CeFi speed with DeFi transparency

  • Foundation for next-generation financial applications

Chapter 8: Community and Acknowledgments

The Solana Ecosystem

Recognition of the broader community that enabled Flash Trade's success:

  • Resilient builders - Developers who continued building through the FTX crisis

  • Community support - Users who maintained faith in Solana's potential

  • Ecosystem collaboration - Protocols that worked together rather than competed destructively

Early Believers

Tribute to those who supported the vision from the beginning:

  • Beast NFT holders - The initial community that seeded the protocol

  • Early adopters - Users who traded when volumes were small

  • FAF stakers - Current community members who govern the protocol

  • Team dedication - Developers who sacrificed for the long-term vision

Core Philosophy

Flash Trade's development has been guided by consistent principles:

"If something burns your soul with purpose and desire, it's your duty to be reduced to ashes by it."

— Anas, Flash Trade Founder

Key Tenets

  • Do things the right way - No shortcuts or compromises on core principles

  • Transparent building - Open development and honest communication

  • Community ownership - Real stake for those who support the protocol

  • Sustainable growth - Revenue-driven expansion rather than hype cycles

  • Technical excellence - Building on superior infrastructure for long-term success

Conclusion

The Flash Trade origin story demonstrates that sustainable, community-focused protocols can succeed without traditional venture funding or hype-driven marketing. By choosing superior technology, maintaining principles during crisis, and prioritizing community ownership, Flash Trade has established itself as a leading protocol in the Solana ecosystem.

The journey from Ethereum's limitations to Solana's possibilities, through the FTX crisis to current success, illustrates the power of technical excellence combined with community-first philosophy. As the protocol continues to expand its capabilities and reach, these founding principles continue to guide its development.

This story serves as both historical record and philosophical foundation for Flash Trade's continued evolution in the decentralized finance landscape.

May 2025 Report

Overview:This is a rolling monthly report that covers data from the month of MayFinancial Performance (PnL):

  • Total Volume: $375,531,932

  • TVL change: + $606,783

  • Total fees Earned: $320,150 total fees accrued in USDC,

  • Fees paid to LP: $226,210

  • Protocol-retained revenue: Approximately $93,940

  • FLP Performance FLP1 = + 17.25%

Protocol Metrics:

  • New wallets on the platform: 1,431

  • Total Liquidation Volume: $10,204,889

  • Largest Spike in Liquidation: 10th May $1,095,920

  • Trading behavior insights:

    • Significant increase in EURO/USDC trading volume

    • Strong directional bias for JTO Short

  • Bugs and Other Improvements:

    • Improved Mobile memory issue. (Should be a lot faster to use on mobile)

    • Improved execution of TP and SL to be of exact price. Should be much better in hitting TP SL.

    • Made USDC as default of closing of positions

    • sFLP now earns VP continuously and not just on claiming rewards

  • New Features & Integrations

    • Completed third audit from Offside Labs

    • Added FLP on Sandglass for Yield Trading

    • Listed FLP on Loopscale for Leverage Looping

    • Bitget Wallet integration

    • Added Staking Leaderboard and VP Breakdown

    • PNL Tab added on trade page

FAF:

  • $FAF currently staked = 532,975,617.883 FAF

  • Proposal 01 : Passed in Favour of 50% Revenue Share

Roadmap

  • Current development priorities

    • Margin Engine V2 (Shown at Solana Summit)

    • RWA Listings such as OIL and SPX

    • Revamped onboarding experience (privy)

    • UI revamp with major improvements

  • Features or improvements coming up next

    • Magic Block (in works with weekly syncs)

    • Chart improvement on mobile and desktop

    • Chainlink oracle as backup (still discussing)

    • Volmex finance’s indices based perps (BVIV, SVIV, etc) (finalising steps)

Download Reports here:

Trading Volume

$14 billion

Protocol Revenue

$15 million

User Base

25,000 users worldwide

Geographic Reach

Global

134KB
May 2025 Protocol Report.pdf
pdf

Fees

Flash Trade implements a dynamic fee structure across different asset pools. Understanding these fees is essential for optimizing your trading strategy.

Overview

All trading fees consist of three main components:

  • Open/Close Fees - Charged when opening or closing positions

  • Margin Fees - Continuous fees on open positions based on utilization

  • Swap Fees - Applied when using different collateral assets


1

Pool 1: Crypto Assets (BTC, ETH, SOL)

Open/Close Fees

  • Rate: 0.051% (5.1 bps) of total position size

  • Applied: On both position opening and closing

Margin Fees

  • Rate: Variable based on pool utilization

  • Cap: 90% utilization maximum

  • Calculated by the formula below:

    MarginFee/Hr = \frac{\text{Utilization %}}{\text{100%}}(\frac{\text{Step2%}}{hour}) :\ \text{ Utilization %} \geq \text{72%}

Note: Utilization ≥ 72% triggers higher rates

Swap Fees

Applied when using non-native collateral:

  • Calculated by the formulas below:

SwapFeetotal=SwapFeepaying+BaseFeepayingSwapFee_{total}=SwapFee_{paying}+BaseFee_{paying} SwapFeetotal​=SwapFeepaying​+BaseFeepaying​

Fee Parameters:

Component
Rate

Fee Target

0.00075

Fee Max

0.0015

Base Fee

0.0002

2

Pool 2: Synthetic Assets

Supported Markets & Fees

Market
Open/Close Fee

FX

0.08%

Metals

0.10%

Crude Oil

0.15%

Margin Fees

  • Same structure as Pool 1 (Crypto Assets)

  • Utilization-based dynamic rates

3

Pool 3: Solana Assets

Supported: JUP, JTO, KMNO, RAY, PYTH, W

Open/Close Fees

  • Standard Rate: 0.11% of position size

Swap Fees

  • Calculated by the formulas below:

SwapFeetotal=SwapFeepaying+SwapFeereceiving+BaseFeepaying+BaseFeereceivingSwapFee_{total}=SwapFee_{paying}+SwapFee_{receiving}+BaseFee_{paying} +BaseFee_{receiving}SwapFeetotal​=SwapFeepaying​+SwapFeereceiving​+BaseFeepaying​+BaseFeereceiving​

Fee Parameters:

Component
Rate

Fee Target

0.001125

Fee Max

0.00225

Base Fee

0.0003

4

Pools 4+ : Meme Assets

Supported: BONK, WIF, PENGU, SAMO, FARTCOIN

Open/Close Fees

  • Rate: 0.12% of position size

  • Applied: All meme tokens

Margin & Swap Fees

  • Margin: Same as Pool 1

  • Swap: Same formula as Pool 3

Token Pool Compositions

TOKEN
Target ratio
Min ratio
Max ratio

BTC

22.5%

15%

40%

USDC

45%

25%

55%

JitoSOL

24.50%

14%

45%

SOL

3.00%

0.10%

45%

ETH

5%

2%

12%

TOKEN
Target ratio
Min ratio
Max ratio

JUP

20%

10%

40%

USDC

40%

25%

80%

RAY

5%

5%

40%

JTO

15%

10%

40%

KMNO

15%

2%

20%

W

3%

1%

10%

PYTH

2%

1%

10%

TOKEN
Target ratio
Min ratio
Max ratio

PENGU

30%

1%

100%

BONK

40%

1%

100%

USDC

30%

1%

100%

TOKEN
Token Ratio
Min Ratio
Max Ratio

WIF

70%

1%

100%

USDC

30%

1%

100%

TOKEN
Token Ratio
Min Ratio
Max Ratio

SAMO

70%

1%

100%

USDC

30%

1%

100%

TOKEN
Token Ratio
Min Ratio
Max Ratio

FARTCOIN

70%

1%

100%

USDC

30%

1%

100%


Margin Fee Rates by Asset

Asset
≤ Optimal Utilization
> Optimal Utilization

BTC

30%

105%

SOL

56%

105%

ETH

30%

105%

Asset
≤ Optimal Utilization
> Optimal Utilization

JUP

140%

175%

JTO

140%

175%

RAY

140%

350%

PYTH

140%

175%

W

140%

250%

KMNO

140%

175%

Asset
≤ Optimal Utilization
> Optimal Utilization

BONK

140%

250%

WIF

140%

250%

PENGU

140%

350%

TRUMP

140%

350%

SAMO

140%

250%

Pool
≤ Optimal Utilization
> Optimal Utilization

Pool 1

28%

35%

Pool 3

35%

50%

Pool 4+

50%

100%

Asset
≤ Optimal Utilization
> Optimal Utilization

Metals/FX/Commodities

175.2%

175.2%

Fee Calculation Formulas

Swap Fee Components

  • Details on the components of the Swap Fee are below. FeeMin is always 0.

SwapFeepaying=M(Ratio)+bM=Feetarget−FeeminRatiotarget−Ratiominb=Feemin−M(Ratiomin)SwapFee_{paying}=M(Ratio)+b \\ M = \frac{Fee_{target}-Fee_{min}}{Ratio_{target}-Ratio_{min}} \\ b=Fee_{min}-M(Ratio_{min})SwapFeepaying​=M(Ratio)+bM=Ratiotarget​−Ratiomin​Feetarget​−Feemin​​b=Feemin​−M(Ratiomin​)

USDC Special Rates

Component
Rate

Fee Target

0.00025

Fee Max

0.0005

Base Fee

0.0001


Important Notes

⚠️ Utilization Cap: All pools maintain a 90% utilization cap to ensure liquidity provider withdrawals remain possible.

📊 Dynamic Pricing: All swap fees are calculated dynamically based on current pool ratios and target balances.

🔄 Real-time Updates: Margin fees are calculated and charged continuously based on current utilization rates.

Trader Interactions

For more examples checkout our TS SDK and our Rust SDK.

Install Dependencies:

yarn add @solana/web3.js @pythnetwork/client @solana/spl-token @coral-xyz/anchor

// setup the flashClient as show previously

Setup Pyth for Pricing:

const connectionFromPyth = new Connection(
    'pythnet-provider-url' // can get it from triton
)

const pythClient = new PythHttpClient(connectionFromPyth, getPythProgramKeyForCluster('pythnet'))

// for alternatives see https://docs.pyth.network/price-feeds/use-real-time-data/off-chain

Fetch Prices From Pyth:

import { BN } from "@coral-xyz/anchor";
import { OraclePrice } from 'flash-sdk';

// POOL_CONFIG as show previously

const getPrices = async () => { 
    const pythHttpClientResult = await pythClient.getData()
    
    const priceMap = new Map<string, { price: OraclePrice; emaPrice: OraclePrice }>();

    for (let token of POOL_CONFIG.tokens) {
        const priceData: PriceData = pythHttpClientResult.productPrice.get(token.pythTicker)!
        if (!priceData) {
            throw new Error(`priceData not found for ${token.symbol}`)
        }
        const priceOracle = new OraclePrice({
            price: new BN(priceData?.aggregate.priceComponent.toString()),
            exponent: new BN(priceData?.exponent),
            confidence: new BN(priceData?.confidence!),
            timestamp: new BN(priceData?.timestamp.toString()),
        })

        const emaPriceOracle = new OraclePrice({
            price: new BN(priceData?.emaPrice.valueComponent.toString()),
            exponent: new BN(priceData?.exponent),
            confidence: new BN(priceData?.emaConfidence.valueComponent.toString()),
            timestamp: new BN(priceData?.timestamp.toString()),
        })
        priceMap.set(token.symbol, { price: priceOracle, emaPrice: emaPriceOracle })
    }

    return priceMap;
 }

Open Position with Same Collateral:

import { PythHttpClient, getPythProgramKeyForCluster, PriceData } from "@pythnetwork/client";
import { TransactionInstruction, Signer, PublicKey, ComputeBudgetProgram } from "@solana/web3.js";
import { Side, OraclePrice, uiDecimalsToNative, CustodyAccount, Privilege } from "flash-sdk";

// Previous setup of flash-client

// Use this when opening a position with the same collateral so BTC to BTC and so on
const openPosition = async (inputTokenSymbol: string, outputTokenSymbol: string, inputAmount: string, side: Side) => {

    const slippageBps: number = 800 // 0.8%

    const instructions: TransactionInstruction[] = []
    let additionalSigners: Signer[] = []

    const inputToken = POOL_CONFIG.tokens.find(t => t.symbol === inputTokenSymbol)!;
    const outputToken = POOL_CONFIG.tokens.find(t => t.symbol === outputTokenSymbol)!;

    const priceMap = await getPrices();

    const inputTokenPrice = priceMap.get(inputToken.symbol)!.price
    const inputTokenPriceEma = priceMap.get(inputToken.symbol)!.emaPrice
    const outputTokenPrice = priceMap.get(outputToken.symbol)!.price
    const outputTokenPriceEma = priceMap.get(outputToken.symbol)!.emaPrice
    
    await flashClient.loadAddressLookupTable(POOL_CONFIG)

    const priceAfterSlippage = flashClient.getPriceAfterSlippage(
        true,
        new BN(slippageBps),
        outputTokenPrice,
        side
    )

    const collateralWithFee = uiDecimalsToNative(inputAmount, inputToken.decimals);
    const leverage = 1.1;

    const inputCustody = POOL_CONFIG.custodies.find(c => c.symbol === inputToken.symbol)!;
    const outputCustody = POOL_CONFIG.custodies.find(c => c.symbol === outputToken.symbol)!;

    const custodies = await flashClient.program.account.custody.fetchMultiple([inputCustody.custodyAccount, outputCustody.custodyAccount]);

    const outputAmount = flashClient.getSizeAmountFromLeverageAndCollateral( //
        collateralWithFee,
        leverage.toString(),
        outputToken,
        inputToken,
        side,
        outputTokenPrice,
        outputTokenPriceEma,
        CustodyAccount.from(outputCustody.custodyAccount, custodies[1]!),
        inputTokenPrice,
        inputTokenPriceEma,
        CustodyAccount.from(inputCustody.custodyAccount, custodies[0]!),
        uiDecimalsToNative(`5`, 2)
    )

    const openPositionData = await flashClient.openPosition(
        outputToken.symbol,
        inputToken.symbol,
        priceAfterSlippage,
        collateralWithFee,
        outputAmount,
        side,
        POOL_CONFIG,
        Privilege.None
    )
    
    // nft accounts can be fetched from one your previous transactions through beast.flash.trade for easier building

    instructions.push(...openPositionData.instructions)
    additionalSigners.push(...openPositionData.additionalSigners)

    const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 600_000 }) // addLiquidity
    const trxId = await flashClient.sendTransaction([setCULimitIx, ...instructions])

    console.log('trx :>> ', trxId);
}

openPosition('BTC', 'BTC', '0.000147', Side.Long)

Close a Position and Receive Collateral in the Same Token:

import { TransactionInstruction, Signer, PublicKey, ComputeBudgetProgram } from "@solana/web3.js";
import { Side, Privilege } from "flash-sdk";

// Use this when you want to close the position and get the same collateral token back
// For example closing a BTC position getting BTC back 
const closePosition = async (targetTokenSymbol: string, side: Side) => {
    const slippageBps: number = 800 // 0.8%
    const instructions: TransactionInstruction[] = []
    let additionalSigners: Signer[] = []

    const targetToken = POOL_CONFIG.tokens.find(t => t.symbol === targetTokenSymbol)!;
    const userRecievingToken = POOL_CONFIG.tokens.find(t => t.symbol === targetTokenSymbol)!;

   const priceMap = await getPrices();

    const targetTokenPrice = priceMap.get(targetTokenSymbol)!.price

    const priceAfterSlippage = flashClient.getPriceAfterSlippage(false, new BN(slippageBps), targetTokenPrice, side)

    const openPositionData =await flashClient.closePosition(
        targetToken.symbol,
        userRecievingToken.symbol,
        priceAfterSlippage,
        side,
        POOL_CONFIG,
        Privilege.None
    )

    instructions.push(...openPositionData.instructions)
    additionalSigners.push(...openPositionData.additionalSigners)

    const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 600_000 }) // addLiquidity
    const trxId = await flashClient.sendTransaction([setCULimitIx, ...instructions])
    console.log('trxId :>> ', trxId);
}

closePosition('BTC', Side.Long);

Open position with different Collateral:

import { getMint } from "@solana/spl-token";
import { TransactionInstruction, Signer, PublicKey, ComputeBudgetProgram } from "@solana/web3.js";
import { Side, uiDecimalsToNative, PoolAccount, PoolDataClient, CustodyAccount, BN_ZERO, BPS_DECIMALS, Privilege } from "flash-sdk";

const openPositionWithSwap = async (inputTokenSymbol: string, outputTokenSymbol: string, inputAmount: string, side: Side) => {

    const slippageBps: number = 800 // 0.8%

    const instructions: TransactionInstruction[] = []
    let additionalSigners: Signer[] = []

    const inputToken = POOL_CONFIG.tokens.find(t => t.symbol === inputTokenSymbol)!;
    const outputToken = POOL_CONFIG.tokens.find(t => t.symbol === outputTokenSymbol)!;

    const priceMap = await getPrices();

    const inputTokenPrice = priceMap.get(inputToken.symbol)!.price
    const inputTokenPriceEma = priceMap.get(inputToken.symbol)!.emaPrice
    const outputTokenPrice = priceMap.get(outputToken.symbol)!.price
    const outputTokenPriceEma = priceMap.get(outputToken.symbol)!.emaPrice

    await flashClient.loadAddressLookupTable(POOL_CONFIG)

    const priceAfterSlippage = flashClient.getPriceAfterSlippage(
        true,
        new BN(slippageBps),
        outputTokenPrice,
        side
    )

    const collateralWithFee = uiDecimalsToNative(inputAmount, inputToken.decimals);
    const leverage = 1.1;

    const inputCustody = POOL_CONFIG.custodies.find(c => c.symbol === inputToken.symbol)!;
    const outputCustody = POOL_CONFIG.custodies.find(c => c.symbol === outputToken.symbol)!;

    const custodies = await flashClient.program.account.custody.fetchMultiple([inputCustody.custodyAccount, outputCustody.custodyAccount]);
    const poolAccount = PoolAccount.from(POOL_CONFIG.poolAddress, await flashClient.program.account.pool.fetch(POOL_CONFIG.poolAddress));

    const allCustodies = await flashClient.program.account.custody.all()

    const lpMintData = await getMint(flashClient.provider.connection, POOL_CONFIG.stakedLpTokenMint);

    const poolDataClient = new PoolDataClient(
        POOL_CONFIG,
        poolAccount,
        lpMintData,
        [...allCustodies.map(c => CustodyAccount.from(c.publicKey, c.account))],
    )

    let lpStats = poolDataClient.getLpStats(await getPrices())

    const inputCustodyAccount = CustodyAccount.from(inputCustody.custodyAccount, custodies[0]!);
    const ouputCustodyAccount = CustodyAccount.from(outputCustody.custodyAccount, custodies[1]!);
    
    const size = flashClient.getSizeAmountWithSwapSync(
        collateralWithFee,
        leverage.toString(),
        Side.Long,
        poolAccount,
        inputTokenPrice,
        inputTokenPriceEma,
        inputCustodyAccount,
        outputTokenPrice,
        outputTokenPriceEma,
        ouputCustodyAccount,
        outputTokenPrice,
        outputTokenPriceEma,
        ouputCustodyAccount,
        outputTokenPrice,
        outputTokenPriceEma,
        ouputCustodyAccount,
        lpStats.totalPoolValueUsd,
        POOL_CONFIG,
        uiDecimalsToNative(`${5}`, 2) // trading discount depending on your nft level
    )

    const minAmountOut = flashClient.getSwapAmountAndFeesSync(
        collateralWithFee,
        BN_ZERO,
        poolAccount,
        inputTokenPrice,
        inputTokenPriceEma,
        CustodyAccount.from(inputCustody.custodyAccount, custodies[0]!),
        outputTokenPrice,
        outputTokenPriceEma,
        CustodyAccount.from(outputCustody.custodyAccount, custodies[1]!),
        lpStats.totalPoolValueUsd,
        POOL_CONFIG
    ).minAmountOut

    const minAmountOutAfterSlippage = minAmountOut
        .mul(new BN(10 ** BPS_DECIMALS - slippageBps))
        .div(new BN(10 ** BPS_DECIMALS))

    const openPositionData = await flashClient.swapAndOpen(
        outputToken.symbol,
        outputToken.symbol,
        inputToken.symbol,
        collateralWithFee,
        minAmountOutAfterSlippage,
        priceAfterSlippage,
        size,
        side,
        POOL_CONFIG,
        Privilege.None
    )

    instructions.push(...openPositionData.instructions)
    additionalSigners.push(...openPositionData.additionalSigners)

    const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 600_000 }) // addLiquidity
    const trxId = await flashClient.sendTransaction([setCULimitIx, ...instructions])

    console.log('trx :>> ', trxId);
}

Close Position and Receive Collateral in a Different Token:

import { TransactionInstruction, Signer, PublicKey, ComputeBudgetProgram } from "@solana/web3.js";
import { CustodyAccount, PositionAccount, getUnixTs, Privilege } from "flash-sdk";

const closePositionWithSwap = async (userRecievingTokenSymbol: string) => {  
    const slippageBps: number = 800 // 0.8%

    const instructions: TransactionInstruction[] = []
    let additionalSigners: Signer[] = []

    // get all your positions
    const positions = await flashClient.getUserPositions(flashClient.provider.publicKey, POOL_CONFIG);

    // choose the position you want to close
    const positionToClose = positions[1];

    const marketConfig = POOL_CONFIG.markets.find(f => f.marketAccount.equals(positionToClose.market))!;

    const custodies = await flashClient.program.account.custody.fetchMultiple([marketConfig.targetCustody, marketConfig.collateralCustody]);

    const userRecievingToken = POOL_CONFIG.tokens.find(t => t.symbol === userRecievingTokenSymbol)!;
    const targetCustodyAccount = CustodyAccount.from(marketConfig.targetCustody, custodies[0]!);
    const collateralCustodyAccount = CustodyAccount.from(marketConfig.collateralCustody, custodies[1]!);
    const side = marketConfig.side!;
    const positionAccount = PositionAccount.from(positionToClose.pubkey, positionToClose);;

    const targetToken = POOL_CONFIG.tokens.find(t => t.mintKey.equals(marketConfig.targetMint))!;
    const collateralToken = POOL_CONFIG.tokens.find(t => t.mintKey.equals(marketConfig.collateralMint))!;

    const priceMap = await getPrices()

    const targetTokenPrice = priceMap.get(targetToken.symbol)!.price
    const targetTokenPriceEma = priceMap.get(targetToken.symbol)!.emaPrice
    const collateralTokenPrice = priceMap.get(collateralToken.symbol)!.price
    const collateralTokenPriceEma = priceMap.get(collateralToken.symbol)!.emaPrice
    const userRecievingTokenPrice = priceMap.get(userRecievingToken.symbol)!.price

    const { closeAmount, feesAmount } = flashClient.getFinalCloseAmountSync(
        positionAccount,
        marketConfig.targetCustody.equals(marketConfig.collateralCustody),
        marketConfig.side,
        targetTokenPrice,
        targetTokenPriceEma,
        targetCustodyAccount,
        collateralTokenPrice,
        collateralTokenPriceEma,
        collateralCustodyAccount,
        new BN(getUnixTs()),
        POOL_CONFIG
    )

    const receiveUsd = collateralTokenPrice.getAssetAmountUsd(closeAmount, collateralToken.decimals)

    const minAmountOut = userRecievingTokenPrice.getTokenAmount(
        receiveUsd,
        userRecievingToken.decimals
    )

    const priceAfterSlippage = flashClient.getPriceAfterSlippage(false, new BN(slippageBps), targetTokenPrice, side)

    const minAmountOutWithSlippage = minAmountOut
        .mul(new BN(100 - Number(0.8)))
        .div(new BN(100))
    
    const closePositionWithSwapData = await flashClient.closeAndSwap(
        targetToken.symbol,
        userRecievingToken.symbol,
        collateralToken.symbol,
        minAmountOutWithSlippage,
        priceAfterSlippage,
        side,
        POOL_CONFIG,
        Privilege.None
    )

    instructions.push(...closePositionWithSwapData.instructions)
    additionalSigners.push(...closePositionWithSwapData.additionalSigners)

    const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 600_000 }) // addLiquidity
    const trxId = await flashClient.sendTransaction([setCULimitIx, ...instructions])

    console.log('trx :>> ', trxId);
}

closePositionWithSwap('USDC')

Set Full or Partial Take Profit or Stop Loss on an Existing Position:

NOTE :

  • Stop Loss:

    • Must be above Liquidation Price and below Current Price for LONG

    • Must be below Liquidation Price above Current Price for SHORT

  • Take Profit:

    • Must be above Current Price for LONG

    • Must be below Current Price for SHORT

  • Virtual tokens Take Profit must be below Max Profit Price for LONG

const setTpAndSlForMarket = async (takeProfitPriceUi: number | undefined, stopLossPriceUi: number | undefined, market: PublicKey) => {
    const marketConfig = POOL_CONFIG.markets.find(f => f.marketAccount.equals(market))!;

    if (!marketConfig) return

    const targetCustodyConfig = POOL_CONFIG.custodies.find(c => c.custodyAccount.equals(marketConfig.targetCustody))!;
    const collateralCustodyConfig = POOL_CONFIG.custodies.find(c => c.custodyAccount.equals(marketConfig.collateralCustody))!;

    let instructions: TransactionInstruction[] = []
    let additionalSigners: Signer[] = []
    let COMPUTE_LIMIT = 0

    const position = (await flashClient.getUserPositions(flashClient.provider.publicKey, POOL_CONFIG)).filter(f => !f.sizeAmount.isZero()).find(p => p.market.equals(market));

    if(!position) throw new Error(`No open position for market : ${market.toBase58()}`)

    if (takeProfitPriceUi) {
        const triggerPriceNative = uiDecimalsToNative(takeProfitPriceUi.toString(), targetCustodyConfig.decimals);

        const triggerOraclePrice = new OraclePrice({
            price: new BN(triggerPriceNative.toString()),
            exponent:( new BN(targetCustodyConfig.decimals)).neg(),
            confidence: BN_ZERO,
            timestamp: BN_ZERO,
        })
        
        // also for Virtual tokens Take Profit must be below Max Profit Price for LONG 
        // if (targetCustodyConfig.isVirtual && isVariant(marketConfig.side, 'long')) {
        //     const maxProfitPrice = perpClient.getMaxProfitPriceSync(
        //         position.entryOraclePrice,
        //         false,
        //         isVariant(marketConfig.side, 'long') ? Side.Long : Side.Short,
        //         position.positionAccount
        //     )
        //     const maxProfitPriceUi = maxProfitPrice.toUiPrice(8)
        //     const maxProfitNum = Number(maxProfitPriceUi)
        //     if (takeProfitPriceUi >= maxProfitNum) {
        //         throw Error("Take Profit must be below Max Profit Price");
        //         return;
        //     }
        // }

        const triggerContractOraclePrice = triggerOraclePrice.toContractOraclePrice()

        const result = await flashClient.placeTriggerOrder(
            targetCustodyConfig.symbol,
            collateralCustodyConfig.symbol,
            isVariant(marketConfig.side, 'long') ? Side.Long : Side.Short,
            triggerContractOraclePrice,
            position.sizeAmount, // can be partial amount here
            false,
            collateralCustodyConfig.custodyId,
            POOL_CONFIG
        )
        instructions.push(...result.instructions)
        additionalSigners.push(...result.additionalSigners)
        COMPUTE_LIMIT = 90_000
    }

    if (stopLossPriceUi) {
        const triggerPriceNative = uiDecimalsToNative(stopLossPriceUi.toString(), targetCustodyConfig.decimals);

        const triggerOraclePrice = new OraclePrice({
            price: new BN(triggerPriceNative.toString()),
            exponent:( new BN(targetCustodyConfig.decimals)).neg(),
            confidence: BN_ZERO,
            timestamp: BN_ZERO,
        })

        const triggerContractOraclePrice = triggerOraclePrice.toContractOraclePrice()

        const result = await flashClient.placeTriggerOrder(
            targetCustodyConfig.symbol,
            collateralCustodyConfig.symbol,
            isVariant(marketConfig.side, 'long') ? Side.Long : Side.Short,
            triggerContractOraclePrice,
            position.sizeAmount, // can be partial amount here
            true,
            collateralCustodyConfig.custodyId,
            POOL_CONFIG
        )
        instructions.push(...result.instructions)
        additionalSigners.push(...result.additionalSigners)
        COMPUTE_LIMIT = COMPUTE_LIMIT + 90_000
    }

    const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: COMPUTE_LIMIT })

    await flashClient.loadAddressLookupTable(POOL_CONFIG)

    const trxId = await flashClient.sendTransaction([setCULimitIx, ...instructions])

    console.log('trx :>> ', trxId);
}

setTpAndSlForMarket(
    300, // $300
    100, // $100
    new PublicKey('3vHoXbUvGhEHFsLUmxyC6VWsbYDreb1zMn9TAp5ijN5K'), // sol long market
)

Getting Liquidation Price of Current Active Position

const getLiquidationPrice = async (positionPubKey : PublicKey) => {
   
    const data =  await flashClient.getLiquidationPriceView(positionPubKey, POOL_CONFIG)
    if(!data){
        throw new Error('position not found')
    }
     const LiqOraclePrice = OraclePrice.from({
                        price: data.price,
                        exponent: new BN(data.exponent),
                        confidence: new BN(0),
                        timestamp: new BN(0),
                    })

    console.log('price :>> ', LiqOraclePrice.toUiPrice(6) );
    return LiqOraclePrice.toUiPrice(6) // 6 is the decimals precision for liquidation price, you can change it based on your needs
}

Terms of Service

Last updated: December 18, 2023

ATTENTION: USE OF THE SITE FROM OR IN THE UNITED STATES OR UNITED STATES TERRITORIES, OR BY PERSONS WHO ARE US PERSONS OR CURRENTLY OR ORDINARILY LOCATED OR RESIDENT IN THE UNITED STATES OR A UNITED STATES TERRITORY, IS STRICTLY PROHIBITED, REGARDLESS OF THE USER’S IP ADDRESS. UTILIZING A VIRTUAL PRIVATE NETWORK OR OTHER METHOD TO CONCEAL A USER’S UNITED STATES RESIDENCE IS ALSO STRICTLY PROHIBITED AND MAY RESULT IN PERMANENT BLOCKING OF USE OF THE SITE IN CONNECTION WITH BLOCKCHAIN ADDRESSES SUSPECTED OF BEING TIED TO A UNITED STATES RESIDENCE. BY ACCESSING OR USING THIS SITE, THE USER REPRESENTS AND WARRANTS THAT THEY ARE NOT A U.S. PERSON AS DEFINED BY ANY RELEVANT U.S. LAWS AND REGULATIONS. SEE CLAUSE 5(e) FOR FURTHER DETAIL.

These terms and conditions (these "Terms") constitute a binding legal agreement between each individual, entity, group or association who views, interacts, links to or otherwise uses or derives any benefit from the Site (as defined below) ("Users") and D5 Labs Inc, a company formed under the laws of the Republic of Panama (the owner/operator of the Site) (collectively with its successors and assigns, the "Site Operator").

The Site aggregates and publishes publicly available third-party information, including:

● the current state of Host Blockchains;

● the functions and design of the FLASH TRADE Protocol;

● the current state of the FLASH TRADE Smart Contract Systems, including all trading positions in the Traded Positions;

● the amount of "stablecoins & crypto tokens’ Blockchain Tokens that have been deposited into the FLASH TRADE Smart Contract Systems by third parties known as "liquidity providers" to serve as liquidity for the creation and trading of the Traded Assets in the FLASH TRADE Smart Contract Systems and the amount of actual or projected fees awarded to such liquidity providers;

● the pricing of Represented Assets, through the Decentralized Oracle Network;

● the trading of Traded Assets; and

● the implied or express fair market prices of Blockchain Tokens, Represented Assets and Traded Assets, which may be denominated in terms of other Blockchain Tokens or other Represented Assets or Trade Assets.

● The Site also offers interaction methods whereby the User can indicate a transaction the User would like to perform in connection with the FLASH TRADE Smart Contract Systems (such as swapping one Blockchain Token for another). When used in this way, the Site can generate a draft transaction message which the User can independently use in conjunction with a third-party wallet application or device to conduct transactions on FLASH TRADE or Host Blockchains.

DISCLAIMERS: TRADED ASSETS ARE PURELY SYNTHETIC REPRESENTATIONS OF REPRESENTED ASSETS. REPRESENTED ASSETS ARE NOT PURCHASED, SOLD, TRADED, OWNED, HELD OR OTHERWISE DEALT IN THROUGH THE SITE OR THE FLASH TRADE SMART CONTRACT SYSTEMS. TRADED ASSETS DO NOT ENTITLE THE USER TO OBTAIN OR HAVE ANY OWNERSHIP OF OR ANY OTHER INTEREST IN OR ENTITLEMENT TO ANY REPRESENTED ASSET. PRICES OF REPRESENTED ASSETS ARE OBTAINED THROUGH A DECENTRALIZED ORACLE NETWORK AND MAY NOT BE ACCURATE; ACCORDINGLY, PRICES OF THE TRADED ASSETS MAY NOT ACCURATELY REFLECT THE PRICES OF THE REPRESENTED ASSETS THEY ARE INTENDED TO REPRESENT.

By clicking "I Accept" or otherwise indicating your Acceptance, you agree to be bound by these Terms and affirm that you are of legal age to enter into these Terms where you live and have the legal capacity to enter into these Terms. Supplemental terms and conditions or documents that may be posted on the Site from time to time are hereby expressly incorporated herein by reference. We reserve the right, in our sole discretion, to make changes to the Terms from time to time. We will alert you of any changes by updating the “Last Updated" date of these Terms (on the first page hereof), and you waive any right to receive specific notice of each such change. It is your responsibility to periodically review these Terms to stay informed of updates. You will be subject to and will be deemed to have been made aware of and to have accepted, the changes in any revised Terms by your continued use of the Site after the date such revised Terms are posted.

Please contact us at [email protected] for any questions or issues.


1. DEFINED TERMS

(a) "Blockchain" means a blockchain or distributed ledger technology or other similar technology.

(b) "Blockchain System" means the combination of (i) a Blockchain; and (ii) a network of devices operating software clients or software applications that jointly or individually store, validate, process transactions with respect to, update, resolve forks with respect to and otherwise maintain, read from and write to such Blockchain.

(c) "Blockchain Tokens" means virtual currencies, tokens and other units of account or mediums of exchange that are implemented on a Blockchain System.

(d) "Decentralized Oracle Network" or "DON" means the network of third-party "oracles" (including PYTH) utilized by the FLASH TRADE Smart Contract Systems to obtain pricing data regarding the Traded Assets.

(e) "FLASH TRADE Protocol" means the software code at https://github.com/flash-trade

(f) "FLASH TRADE Smart Contract Systems" means all blockchain-based smart contract bytecodes that: (i) are compiled from the FLASH TRADE Protocol (or any part thereof); (ii) are deployed to production Blockchain Systems; and (iii) are covered by the Site.

(g) "Host Blockchains" means each Blockchain System on which a FLASH TRADE Smart Contract System has been deployed.

(h) "Site" means the web site, web pages, web applications and information and software available at or accessible through the URLs https://flash.trade/ or any sub-URL of any such URLs and any other FLASH TRADE-related website or web application maintained by the Site Operator.

(i) "Represented Assets" means Blockchain Tokens and other assets (including national currencies (aka "forex’ or "FX’) and commodities or commodities indices (e.g. , XAU, XAG)) that, through price indexing obtained through the DON, are simulated on the FLASH TRADE Smart Contract Systems.

(j) "Traded Assets" means synthetic book-entry units of account within the FLASH TRADE Smart Contract Systems that simulate units or derivatives of units of the Represented Assets.

(k) Rules of Interpretation:

(i) "hereof," "herein," "hereunder," "hereby" and words of similar import will, unless otherwise stated, be construed to refer to these Terms as a whole and not to any particular provision of these Terms;

(ii) "include(s)" and "including" shall be construed to be followed by the words "without limitation";

(iii) "or" shall be construed to be the "inclusive or" rather than "exclusive or" unless the context requires otherwise;

(iv) any rule of construction to the effect that ambiguities are to be resolved against the drafting party shall not be applied in the construction or interpretation of these Terms;

(v) titles, captions and headings are for convenience of reference only and have no legal or contractual effect;

(vi) whenever the context requires: the singular number shall include the plural, and vice versa; the masculine gender shall include the feminine and neuter genders; the feminine gender shall include the masculine and neuter genders; and the neuter gender shall include the masculine and feminine genders; and

(vii) except as otherwise indicated, all references in these Terms to "Clause" are intended to refer to clauses of these Terms.


2. SERVICES

(a) The FLASH TRADE Protocol is a publicly available software protocol designed to enable peer-to-peer trading, borrowing and lending of synthetic representations ("Traded Assets") of real assets (such as Blockchain Tokens, foreign national currencies, and commodities) ("Represented Assets") on compatible blockchain networks ("Host Blockchains"). Each FLASH TRADE Smart Contract System is a copy of the FLASH TRADE Protocol that has been compiled to machine-readable code compatible with validators on a particular blockchain network (referred to herein as a "Host Blockchain’) and, in such form, has been deployed to and become associated with one or more specific public addresses on the Host Blockchain. Each FLASH TRADE Smart Contract System may enable Traded Assets to be redeemed for real Blockchain Tokens that have been deposited by third parties known as "liquidity providers’ into the FLASH TRADE Smart Contract system in exchange for the ability to receive portion of the trading fees generated by use of the FLASH TRADE Smart Contract System. Through a compatible third-party wallet application or network node client compatible with the applicable Host Blockchain, users may pay validators on the applicable Host Blockchain to operate and record the results of operation of the FLASH TRADE Smart Contract System on that Host Blockchain.

(b) Site Operator does not own, operate or control FLASH TRADE, Host Blockchains, or the FLASH TRADE Smart Contract Systems. Using Host Blockchains or the FLASH TRADE Smart Contract Systems does not require use of the Site. You can always interact directly with the relevant FLASH TRADE Smart Contract Systems on the applicable Host Blockchains, without use of the Site or services of the Site Operator. The Site aggregates and publishes publicly available information about the FLASH TRADE Smart Contract Systems in a user- friendly and convenient format. Such information is also independently available from other sources—for example, a person may directly review FLASH TRADE transaction history, account balances and the FLASH TRADE Smart Contract Systems on a compatible block explorer for Host Blockchains. By combining publicly available information with the User’s interactions with the Site, the Site can draft standard transaction messages compatible with the FLASH TRADE Smart Contract Systems which are designed to accomplish the User’s operational goals as expressed through the interactions. If the User so wishes, the User may broadcast such messages to the validator network for the applicable Host Blockchains in order to initiate transactions in Blockchain Tokens or Traded Assets. All draft transaction messages are delivered by the Site via API to a compatible third-party wallet application or device selected by the User after pressing the "Connect Wallet" (or similar) button on the Site. The User must personally review and authorize all transaction messages that the User wishes to send to Host Blockchains or other Blockchain Systems; this requires the User to sign the relevant transaction message with a private cryptographic key inaccessible to the Site. The User-authorized message will then be broadcast to validators through the wallet application or device and the User may pay a network fee to have the validators apply the transaction message to the applicable FLASH TRADE Smart Contract System and record the results on the applicable Host Blockchain—resulting in a Blockchain Token or Traded Asset transaction being completed on the Host Blockchain.

(c) The Site Operator and the Site are not agents or intermediaries of the User, do not store or have access to or control over any Blockchain Tokens, Represented Assets, Traded Assets, private keys, passwords, accounts or other property of the User, and are not capable of performing transactions or sending transaction messages on behalf of the User. The Site does not hold and cannot purchase, sell or trade any Blockchain Tokens, Represented Assets or Traded Assets. All transactions relating to the FLASH TRADE Smart Contract Systems are effected and recorded solely through the interactions of the User with the respective validators, who are not under the control of or affiliated with the Site Operator or the Site.

(d) The Site Operator and the Site are not registered or qualified with or licensed by, do not report to and are not under the active supervision of any government agency or financial regulatory authority or organization. No government or regulator has approved or consulted with the Site Operator regarding the accuracy or completeness of any information available on the Site. Similarly, the technology, systems, Blockchain Tokens, Represented Assets, Traded Assets, Decentralized Oracle Network, and persons relevant to information published on the Site may not be registered with or under the active supervision of or be registered or qualified with or licensed by any government agency or financial regulatory authority or organization. The Site Operator is not registered as a broker, dealer, advisor, transfer agent, money services business, crypto-asset service provider, or other intermediary.


1. ELIGIBILITY

In order to be eligible to use the Site, you must:

(a) be at least eighteen years of age, of sound mental capacity and have all technical knowledge necessary or advisable to understand and evaluate the risks of the Site and FLASH TRADE;

(b) agree that the Site is provided for informational purposes only and is not directly or indirectly in control of or capable of interacting with FLASH TRADE, Host Blockchains, and related Blockchain Systems or performing or effecting any transactions on your behalf;

(c) agree that the Site is only being provided as an aid to your own independent research and evaluation of FLASH TRADE and that no representation or warranty is being made as to the accuracy or completeness of information on the Site;

(d) agree that the ability of the Site to connect with third-party wallet applications or devices is not an endorsement or recommendation thereof by or on behalf of the Site Operator, and you must assume all responsibility for selecting and evaluating and incurring the risks of any bugs, defects, malfunctions or interruptions of any third-party wallet applications or devices you directly or indirectly use in connection with the Site;

(e) comply with all applicable laws, rules and regulations;

(f) not be a person who is subject to national or international sanctions under the laws of Panama, Singapore or other applicable law;

(g) not hold the Site Operator or any of its representatives or affiliates liable for any damages you suffer in connection with your use of the Site or FLASH TRADE;

(h) waive your right to initiate or participate in class actions relating to the Site; and

(i) resolve any disputes regarding the Site pursuant to binding, confidential arbitration and waive your right to a jury trial in connection with such disputes.


2. SITE OPERATOR DISCRETION; CERTAIN RISKS INVOLVED WITH THE USAGE OF THE SITE

Each User hereby acknowledges and agrees and consents to, and assumes the risks of, the matters described in this Clause 2.

(a) Operator makes no representations or warranties as to the quality, origin, or ownership of any content found on or available through the Site. The Site Operator shall not be liable for any errors, misrepresentations, or omissions in, of, and about, the content, nor for the availability of the content. The Site Operator shall not be liable for any losses, injuries, or damages from the purchase, inability to purchase, display, or use of content.

(b) In providing information about Blockchain Tokens, Traded Assets and Represented Assets, the Site makes various assumptions which may or may not be accurate. Information regarding Traded Assets and Represented Assets is sourced from a third-party Decentralized Oracle Network and the Site Operator does not offer any representation, warranty or guaranty regarding the accuracy of such information. In providing information about Blockchain Tokens, the Site may associate or presume the association of a Blockchain Token name, symbol or logo with a specific smart contract deployed to one or more Blockchain Systems. In providing all such information, the Site relies upon third-party resources which may not be accurate or may not conform to a given User’s expectations. Multiple smart contracts can utilize the same Blockchain Token name or Blockchain Token symbol as one another, meaning that the name or symbol of a Blockchain Token does not guarantee that it is the Blockchain Token desired by the User or generally associated with such name or symbol. Users must not rely on the name, symbol or branding of a Blockchain Token on the Site, but instead must examine the specific smart contract associated with the name, symbol or branding and confirm that the Blockchain Token accords with User’s expectations.

(c) Users are solely responsible for all matters relating to their accounts, addresses and Blockchain Tokens and for ensuring that all uses thereof comply fully with these Terms. Users are solely responsible for protecting the data integrity and confidentiality of their login information and passwords or private keys for the Site or any wallet applications or devices used in connection with the Site. The compatibility of the Site with wallet applications and devices or other third-party applications or devices is not intended as, and you hereby agree not to construe such compatibility as, an endorsement or recommendation thereof or a warranty, guarantee, promise or assurance regarding the fitness or security thereof.

(d) There are no fees or charges for use of the Site. Use of the FLASH TRADE Smart Contract Systems and use of Host Blockchains are subject to third-party transaction fees. The Site Operator does not receive such fees and has no ability to reverse or refund any amounts paid in error.

(e) The Site is a free web application operated and maintained in the sole and absolute discretion of the Site Operator. The Site Operator assumes no duties, liabilities, obligations or undertakings to continue operating or maintaining the availability of the Site and may terminate or change the Site in any or all respects at any time. The Site Operator has no business plan or revenue model for the Site. The Site Operator does not have revenues or a viable long-term business plan or capital-raising plan, and may become unable or unwilling to fund the operational costs of the Site on a long-term basis or to fund the upgrade costs required to keep the Site up to date with current technologies. The Site Operator has no obligation to ensure that the Site is a complete and accurate source of all information relating to the FLASH TRADE Smart Contract Systems, Host Blockchains, Blockchain Tokens, Represented Assets, Traded Assets, or any other subject matter. The Site does not necessarily display all Blockchain Tokens or Traded Assets that are available for trading in connection with the FLASH TRADE Smart Contract Systems or Host Blockchains. Even if the Site currently displays a particular Blockchain Token or Traded Assets or Blockchain Tokens or Represented Assets pair, the Site may discontinue tracking and publishing information about those assets or pairs at any time, in the Site Operator’s sole and absolute discretion. In the event of such a discontinuation, Users may need to rely on third-party resources such as block explorers or Blockchain System nodes in order to get equivalent information, and, depending on the User’s level of expertise and the quality of such third-party resources, this may result in the User incurring financial losses due to delays or mistakes in processing information or transactions. The FLASH TRADE Protocol is available under a free open-source license, and the Site Operator does not have proprietary or exclusive rights in all copies or derivatives thereof. It is possible that additional copies of the FLASH TRADE Protocol or derivatives thereof will be deployed to other Blockchain Systems in the future by any person, resulting in the existence of multiple "FLASH TRADE-branded’ Blockchain Systems or smart contract systems. The Site Operator is under no obligation to publish information for all such copies of the FLASH TRADE Protocol or to warn Users regarding the existence of such alternatives.

(f) The Site Operator reserves the right to terminate or limit any person’s User status or access to or use of the Site at any time, without or without notice, as determined in the Site Operator’s sole and absolute discretion. Such terminations and limitations may be based on any factor or combination of factors, including a person’s identity, blockchain address, IP address, internet service provider, virtual provider network provider, metadata, browser software, device type, wallet application, wallet device, region of citizenship or residence or current location, or suspicion that User has engaged or intends to engage in any Prohibited Use.

(g) The Site Operator reserves the right at all times to cooperate with any governmental or law enforcement investigation or to disclose any information it deems necessary to satisfy any applicable law, regulation, legal process or governmental request, or to edit, refuse to post or to remove any information or materials, in whole or in part, based on any applicable law, regulation, legal process or governmental request, in the Site Operator’s sole and absolute discretion.


3. INTELLECTUAL PROPERTY RIGHTS

(a) All FLASH TRADE-related marks, logos, and branding used on the Site are now open-source and are made available to the public under the FLASH TRADE Open Source Brand Policy and the Creative Commons Attribution-ShareAlike 4.0 International License. Users are free to use, modify, and distribute these marks, logos, and branding subject to the terms and conditions specified in the FLASH TRADE Open Source Brand Policy and the accompanying GNU General Public License. All other marks, logos, and branding appearing on the Site, including but not limited to Blockchain Token, Represented Asset, and Traded Asset names, symbols, and logos identified on the Site which may trade in connection with the FLASH TRADE Smart Contract Systems, remain the property of their respective owners and are not covered by the open-source license mentioned above. For the avoidance of doubt, the above also does not cover any FLASH TRADE Protocol (including FLASH TRADE Smart Contract Systems and any underlying smart contracts).

(b) The Site Operator may directly or indirectly collect and temporarily store personally identifiable information for operational purposes, including for the purpose of identifying blockchain addresses or IP addresses that may indicate use of the Site from prohibited jurisdictions or by sanctioned persons or other Prohibited Uses. Except as required by applicable law, the Site Operator will have no obligation of confidentiality with respect to any information collected by the Site.

(c) The FLASH TRADE Protocol (including FLASH TRADE Smart Contract Systems and any underlying smart contracts) will be available in various repositories at https://github.com/flash-trade, and will be subject to any licenses set forth in each such repository, as applicable.

(d) Each User, subject to and conditioned upon such User’s eligibility under and acceptance of and adherence to these Terms, is hereby granted a personal, revocable, non-exclusive, non-transferable, non-sub- licensable license to view, access and use the Site for the Permitted Uses in accordance with these Terms.


4. PERMITTED & PROHIBITED USES

(a) The Site is available exclusively for use by technologically and financially sophisticated persons who wish to use the Site for informational purposes only as an aid to their own research, due diligence and financial decision making (the "Permitted Uses"). Before utilizing information from the Site (including any draft transaction messages) to engage in transactions, each User must independently verify the accuracy of such information (and the consistency of such draft transaction messages with the User’s intentions).

(b) Notwithstanding any of the provisions herein, each User must not, directly or indirectly, in connection with their use of the Site:

(i) utilize the Site other than for the Permitted Uses;

(ii) rely on the Site as a basis for or a source of advice concerning any financial decision making or transactions;

(iii) employ any device, scheme or artifice to defraud, or otherwise materially mislead, the Site Operator or any person;

(iv) engage or attempt to engage in or assist any hack of or attack on the Site or any wallet application or device, including any "sybil attack", "DoS attack" or "griefing attack" or theft;

(v) commit any violation of applicable laws, rules or regulations;

(vi) engage in any act, practice or course of business that operates to circumvent any sanctions or export controls targeting the User or the country or territory where User is located.

(vii) engage in or knowingly facilitate any "front-running," "wash trading," "pump and dump trading," "ramping," "cornering" or fraudulent, deceptive or manipulative trading activities, including without limitation:

● trading at successively lower or higher prices for the purpose of creating or inducing a false, misleading or artificial appearance of activity, unduly or improperly influencing market prices or establishing a price which does not reflect the true state of the market;

● trading without changes in material beneficial ownership for the purpose of creating or inducing a false or misleading appearance of trading activity or creating or inducing a false or misleading appearance with respect to market conditions; or

● participating in, facilitating, assisting or knowingly transacting with any pool, syndicate or joint account organized for the purpose of unfairly or deceptively influencing market prices;

(viii) transact in securities, commodities futures, trading of commodities on a leveraged, margined or financed basis, binary options (including prediction-market transactions), real estate or real estate leases, equipment leases, debt financings, equity financings or other similar transactions, in each case, if such transactions do not comply with all laws, rules and regulations applicable to the parties and assets engaged therein; or

(ix) engage in Blockchain-Token-based or other financings of a business, enterprise, venture, DAO, software development project or other initiative, including ICOs, DAICOs, IEOs, or other Blockchain-Token-based fundraising events, if such transactions do not comply with all laws, rules and regulations applicable to the parties and assets engaged therein.

The foregoing matters are referred to herein as "Prohibited Uses".


5. REPRESENTATIONS AND WARRANTIES OF USERS

By using the Site, each User represents and warrants to the Site Operator that the following statements and information are accurate and complete at all relevant times. In the event that any such statement or information becomes untrue as to a User, User shall immediately cease accessing and using the Site.

(a) User is knowledgeable, experienced and sophisticated in using and evaluating blockchain and related technologies and assets, including Host Blockchains, Blockchain Tokens, Represented Assets, Traded Assets, yield-generating smart contract systems, automated market making smart contract systems, bonding curve systems and "smart contracts" (runtime bytecode deployed to Host Blockchains or another blockchain). User has conducted its own thorough independent investigation and analysis of the FLASH TRADE Smart Contract Systems, Host Blockchains, and the other matters contemplated by these Terms, and has not relied upon any information, statement, omission, representation or warranty, express or implied, written or oral, made by or on behalf of Site Operator in connection therewith, except as expressly set forth by Site Operator in these Terms.

(b) (If User is an individual) User is of legal age in the jurisdiction in which User resides (and in any event is older than eighteen years of age) and is of sound mind.

(c) (If User is a business entity) User is duly organized, validly existing and in good standing under the laws of the jurisdiction in which it is organized, and has all requisite power and authority for a business entity of its type to carry on its business as now conducted.

(d) User has all requisite capacity, power and authority to accept the terms and conditions of these Terms and to carry out and perform its obligations under these Terms. These Terms constitute a legal, valid and binding obligation of User enforceable against User in accordance with its terms.

(e) User agreeing to these Term and using the Site does not constitute, and would not reasonably be expected to result in (with or without notice, lapse of time, or both) a breach, default, contravention or violation of any law applicable to User, or contract or agreement to which User is a party or by which User is bound.

(f) User is not, (and, if User is an entity, User is not owned or controlled by any other person who is), and is not acting on behalf of any other person who is, located, ordinarily resident, organized, established, or domiciled in the United States or any territory of the United States or any country where use of the FLASH TRADE Smart Contract Systems, Host Blockchains, or related activities is illegal, prohibited, or requires a permit or license. User is not (and, if User is an entity, User is not owned or controlled by any other person who is), and is not acting on behalf of any other person who is, identified on any list of prohibited parties under any law or by any nation or government, state or other political subdivision thereof, any entity exercising legislative, judicial or administrative functions of or pertaining to government such as the sanctions lists maintained by the Superintendency of Banks of Panama, the Superintendency of the Securities Market of the Republic of Panama, the Monetary Authority of Singapore, the United Nations Security Council, the U.S. government (including the U.S. Treasury Department’s Specially Designated Nationals list and Foreign Sanctions Evaders list), or the European Union (EU) or its member states. The Blockchain Tokens or other funds User uses to participate in the FLASH TRADE Smart Contract Systems or Host Blockchains are not derived from, and do not otherwise represent the proceeds of, any activities done in violation or contravention of any law.


6. ASSUMPTION OF RISK

Each User hereby acknowledges and agrees and consents to, and assumes the risks of, the matters described in this Clause 6.

(a) Site Operator or third parties may utilize experimental cryptographic technologies and blockchain technologies, including Blockchain Tokens, Traded Assets, cryptocurrencies, stablecoins, "smart contracts," consensus algorithms, voting systems and distributed, decentralized or peer-to-peer networks or systems in connection with the Site or systems about which the Site provides information. Each User acknowledges and agrees that such technologies are novel, experimental, and speculative, and that therefore there is significant uncertainty regarding the operation and effects and risks thereof and the application of existing law thereto.\

(b) The technologies relevant to the Site depend on public peer-to-peer networks such as the Host Blockchains that are not under the control or influence of the Site Operator and are subject to many risks and uncertainties. Such technologies include the FLASH TRADE Smart Contract Systems, which (other than based on any multisignature arrangements that may apply) Site Operator has no ability to change, other than ceasing to display information about certain "smart contracts" or adding information about new "smart contracts". Users are solely responsible for the safekeeping of the private key associated with the blockchain address used in connection with the FLASH TRADE Smart Contract Systems. The Site Operator will not be able to restore or issue any refund in respect of property lost or frozen due to loss of private keys or otherwise. If a User is not able to spend or use Blockchain Tokens or Traded Assets due to loss or theft of the corresponding private key or otherwise, a User will be unable to enjoy the benefits of such Blockchain Tokens or Traded Assets.\

(c) Digital assets relevant to the Site depend on the FLASH TRADE Smart Contract Systems or other smart contracts deployed to Host Blockchains or other Blockchain Systems, each of which may be coded or deployed by persons other than Site Operator. Host Blockchains and other Blockchain Systems, and, once deployed to a Blockchain System, the code of smart contracts, including the FLASH TRADE Smart Contract Systems, typically cannot be modified, or can only be modified in limited ways. In the event that the Host Blockchains, FLASH TRADE Smart Contract Systems, or other smart contracts or Blockchain Systems are adversely affected by malfunctions, bugs, defects, malfunctions, hacking, theft, attacks, negligent coding or design choices, or changes to the applicable protocol rules, Users may be exposed to a risk of total loss and forfeiture of all relevant digital assets. Site Operator assumes no liability or responsibility for any of the foregoing matters.\

(d) The fiat-denominated prices and value in public markets of cryptocurrencies and Blockchain Tokens and Traded Assets have historically been subject to dramatic fluctuations and may be highly volatile. As relatively new products and technologies, blockchain-based assets are not widely accepted as a means of payment for goods and services. A significant portion of demand for these assets is generated by speculators and investors seeking to profit from the short- or long-term holding of blockchain assets. The market value of any Blockchain Token or Traded Asset may decline below the price for which a User acquires such asset through the Host Blockchains or FLASH TRADE Smart Contract Systems or on any other system. User acknowledges and agrees that the costs and speeds of transacting with cryptographic and blockchain-based systems such as the Host Blockchains and FLASH TRADE Smart Contract Systems are variable and may increase or decrease dramatically at any time, resulting in prolonged inability to access or use any Blockchain Tokens or Traded Assets.\

(e) Blockchain technologies and digital assets are subject to many legal and regulatory uncertainties, and the Host Blockchains, FLASH TRADE Smart Contract Systems, or any Blockchain Tokens or Traded Assets (or the corresponding Represented Assets) could be adversely impacted by one or more regulatory or legal inquiries, actions, suits, investigations, claims, fines or judgments, which could impede or limit the ability of User to continue the use and enjoyment of such assets and technologies.\

(f) Cryptography is a progressing field. Advances in code cracking or technical advances such as the development of quantum computers may present risks to Blockchain Systems, Host Blockchains, FLASH TRADE Smart Contract Systems, Blockchain Tokens, or Traded Assets, including the theft, loss or inaccessibility thereof.\

(g) Host Blockchains, the FLASH TRADE Smart Contract Systems, and all Blockchain Tokens and Traded Assets (or corresponding Represented Assets) may be subject to "forks." Forks occur when some or all persons running the software clients for a particular Blockchain System adopt a new client or a new version of an existing client that: (i) changes the protocol rules in backwards-compatible or backwards-incompatible manner that affects which transactions can be added into later blocks, how later blocks are added to the blockchain, or other matters relating to the future operation of the protocol; or (ii) reorganizes or changes past blocks to alter the history of the blockchain. Some forks are "contentious" and thus may result in two or more persistent alternative versions of the protocol or blockchain, either of which may be viewed as or claimed to be the legitimate or genuine continuation of the original. Site Operator may not be able to anticipate, control or influence the occurrence or outcome of forks, and does not assume any risk, liability or obligation in connection therewith. Without limiting the generality of the foregoing, Site Operator does not assume any responsibility to notify a User of pending, threatened or completed forks. Site Operator will respond (or refrain from responding) to any forks in such manner as Site Operator determines in its sole and absolute discretion, and Site Operator shall not have any duty or obligation or liability to a User if such response (or lack of such response) acts to a User detriment. Without limiting the generality of the foregoing, Site Operator’s possible and permissible responses to a fork may include: (i) honoring the Host Blockchains, FLASH TRADE Smart Contract Systems, Blockchain Tokens, or Traded Assets (or corresponding Represented Assets) on both chains; (ii) honoring the Host Blockchains, FLASH TRADE Smart Contract Systems, Blockchain Tokens, or Traded Assets (or corresponding Represented Assets) on only one of the chains; (iii) honoring the Host Blockchains, FLASH TRADE Smart Contract Systems, Blockchain Tokens, or Traded Assets (or corresponding Represented Assets) in different respects or to a different extent on both chains; or (iv) any other response or policy or procedure, as determined by Site Operator in its sole and absolute discretion. Each User assumes full responsibility to independently remain apprised of and informed about possible forks, and to manage the User’s own interests and risks in connection therewith.\

(h) The Host Blockchains, FLASH TRADE Smart Contract Systems, and other relevant Blockchain Systems and smart contracts are public software utilities which are accessible directly through any compatible node or indirectly through any compatible "wallet" application (such as the web browser plugin Metamask) which interacts with such a node. Interacting with the FLASH TRADE Smart Contract Systems does not require use of the Site, but the Site provides a convenient and userfriendly method of reading and displaying data from the FLASH TRADE Smart Contract Systems and generating standard transaction messages compatible with the FLASH TRADE Smart Contract Systems. Because the Site does not provide wallet software or nodes for Host Blockchains, and does not provide the Decentralized Oracle Network that prices Traded Assets based on Represented Assets, such software constitutes an essential third-party or user dependency without which the FLASH TRADE Smart Contract Systems cannot be utilized, and Blockchain Tokens and Traded Assets cannot be traded or used. Furthermore, the Site may utilize APIs, middleware and servers of Site Operator or third parties, and Site Operator does not guarantee the continued operation, maintenance, availability or security of any of the foregoing dependencies.

(i) The tax consequences of purchasing, selling, holding, transferring or locking Blockchain Tokens or otherwise utilizing the FLASH TRADE Smart Contract Systems are uncertain, may vary by jurisdiction and may be adverse to a User. Site Operator has undertaken no due diligence or investigation into such tax consequences, assumes no obligation or liability to optimize the tax consequences to any person and is not providing any tax advice.


7. DISCLAIMERS

(a) The Site is being provided on an "AS IS" and "AS AVAILABLE" basis. To the fullest extent permitted by law, Site Operator is not making, and hereby disclaims, any and all information, statements, omissions, representations and warranties, express or implied, written or oral, equitable, legal or statutory, in connection with the Site and the other matters contemplated by these Terms, including any representations or warranties of title, non-infringement, merchantability, usage, security, uptime, reliability, suitability or fitness for any particular purpose, workmanship or technical quality of any code or software used in or relating to the Site. User acknowledges and agrees that use of the Site is at the User’s own risk.

(b) Operator has no responsibility for the Blockchain Tokens or Traded Assets (or the corresponding Represented Assets) traded by Users on the FLASH TRADE Smart Contract Systems or Host Blockchains. Site Operator does not investigate and cannot guarantee or warrant the authenticity, originality, uniqueness, marketability, legality or value of any Blockchain Token or Traded Assets (or the corresponding Represented Assets) traded by Users on the FLASH TRADE Smart Contract Systems or Host Blockchains, even if information about such Blockchain Token, Traded Assets or Represented Assets is available on the Site.

(c) All information provided by or on behalf of Site Operator is for informational purposes only and should not be construed as professional, accounting or legal advice. Users should not take or refrain from taking any action in reliance on any information contained in these Terms or provided by or on behalf of the Site Operator. Before Users make any financial, legal, or other decisions involving the Site, Users should seek independent professional advice from persons licensed and qualified in the area for which such advice would be appropriate.

(d) References, links or referrals to or connections with or reliance on third-party resources, products, services or content, including smart contracts developed or operated by third parties, may be provided to Users in connection with the Site. In addition, third parties may offer promotions related to the Site. Site Operator does not endorse or assume any responsibility for any activities of or resources, products, services, content or promotions owned, controlled, operated or sponsored by third parties. If Users access any such resources, products, services or content or participate in any such promotions, Users do so solely at their own risk. Each User hereby expressly waives and releases Site Operator from all liability arising from User’s use of any such resources, products, services or content or participation in any such promotions. User further acknowledges and agrees that Site Operator shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such resources, products, services, content or promotions from third parties.


8. LIMITATIONS OF LIABILITY

(a) Notwithstanding anything to the contrary contained on the Site, in these Terms, or in any other agreement or publication, Site Operator shall not be liable to any person, whether in contract, tort (including pursuant to any cause of action alleging negligence), warranty or otherwise, for any economic or other damages to any User or other person, including any special, incidental, consequential, indirect, punitive or exemplary damages (including but not limited to lost data, lost profits or savings, loss of business or other economic loss) arising out of or related to these Terms, whether or not Site Operator has been advised or knew of the possibility of such damages, and regardless of the nature of the cause of action or theory asserted. Any refunds or other compensation or reimbursement provided at any time by Site Operator to any User shall not imply any past, current, or future obligation to provide such compensation or reimbursement in any circumstances.

(b) Any claim or cause of action a User may have or acquire in connection with the Site or any of the other matters contemplated by these Terms shall survive for the shorter of, and may be brought against Site Operator solely prior to: (a) the expiration of the statute of limitations applicable thereto; and (b) the date that is six months after the date on which the facts and circumstances giving rise to such claim or cause of action first arose.

(c) All provisions of these Terms which disclaim or limit obligations or liabilities of Site Operator shall also apply, mutatis mutandis, to the officers, directors, members, employees, independent contractors, agents, stockholders, debtholders and affiliates of Site Operator.

(d) Some jurisdictions do not allow the exclusion of certain warranties or the limitation or exclusion of certain liabilities and damages. Accordingly, some of the disclaimers and limitations set forth in these Terms may not apply in full to specific Users. The disclaimers and limitations of liability provided in these terms shall apply to the fullest extent permitted by applicable law.


9. INDEMNITY

Each User shall defend, indemnify, compensate, reimburse and hold harmless Site Operator (and each of its officers, directors, members, employees, agents and affiliates) from any claim, demand, action, damage, loss, cost or expense, including without limitation reasonable attorneys’ fees, arising out or relating to (a) User’s use of, or conduct in connection with, the Site; (b) User’s violation of these Terms or any other applicable policy or contract of Site Operator; or (c) User’s violation of any rights of any other person or entity.


10. GOVERNING LAW; DISPUTE RESOLUTION

(a) These Terms shall be governed by and construed and interpreted in accordance with the laws of Singapore (irrespective of the choice of laws principles) as to all matters, including matters of validity, construction, effect, enforceability, performance and remedies. Although the Site may be available in other jurisdictions, each User hereby acknowledges and agrees that such availability shall not be deemed to give rise to general or specific personal jurisdiction over Site Operator in any forum outside Singapore.

(b) All claims, disputes and controversies directly or indirectly arising out of or in connection with or directly or indirectly relating to these Terms or any of the matters or transactions contemplated by these Terms (for the avoidance of doubt, including any claim seeking to invalidate, or alleging that, all or any part of these Terms is unenforceable, void or voidable) (such claims, disputes and controversies, collectively, "Disputes") shall be referred to and finally resolved by confidential, binding arbitration administered by the Singapore International Arbitration Centre in accordance with the Arbitration Rules of the Singapore International Arbitration Centre for the time being in force, which rules are deemed to be incorporated by reference in this Clause 10. The seat of the arbitration shall be Singapore. The tribunal shall consist of 1 arbitrator agreed to by the parties within twenty (20) Business Days of receipt by the respondent of the request for arbitration or, in default thereof, appointed by the Singapore International Arbitration Centre in accordance with its prevailing rules. The arbitrator shall have exclusive authority to decide all issues relating to the interpretation, applicability, enforceability and scope of this arbitration agreement. The language of the arbitration shall be English. Each party irrevocably submits to the jurisdiction and venue of such tribunal. Judgment upon the award may be entered by any court having jurisdiction thereof or having jurisdiction over the relevant party or its assets. If the Company elects to have a Dispute resolved by arbitration pursuant to this provision, no party hereto shall (or shall permit its representatives to) commence, continue or pursue any Dispute in any court; provided, however, that the Company shall be entitled to obtain an injunction or injunctions to prevent breaches of this provision and to enforce specifically the terms and provisions thereof, this being in addition to any other remedy to which the Company is entitled at law or in equity, and the parties hereto hereby waive the requirement of any posting of a bond in connection with such injunctive relief or specific performance.\

(c) The parties hereby acknowledge, represent and warrant that they understand that:

(i) there is no judge or jury in arbitration, and, absent this mandatory provision, the parties would have the right to sue in court and have a jury trial concerning Disputes;

(ii) in some instances, the costs of arbitration could exceed the costs of litigation;

(iii) the right to discovery may be more limited in arbitration than in court; and

(iv) court review of an arbitration award is limited. Each of the parties hereto hereby irrevocably waives any and all right to trial by jury in any action, suit or other legal proceeding arising out of or related to these Terms or the transactions contemplated hereby.

(d) Except to the extent necessary to enforce their respective rights under these Terms or as otherwise required by applicable law, the parties undertake to maintain confidentiality as to the existence and events of the arbitration proceedings and as to all submissions, correspondence and evidence relating to the arbitration proceedings. This provision shall survive the termination of the arbitral proceedings.

(e) All Users hereby agree that any arbitration or other permitted action with respect to any Dispute shall be conducted in their individual capacities only and not as a class action or other representative action, and the Users expressly waive their right to file a class action or seek relief on a class basis. USERS SHALL BRING CLAIMS AGAINST SITE OPERATOR OTHER ONLY IN THEIR INDIVIDUAL CAPACITY, AND NOT AS A PLAINTIFF OR CLASS MEMBER IN ANY PURPORTED CLASS OR REPRESENTATIVE PROCEEDING.\

(f) If any court or arbitrator makes a final, binding and non-appealable determination that the class action waiver set forth in this Clause 10(e) is void or unenforceable for any reason or that an arbitration can proceed on a class basis, then the arbitration provision set forth above shall be deemed null and void with respect to any Dispute that would thus be required to be resolved by arbitration on a class basis, and the parties shall be deemed to have not agreed to arbitrate such Dispute. In the event that, as a result of the application of the immediately preceding sentence or otherwise, any Dispute is not subject to arbitration, the parties hereby agree to submit to the personal and exclusive jurisdiction of and venue in the courts located in Singapore and to accept service of process by mail with respect to such Dispute, and hereby waive any and all jurisdictional and venue defenses otherwise available with respect to such Dispute.


11. MISCELLANEOUS

(a) The headings and captions contained in these Terms are for convenience of reference only, shall not be deemed to be a part of these Terms and shall not be referred to in connection with the construction or interpretation of these Terms.

(b) A User shall not assign any of a User rights or delegate any of a User liabilities or obligations under these Terms to any other person without Site Operator’s advance written consent. The Site Operator may freely assign, transfer or delegate its rights, obligations and liabilities under these Terms to the maximum extent permitted by applicable law.

(c) In the event that any provision of these Terms, or the application of any such provision to any person or set of circumstances, shall be determined by an arbitrator or court of competent jurisdiction to be invalid, unlawful, void or unenforceable to any extent: (i) the remainder of these Terms, and the application of such provision to persons or circumstances other than those as to which it is determined to be invalid, unlawful, void or unenforceable, shall not be impaired or otherwise affected and shall continue to be valid and enforceable to the fullest extent permitted by law; and (ii) Site Operator shall have the right to modify these Terms so as to effect the original intent of the parties as closely as possible in an acceptable manner in order that the transactions contemplated hereby be consumed as originally contemplated to the fullest extent possible.

(d) These Terms may only be amended, modified, altered or supplemented by or with the written consent of the Site Operator. The Site Operator reserves the right, in its sole and absolute discretion, to amend, modify, alter or supplement these Terms from time to time. The most current version of these Terms will be posted on the Site. Any changes or modifications will be effective immediately upon the modified Agreement being posted to the Site. A User shall be responsible for reviewing and becoming familiar with any such modifications. Each User hereby waives any right such User may have to receive specific notice of such changes or modifications. Use of the Site by a User after any modification of these Terms constitutes the User’s acceptance of the modified terms and conditions. If a User does not agree to any such modifications, the User must immediately stop using the Site.

(e) No failure or delay on the part of Site Operator in the exercise of any power, right, privilege or remedy under these Terms shall operate as a waiver of such power, right, privilege or remedy; and no single or partial exercise of any such power, right, privilege or remedy shall preclude any other or further exercise thereof or of any other power, right, privilege or remedy. Site Operator shall not be deemed to have waived any claim arising out of these Terms, or any power, right, privilege or remedy under these Terms, unless the waiver of such claim, power, right, privilege or remedy is expressly set forth in a written instrument duly executed and delivered on behalf of Site Operator, and any such waiver shall not be applicable or have any effect except in the specific instance in which it is given.

(f) These Terms constitute the entire agreement between the parties relating to the subject matter hereof and supersede all prior or contemporaneous agreements and understandings, both written and oral, between the parties with respect to the subject matter hereof.

LP Interactions

Creating LP Transactions

Add Liquidity / Mint sFLP

const addLiquidityAndStake = async () => {
    const usdcInputAmount = new BN(1_000_000); // $1
    
    // this can be any other token available in the pool, for instance SOL, BTC and ETH
    const usdcCustody = POOL_CONFIG.custodies.find(c => c.symbol === 'USDC')!;
    const slippageBps: number = 800 // 0.8%
    let instructions: TransactionInstruction[] = []
    let additionalSigners: Signer[] = []

    await flashClient.loadAddressLookupTable(POOL_CONFIG)

    // flash-sdk version >= 2.31.6
    const { amount: minLpAmountOut, fee } = await flashClient.getAddLiquidityAmountAndFeeView(usdcInputAmount, POOL_CONFIG.poolAddress, usdcCustody.custodyAccount, POOL_CONFIG);

    const minLpAmountOutAfterSlippage = minLpAmountOut
        .mul(new BN(10 ** BPS_DECIMALS - slippageBps))
        .div(new BN(10 ** BPS_DECIMALS))

    const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 400_000 }) // addLiquidity

    const addLiquidityAndStakeData = await flashClient.addLiquidityAndStake('USDC', usdcInputAmount, minLpAmountOutAfterSlippage, POOL_CONFIG);
    instructions.push(...addLiquidityAndStakeData.instructions)
    additionalSigners.push(...addLiquidityAndStakeData.additionalSigners)

    const flpStakeAccountPK = PublicKey.findProgramAddressSync(
        [Buffer.from('stake'), flashClient.provider.publicKey.toBuffer(), POOL_CONFIG.poolAddress.toBuffer()],
        POOL_CONFIG.programId
    )[0]

    const refreshStakeInstruction = await flashClient.refreshStake('USDC', POOL_CONFIG, [flpStakeAccountPK])

    instructions.push(refreshStakeInstruction)

    const trxId = await flashClient.sendTransaction([setCULimitIx, ...instructions])

    console.log('addLiquidityAndStake trx :>> ', trxId);
}

Add Compounding Liquidity / Mint FLP

const addCompoundingLiquidity = async () => {
    // USDC with its decimals 
    const usdcInputAmount = new BN(1_000_000); // $1
    
    // this can be any other token available in the pool, for instance SOL, BTC and ETH
    const usdcCustody = POOL_CONFIG.custodies.find(c => c.symbol === 'USDC')!;
    const slippageBps: number = 800 // 0.8%
    let instructions: TransactionInstruction[] = []
    let additionalSigners: Signer[] = []

    await flashClient.loadAddressLookupTable(POOL_CONFIG)

    // flash-sdk version >= 2.31.6
    const { amount: minLpAmountOut, fee } = await flashClient.getAddCompoundingLiquidityAmountAndFeeView(usdcInputAmount, POOL_CONFIG.poolAddress, usdcCustody.custodyAccount, POOL_CONFIG);

    const minLpAmountOutAfterSlippage = minLpAmountOut
        .mul(new BN(10 ** BPS_DECIMALS - slippageBps))
        .div(new BN(10 ** BPS_DECIMALS))

    const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 400_000 }) // addLiquidity

    const addCompoundingLiquidityData = await flashClient.addCompoundingLiquidity(
        usdcInputAmount,
        minLpAmountOutAfterSlippage,
        'USDC',
        usdcCustody.mintKey,
        POOL_CONFIG
    )

    instructions.push(...addCompoundingLiquidityData.instructions)
    additionalSigners.push(...addCompoundingLiquidityData.additionalSigners)

    const trxId = await flashClient.sendTransaction([setCULimitIx, ...instructions])

    console.log('addCompoundingLiquidity trx :>> ', trxId);
}

Remove Liquidity / Burn sFLP

const removeSflpLiquidity = async () => {
    const usdcCustody = POOL_CONFIG.custodies.find(c => c.symbol === 'USDC')!;
    const slippageBps: number = 800 // 0.8%
    let instructions: TransactionInstruction[] = []
    let additionalSigners: Signer[] = []

    await flashClient.loadAddressLookupTable(POOL_CONFIG)

    const flpStakeAccountPK = PublicKey.findProgramAddressSync(
        [Buffer.from('stake'), flashClient.provider.publicKey.toBuffer(), POOL_CONFIG.poolAddress.toBuffer()],
        POOL_CONFIG.programId
    )[0]

    const flpStakeAccount = await flashClient.program.account.flpStake.fetch(flpStakeAccountPK);

    const flpWithPendingAndActive =
        flpStakeAccount?.stakeStats.activeAmount.add(flpStakeAccount?.stakeStats.pendingActivation) ??
        BN_ZERO

    // flash-sdk version >= 2.31.6
    const { amount: minTokenAmountOut, fee } = await flashClient.getRemoveLiquidityAmountAndFeeView(flpWithPendingAndActive, POOL_CONFIG.poolAddress, usdcCustody.custodyAccount, POOL_CONFIG);

    const { instructions: unstakeInstantInstructions, additionalSigners: unstakeInstantAdditionalSigners } =
        await flashClient.unstakeInstant('USDC', flpWithPendingAndActive, POOL_CONFIG)

    const { instructions: withdrawStakeInstructions, additionalSigners: withdrawStakeAdditionalSigners } =
        await flashClient.withdrawStake(POOL_CONFIG, true, true)

    instructions.push(...unstakeInstantInstructions)
    additionalSigners.push(...unstakeInstantAdditionalSigners)

    instructions.push(...withdrawStakeInstructions)
    additionalSigners.push(...withdrawStakeAdditionalSigners)

    const minTokenAmountOutAfterSlippage = minTokenAmountOut
        .mul(new BN(10 ** BPS_DECIMALS - slippageBps))
        .div(new BN(10 ** BPS_DECIMALS))

    const removeLiquidityData = await flashClient.removeLiquidity(
        'USDC',
        flpWithPendingAndActive,
        minTokenAmountOutAfterSlippage,
        POOL_CONFIG
    )

    instructions.push(...removeLiquidityData.instructions)
    additionalSigners.push(...removeLiquidityData.additionalSigners)

    const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 400_000 }) // addLiquidity

    const trxId = await flashClient.sendTransaction([setCULimitIx, ...instructions])

    console.log('trx :>> ', trxId);
}

Remove Compounding Liquidity / Burn FLP

const removeFlpLiquidity = async () => {
    const usdcCustody = POOL_CONFIG.custodies.find(c => c.symbol === 'USDC')!;
    const slippageBps: number = 800 // 0.8%
    let instructions: TransactionInstruction[] = []
    let additionalSigners: Signer[] = []
    const usdcToken = POOL_CONFIG.tokens.find(t => t.symbol === 'USDC')!;

    await flashClient.loadAddressLookupTable(POOL_CONFIG)

    const account = getAssociatedTokenAddressSync(POOL_CONFIG.compoundingTokenMint, flashClient.provider.publicKey, true)

    const walletBalance = await flashClient.provider.connection.getTokenAccountBalance(account, 'processed')
    const compoundingTokenBalance = new BN(walletBalance.value.amount)

    // flash-sdk version >= 2.31.6
    const { amount: minTokenAmountOut, fee } = await flashClient.getRemoveCompoundingLiquidityAmountAndFeeView(compoundingTokenBalance, POOL_CONFIG.poolAddress, usdcCustody.custodyAccount, POOL_CONFIG);

    const minTokenAmountOutAfterSlippage = minTokenAmountOut
        .mul(new BN(10 ** BPS_DECIMALS - slippageBps))
        .div(new BN(10 ** BPS_DECIMALS))

    const removeCompoundingLiquidityData = await flashClient.removeCompoundingLiquidity(
        compoundingTokenBalance,
        minTokenAmountOutAfterSlippage,
        'USDC',
        usdcToken.mintKey,
        POOL_CONFIG,
        true
    )

    instructions.push(...removeCompoundingLiquidityData.instructions)
    additionalSigners.push(...removeCompoundingLiquidityData.additionalSigners)

    const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 400_000 }) // addLiquidity

    const trxId = await flashClient.sendTransaction([setCULimitIx, ...instructions])

    console.log('trx :>> ', trxId);
}

Update FLP/sFLP Price

const setLpTokenPrice = async () => {
   
    await flashClient.loadAddressLookupTable(POOL_CONFIG)

    let instructions: TransactionInstruction[] = []
    let additionalSigners: Signer[] = []
    const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 400_000 }) // setLpTokenPrice

     // flash-sdk version >= "3.1.10"
     const setLpTokenPriceData = await flashClient.setLpTokenPrice(POOL_CONFIG);

    instructions.push(...setLpTokenPriceData.instructions)
    additionalSigners.push(...setLpTokenPriceData.additionalSigners)

    const trxId = await flashClient.sendTransaction([setCULimitIx, ...instructions])

    console.log('setLpTokenPrice trx :>> ', trxId);
   
}

Composing Program Calls for Add/Remove Liquidity

Solana transaction instructions have strict size limits, and current runtime constraints prevent using Address Lookup Tables (LUTs) within inner instructions. To work around this, split the Add/Remove Liquidity flow into two separate instruction sequences that execute in order.

Overview

  1. Prepare LP Token Price

    • Use the setLpTokenPrice instruction to update or initialise the price data for your pool's LP token.

    • This instruction must run before any liquidity operations that depend on the latest price.

    Example : refer the above example of Update FLP/sFLP Price

  2. Add or Remove Liquidity

    • Invoke the AddLiquidity , AddCompoudingLiquidity or RemoveLiquidity , RemoveCompoudingLiquidity instruction in after the LP Token price instuction.

    • By separating the price‐setting logic, you avoid passing large lists of remaining accounts in a single instruction, keeping each instruction well under the size limit.

    Example : Add Compounding Liquidity instruction without passing any remaining accounts

let cpi_program = ctx.accounts.perp_program.to_account_info();

let acl_context = Box::new(CpiContext::new(
    cpi_program.clone(),
    AddCompoundingLiquidity {
        owner: ctx.accounts.owner.to_account_info(),
        funding_account: ctx.accounts.funding_account.to_account_info(),
        compounding_token_account: ctx.accounts.compounding_token_account.to_account_info(),
        pool_compounding_lp_vault: ctx.accounts.pool_compounding_lp_vault.to_account_info(),
        transfer_authority: ctx.accounts.transfer_authority.to_account_info(),
        perpetuals: ctx.accounts.perpetuals.to_account_info(),
        pool: ctx.accounts.pool.to_account_info(),
        in_custody: ctx.accounts.in_custody.to_account_info(),
        in_custody_oracle_account: ctx.accounts.in_custody_oracle_account.to_account_info(),
        in_custody_token_account: ctx.accounts.in_custody_token_account.to_account_info(),
        reward_custody: ctx.accounts.reward_custody.to_account_info(),
        reward_custody_oracle_account: ctx.accounts.reward_custody_oracle_account.to_account_info(),
        lp_token_mint: ctx.accounts.lp_token_mint.to_account_info(),
        compounding_token_mint: ctx.accounts.compounding_token_mint.to_account_info(),
        token_program: ctx.accounts.token_program.to_account_info(),
        event_authority: ctx.accounts.event_authority.to_account_info(),
        program: ctx.accounts.perp_program.to_account_info(),
        ix_sysvar: ctx.accounts.ix_sysvar.to_account_info(),
        funding_mint: ctx.accounts.funding_mint.to_account_info(),
        funding_token_program: ctx.accounts.funding_token_program.to_account_info(),
    },
));

let acl_params = Box::new(AddCompoundingLiquidityParams {
    amount_in: params.amount_in,
    min_compounding_amount_out: params.min_compounding_amount_out,
});

let compounding_amount = perpetuals::cpi::add_compounding_liquidity(*acl_context, *acl_params)?.get();

Get FLP/sFLP token prices

1) Using SDK (Advanced Integration)

const getLpTokenPrices = async () => {
    await flashClient.loadAddressLookupTable(POOL_CONFIG)
    const stakedLpPrice = await flashClient.getStakedLpTokenPrice(POOL_CONFIG.poolAddress, POOL_CONFIG); // sFLP price
    const compoundingLPTokenPrice = await flashClient.getCompoundingLPTokenPrice(POOL_CONFIG.poolAddress, POOL_CONFIG); // FLP price

    console.log('stakedLpPrice :>> ', stakedLpPrice);
    console.log('compoundingLPTokenPrice :>> ', compoundingLPTokenPrice);
}

2) Using API (Quick & Easy)

Query the following endpoint to get price data for all pools:

https://api.prod.flash.trade/earn-page/data

✅ Response Format (Example)

The response is a JSON object containing an array of pools, each representing a unique FLP pool. Here's what each key means:

Field
Description

poolAddress

The unique on-chain address of the liquidity pool

aum

Assets under management (in USD) for this pool

flpTokenSymbol

Symbol for the compounding FLP token (e.g., FLP.1, FLP.2)

sFlpTokenSymbol

Symbol for the staked FLP token (e.g., sFLP.1, sFLP.2)

flpDailyApy

Daily APY for compounding FLP token (auto-reinvested)

flpWeeklyApy

Weekly APY for compounding FLP token

flpWeeklyApr

Weekly APR for compounding FLP token (non-compounding)

sFlpDailyApr

Daily APR for staked FLP token (non-compounding)

sFlpPrice

Current price of staked FLP token

flpPrice

Current price of compounding FLP token

sFlpPriceWithYield

Derived price of sFLP token if yield is included in valuation

🔎 How to Use

To get token prices:

  • Match the flpTokenSymbol (e.g., "FLP.1") or poolAddress to identify your desired pool.

  • Use flpPrice for the compounding FLP token and sFlpPrice for the staked version.

This is the easiest method for frontends and dashboards needing real-time pricing and yield data without setting up the SDK or querying the blockchain.