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...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
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.”
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.
Getting Started
Tokenomics
Ecosystem Partners
Build On Flash
Audits
Monthly Protocol Report
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
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)
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:
Proposals can only be put up by Core Team.
Proposal Drafting occurs in the Flash Discord to arrive at reasonable parameters for the specifics.
In the case of a failed proposal, it can be revisited in 1 month only.
Proposals Must Be Specific and Executable
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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
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.
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
Solana Defi pool
Meme pool
WIF pool
Samo pool
FLP.6
sFLP.6
Fart pool
FLP.7
sFLP.7
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
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.
Crypto Pool
70%
Stable Pool
70%
Solana Defi Pool
70%
Meme Pool
100%
WIF Pool
100%
Samo Pool
95%
Fart Pool
95%
On Flash.Trade the collateral for the trade will depend on whether a user would like to long or short an asset.
When you go "long" on something, you're betting its value will increase. Here's what you can use as collateral for different assets:
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
XAU (Gold), XAG (Silver): Can ONLY use USDC
Euro, GBP, AUD: Can ONLY use USDC
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
BONK, PENGU: You can use USDC, BONK, or PENGU
WIF Pool (FLP.5/sFLP.5)
WIF: You can use USDC or WIF
SAMO: You can use USDC or SAMO
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.
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.
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.
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.
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.
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
Crude-Oil, EUR, GBP, AUD, Gold, and Silver
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.
A connected Solana wallet (Phantom, Backpack, Solflare, or your preferred wallet)
Access to the Flash Trade platform at flash.trade
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.
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
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!
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
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.
Go to Flash.Trade and click the "Earn" tab.
Find your sFLP rewards using either method:
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).
Pool Cards Method:
Find "Flash Liquidity Pools" section.
Hover (desktop) or tap dropdown arrow (mobile) on your desired pool.
Click "Discover More"
Rewards accumulate hourly based on trading activity
Higher trading volume = higher reward distributions
Rewards are paid in USDC
You can collect rewards at any time
No minimum balance required to claim
Consider gas fees when claiming smaller amounts
sFLP now earns Voltage Points (VP) continuously
VP accumulates even without claiming rewards
Track your VP in the staking leaderboard
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.
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!
Click on the "Swap" tab
Enter how much USDC, SOL, etc... you want to swap for FAF
Set your slippage tolerance (usually Auto works fine)
Hit "Connect Wallet" if you haven't already
Confirm the swap and you're good to go!
Navigate to Staking
Click on the "Token" tab in the main navigation
This takes you straight to the FAF Staking page
Stake Your Tokens
In the "Enter Amount" field, type how much FAF you want to stake
Click the "Stake" button
Confirm the transaction in your wallet
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!
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!
When You're Ready to Unstake
Stay on the Token Staking page
Click the "Unstake" tab
Choose your unstaking method:
Delayed: No fees, but you'll wait 30 days
Instant: 3% flat fee for immediate access
Complete the Unstake
Enter the amount you want to unstake
Select your preferred method (Delayed or Instant)
Click "Unstake"
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%.
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
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.
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.
Each Flash Beast level corresponds to a specific $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
🔗 Conversion Link: Convert your Flash Beast here
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
Staking FAF unlocks rewards and utility on the platform.
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.
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.
We’re embracing Futarchy, a governance model that uses prediction markets to guide decisions. Learn more here.
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 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.
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.
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.
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
The beauty of Futarchy is in the conditional execution:
Your trade only happens if your predicted outcome occurs
Wrong predictions get refunded - you don't lose your principal
Right predictions execute at market prices.
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.
Markets will follow the hours below:
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
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.
Before your first trade:
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.
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.
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
On the Token Staking page, locate the rewards section
Look for your "Rewards Claimable" amount - this shows your accumulated FAF rewards from the completed epoch
Click the "Claim FAF" button to initiate the claiming process
Confirm the transaction in your wallet
Your FAF rewards will be transferred directly to your wallet
Epoch Duration: 30 days
Claiming Window: Available anytime after epoch conclusion
No Expiration: Unclaimed rewards remain available indefinitely
Clear browser cache and reconnect
Disable interfering browser extensions
Try a different supported wallet
For detailed information about the hybrid reward system, Voltage Points mechanics, and ranking calculations, visit our documentation page.
Need additional help claiming your rewards?
Join our for real-time support
Visit our for common questions
Legitimate Flash Trade support will never ask for your private keys or recovery phrase.
Flash Trade has integrations with leading DeFi protocols across Solana to maximize the utility and yield potential of FLP tokens.
Before engaging with partner protocols:
Hold FLP tokens from Flash Trade ()
Understand leverage mechanics and associated risks
Assess your risk tolerance and market outlook
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.
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.
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. ()
While partner integrations offer enhanced returns, users should understand the additional risk factors:
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
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
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
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
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.
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.
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.
Integrating with Flash.trade made easy
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.
Detailed Example:
Checkout the public repo .
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%
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
}
)
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.
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.
Revenue Split
50% of all protocol fees go to FAF stakers, 50% retained by the protocol
Distribution Currency
All revenue shares are distributed in USDC every 6 hours
Claiming
You can claim your accumulated revenue share at any time through the staking interface
Pro-rata Calculation
Your share is determined by:
(Your Staked FAF / Total Staked FAF) × Available Revenue Pool
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
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.
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.
Navigate to the Token page in your Flash Trade dashboard
Check your "Your Revenue Share" amount
Click "Claim Revenue" to receive USDC directly to your wallet
Revenue continues accruing as long as your FAF remains staked
Revenue sharing is distinct from FAF staking 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.
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.
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.
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.
SOL
500
100k
450k
BTC
500
250k
833k
ETH
500
100k
375k
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
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
Asset Restriction: Currently limited to SOL, BTC, and ETH
Feature Gaps: Many standard trading tools unavailable
Join our Discord community for real-time support.
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.
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.
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.
Flash offers two liquidity providing options with different reward mechanisms:
Flash offers two types of liquidity providing tokens with different reward mechanisms:
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
Choose Your Pool
Select from FLP.1 (main crypto pool) or FLP.3 (Solana DeFi pool)
Select Token Type
Decide between auto-compounding FLP or manual-claim sFLP
Deposit Assets
Add any supported pool asset (optimal deposits help balance ratios)
Receive LP Tokens
Get FLP/sFLP tokens representing your pool share
Earn Fees
Start earning from all trading activity immediately
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
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.
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.
This guide walks you through placing your first trade on Flash Trade, covering all essential features and risk management tools.
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)
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
Click the dropdown menu in the trading pair section (top of the interface)
Browse available markets or use the search function
Select your desired trading pair (e.g., SOL/USDC)
The chart and order panel will update to reflect your selection
For this tutorial, we'll use SOL as our trading asset.
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.
Enter your desired position size
The system automatically calculates Liquidation Price and Fees based on leverage amount.
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
Set your target profit level
Position closes when price reaches this level
Define your maximum acceptable loss
Limits downside risk by closing position at predetermined price
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
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
Click "Long/Buy" button for Market Longs
Click "Short/Sell" button for Market Shorts
Click "Limit Order" button for Limit Orders
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
Modify Stop Loss and Take Profit levels as needed
Partially close positions to lock in profits
Add to existing positions if desired
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
Always set Stop Loss levels
Never risk more than you can afford to lose
Start with smaller position sizes while learning
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
Join the community for real-time support. Remember: legitimate support will never ask for your private keys or recovery phrase.
Review for common questions
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.
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:
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.
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
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
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
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.
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.
Join the Discord: http://discord.gg/flashtrade
Verify your FAF holdings and
Introduce yourself to the community
Explore existing discussions to understand ongoing conversations
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
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 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.
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).
USDC
45%
25%
55%
BTC
22.50%
15%
40%
JitoSOL
24.50%
14%
45%
ETH
5%
2%
12%
SOL
3%
0.10%
45%
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%
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
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
This guide covers common technical issues users may encounter while trading on Flash.Trade and provides step-by-step solutions to resolve them.
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:
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
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
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
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:
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
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
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
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:
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)
Monitor Network Conditions
Higher priority fees are necessary during periods of high network activity
Consider using DYNAMIC mode for automatic fee optimization
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
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
Network Monitoring
Be aware of Solana network status during high-traffic periods. Check here
Consider increasing priority fees during major market events
Backup Preparations
Familiarize yourself with backup oracle settings before you need them
Test different RPC providers to identify the best performance for your location
If you continue experiencing issues after following this guide:
Check for network-wide issues
Join the Flash.Trade channel for real-time support
Ensure you're using the official interface at
FLP.1 tokens from Flash Trade are now integrated with Sandglass. This integration unlocks new strategies for FLP holders to optimize their yield exposure.
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 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
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
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.
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
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.
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.
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
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
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.
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
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
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.
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.
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.
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.
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 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
RateX offers two primary strategies for FLP yield trading, each serving different market outlooks and risk preferences:
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
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
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
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
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
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
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
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.
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.
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
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.
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.
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 allow you to set predetermined entry and exit prices for your trades, providing better price control and strategic positioning without constant market monitoring.
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
Navigate to the trading page
Switch from "Market" to "Limit" order type
The interface will update to show limit order options
Set Price: Enter your desired execution price
Set Size: Specify position size (minimum $10)
Select Collateral: Choose appropriate collateral asset
Review Details: Confirm order parameters
Click "Place Limit Order"
Confirm transaction in your wallet
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
Navigate to the "Orders" tab under "Limit Orders"
Select the order you want to modify
Edit Trigger Price: Change the execution price
Confirm Changes: Submit the updated order
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
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
You must use like-collateral for limit orders:
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
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.
FLP tokens from Flash Trade are now integrated with Loopscale. This integration unlocks new strategies for FLP holders to optimize their yield exposure.
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 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
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
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:
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
When closing the position, the process reverses automatically with a flash loan covering repayment, collateral being unlocked, and remaining FLP returned to the user.
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
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.
The unique advantage for Flash Trade users is earning rewards simultaneously across both platforms, creating a multiplicative effect on total returns.
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
While FLP loops offer enhanced returns, they introduce additional risk factors that users must carefully consider before deploying capital.
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.
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.
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
Initial Setup:
Connect wallet to Loopscale platform
Review available FLP loop options and current yields
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
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.
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.
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
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:
FLP.1 = PT + YT
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.
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
Before using the swap feature:
✅ Connected Solana wallet (Phantom, Solflare, Backpack, etc.)
✅ Sufficient SOL for transaction fees
✅ Source tokens in your wallet for swapping
Navigate to flash.trade
Click the "Swap page" tab in the top navigation menu
Ensure your wallet is connected
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.
(Pay) Select Source Token
Click the dropdown in the "Pay" field
Choose the token you want to swap from
Enter the amount or use percentage buttons (25%, 50%, 75%, 100%)
(Receive) Select Destination Token
Click the dropdown in the "Receive" field
Choose the token you want to receive
The estimated amount will automatically calculate
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
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 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
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
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
⚠️ 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
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
Join our Discord community for real-time support.
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.
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 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.
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
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
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%
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
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
Flash Trade users leveraging FLP on NX Finance benefit from earning rewards across both platforms simultaneously, creating multiplicative returns while maintaining diversified exposure.
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
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
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.
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
Initial Setup:
Visit NX Finance
Connect your Solana wallet
Navigate to the Leverage section
Select FLP.1 from available collateral options
Team Creation (Required):
Create or join a team for Point Nadventure
Verify team membership for point accumulation
Review point earning mechanics and requirements
Position Configuration:
Select FLP.1 as collateral asset
Set desired leverage ratio (up to 3x maximum for FLP.1)
Review liquidation price and health factor
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
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.
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.
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.
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.
Go to Flash.Trade and click the "Earn" tab
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"
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%
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)
A dynamic fee that depends on the balance of assets in FLP after the liquidity is added.
Formula:
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:
The components of fees are calculated using the following formulas:
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.
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.
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.
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
During periods of high market volatility, Flash Trade's pricing engine activates special risk management protocols that affect collateral valuation and position management.
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
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
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
This guide shows you how to claim your USDC revenue share as a FAF staker on Flash Trade.
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
For detailed information about how revenue sharing works, visit our .
That's it! Your USDC revenue share is now in your wallet.
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
Guide On How to Mint sFLP
Check out our guide for how to collect sFLP rewards.
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%
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.
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.
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
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
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.
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)
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
You must complete registration through the Flash Trade platform to begin earning VP and be eligible for epoch rewards.
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.
Each epoch runs for exactly 30 days, during which:
VP Accumulation: Users earn VP through platform activities
Dynamic Competition: Rankings update based on performance
Epoch End: Final VP totals determine rewards
VP Reset: All VP resets to zero
New Epoch: Next period starts immediately
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
Must Register: Registration required before earning any VP
Trading Disadvantage: Half the VP rate on trading volume
Equal LP/Referral Rates: Same earning potential as stakers for these activities
50% VP Penalty: Only half of earned VP counts toward rankings
Focus Strategy: Emphasize LP provision and referrals for maximum efficiency
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
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
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
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.
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.
All users earned VP at the same rates regardless of staking status:
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
Rankings were distributed across six tiers based on percentile performance:
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
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.
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)
Your time-weighted stake = How much FAF you had staked and for how long during the epoch
Your VP multiplier = 1.0x, 1.2x, 1.4x, 1.6x, 1.8x, or 2.0x based on your VP tier
Total epoch rewards = The total FAF rewards available for that epoch
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.
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.
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 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
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"
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.
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
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
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
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
Since public launch, Flash Trade has achieved significant milestones:
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
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
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
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
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
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
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
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
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.
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
Flash Trade implements a dynamic fee structure across different asset pools. Understanding these fees is essential for optimizing your trading strategy.
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
Rate: 0.051% (5.1 bps) of total position size
Applied: On both position opening and closing
Rate: Variable based on pool utilization
Cap: 90% utilization maximum
Calculated by the formula below:
Note: Utilization ≥ 72% triggers higher rates
Applied when using non-native collateral:
Calculated by the formulas below:
Fee Parameters:
Fee Target
0.00075
Fee Max
0.0015
Base Fee
0.0002
BTC
22.5%
15%
40%
USDC
45%
25%
55%
JitoSOL
24.50%
14%
45%
SOL
3.00%
0.10%
45%
ETH
5%
2%
12%
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%
PENGU
30%
1%
100%
BONK
40%
1%
100%
USDC
30%
1%
100%
WIF
70%
1%
100%
USDC
30%
1%
100%
SAMO
70%
1%
100%
USDC
30%
1%
100%
FARTCOIN
70%
1%
100%
USDC
30%
1%
100%
BTC
30%
105%
SOL
56%
105%
ETH
30%
105%
JUP
140%
175%
JTO
140%
175%
RAY
140%
350%
PYTH
140%
175%
W
140%
250%
KMNO
140%
175%
BONK
140%
250%
WIF
140%
250%
PENGU
140%
350%
TRUMP
140%
350%
SAMO
140%
250%
Pool 1
28%
35%
Pool 3
35%
50%
Pool 4+
50%
100%
Metals/FX/Commodities
175.2%
175.2%
Details on the components of the Swap Fee are below. FeeMin is always 0.
Fee Target
0.00025
Fee Max
0.0005
Base Fee
0.0001
⚠️ 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.
yarn add @solana/web3.js @pythnetwork/client @solana/spl-token @coral-xyz/anchor
// setup the flashClient as show previously
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
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;
}
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)
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);
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);
}
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')
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
)
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
}
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.
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);
}
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);
}
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);
}
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);
}
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);
}
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.
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
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();
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);
}
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:
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.