Solana UI
Last updated
Last updated
You can experience the live Solana UI application, powered by the Fury API, here:
This demo provides a hands-on way to see how the Fury API endpoints translate into user actions within a graphical interface.
Solana UI is an open-source, multi-wallet trading platform built entirely using the Fury API. It serves as a practical demonstration and a powerful tool for interacting with the Solana blockchain via the capabilities exposed by Fury. It provides users with a seamless graphical interface to connect various Solana wallets and execute trades and other token operations efficiently.
Multi-Wallet Management: Create, import (single/bulk .txt), export, delete, and view balances across multiple Solana wallets.
Unified Trading Interface: Execute buy, sell, and swap operations across Fury's supported DEXs (Jupiter, Raydium, Pump.fun, Pumpswap, Moonshot) via an intuitive UI. (based on FURY API)
Dashboard & Token Tracking: View aggregated/individual SOL & specific token balances, select active wallets, and link to Solscan.
Fund Distribution: Send SOL or tokens from a single source wallet to multiple selected recipients simultaneously.
Fund Consolidation: Gather SOL from multiple source wallets into one destination wallet based on a set percentage.
Direct Transfers: Send SOL or specific SPL tokens from a managed wallet to any external Solana address.
Token Deployment: Define metadata (name, symbol, logo, socials) and deploy new SPL tokens via a guided UI flow.
Advanced Atomic Operations: Configure multi-wallet "Cleaner" function transactions for specific tokens.
Responsive Design: Optimized for use on both desktop and mobile devices.
The main Solana UI dashboard provides a clear, consolidated view of your assets across all managed wallets:
Wallet List: All loaded wallets are listed with truncated addresses.
Live SOL Balances: See the current SOL balance for each wallet and the aggregated total ($ XX.XX (XX.XX) SOL) for all loaded wallets at the top. Use Refresh (🔄) to update.
Specific Token Monitoring:
Paste any SPL token mint address into the input field at the top (next to the Fury logo).
Solana UI instantly queries and displays the balance of that specific token held within each of your managed wallets, shown in a new column next to the SOL balance.
Simultaneously, the header updates to show the total aggregated balance of that token across all currently selected (active) wallets (X.XX (X.XX) Tokens). This allows you to track specific holdings at a glance.
Active Wallet Selection: Select the primary wallet (🟢) or multiple wallets (✅, [Deselect Icon]) for trading and other actions.
Quick Explorer Access: View any wallet on Solscan via the external link icon (↗).
Core Actions: Access key functions from the top toolbars:
Wallet Management Actions (Left Toolbar): Refresh balances (🔄), Select All (✅), Deselect All ([Deselect Icon]), Download Wallets (↓), etc.
Fund Management Actions (Right Toolbar): Distribute, Consolidate, Transfer, Deposit
The Solana UI simplifies sending SOL from one of your managed wallets to many others simultaneously, leveraging the Fury API's distribution capabilities:
Initiate Distribution: Access the "Distribute SOL" feature (likely via the distribute icon in the main dashboard).
Select Sender: On the left ("FROM WALLET"), choose the single wallet you wish to send funds from. You can use the search bar to quickly find it among your loaded wallets.
Choose Recipients: On the right ("TO WALLETS"), select the destination wallets. Use the checkboxes next to each wallet, search for specific ones, or use the "SELECT ALL" button to target all listed recipient candidates.
Set Amount:
Enter the specific amount of SOL you want to send to each selected recipient in the "AMOUNT PER WALLET" field.
(Optional: If implemented) Toggle "CUSTOM AMOUNT PER WALLET" to specify different SOL amounts for each individual recipient (this option appears available but is off in the screenshot).
Review: Click the "REVIEW >" button.
Confirm Details: Carefully examine the "DISTRIBUTION SUMMARY" screen:
Verify the correct "FROM WALLET" and its starting balance.
Confirm the number of "RECIPIENTS" selected.
Check the "AMOUNT PER WALLET" and the calculated "TOTAL TO SEND".
Note the projected "REMAINING BALANCE" in the sender wallet after the distribution.
Review the list of "SELECTED RECIPIENTS" on the right, ensuring the correct wallets and incoming amounts (+X.XX SOL) are shown.
Execute: Tick the "I CONFIRM THIS DISTRIBUTION OPERATION" checkbox and click the "DISTRIBUTE SOL" button.
Approve Transaction: Authorize the transaction(s) when prompted by your connected wallet extension. The UI will then submit the request to the Fury API (/api/wallets/distribute) to perform the transfers on-chain.
The Solana UI enables you to efficiently gather SOL from multiple source wallets into a single designated recipient wallet using the Fury API's consolidation power:
Initiate Consolidation: Access the "Consolidate SOL" feature.
Select Recipient: On the left ("RECIPIENT WALLET"), choose the single wallet from your loaded list that will receive the consolidated funds. You can use the search bar to find it quickly.
Choose Sources: On the right ("SOURCE WALLETS"), select the wallets you want to gather funds from. Use the checkboxes next to each, search for specific ones, or use the "SELECT ALL" button. The UI will show how many wallets are selected.
Set Percentage: In the "PERCENTAGE TO CONSOLIDATE (%)" field, enter the percentage (e.g., 0.01 for 0.01%) of the SOL balance you wish to transfer from each selected source wallet.
Live Preview: Observe the "LIVE PREVIEW" section update dynamically. It shows the number of source wallets selected, the calculated SOL amount to be moved from each (based on the percentage), the recipient's current balance, and its estimated new balance after consolidation. The "TOTAL TO CONSOLIDATE" also updates in the Source Wallets panel.
Review: Click the "REVIEW >" button when ready.
Confirm Details: Carefully check the "CONSOLIDATION SUMMARY" screen:
Verify the correct "TO WALLET" (recipient) address and its starting "CURRENT BALANCE".
Confirm the number of "SOURCE WALLETS" involved.
Check the applied "PERCENTAGE PER SOURCE".
Note the calculated "TOTAL TO CONSOLIDATE" amount.
Review the "NEW BALANCE (ESTIMATED)" for the recipient wallet.
Examine the "SELECTED SOURCE WALLETS" list on the right to see the specific amount being subtracted (-X.XXXX SOL) from each source based on the percentage.
Execute: Tick the "I CONFIRM THIS CONSOLIDATION OPERATION" checkbox and click the "CONSOLIDATE SOL" button.
Approve Transaction: Authorize the transaction(s) in your connected wallet extension. This action submits the request to the Fury API (/api/wallets/consolidate) to perform the consolidation transfers on-chain.
The Solana UI allows you to easily transfer SOL or any SPL token from one of your managed wallets to any specified Solana address using the Fury API:
Initiate Transfer: Access the "Transfer SOL" or "Transfer" feature.
Select Source Wallet: Choose the single wallet from your managed list that you want to send funds from. Use the search bar or scroll through the list and check the box next to the desired wallet.
Enter Recipient Address: Paste the complete Solana public key of the destination wallet into the "RECIPIENT ADDRESS" field. This can be one of your other managed wallets or any external address.
Specify Asset:
To send SOL: Leave the "TOKEN ADDRESS" field empty.
To send an SPL Token: Paste the specific mint address of the token you wish to transfer into the "TOKEN ADDRESS" field.
Enter Amount: Input the exact quantity of SOL or the token you want to transfer into the "AMOUNT" field. Ensure you account for the token's decimals if sending an SPL token.
Review: Click the "REVIEW >" button to proceed to the confirmation step.
Confirm Summary (Expected Step): A summary screen (similar to Distribute/Consolidate) will likely appear, showing:
Source Wallet Address
Recipient Wallet Address
Asset (SOL or Token Address/Symbol)
Transfer Amount
You will need to confirm the operation (e.g., via a checkbox).
Execute Transfer (Expected Step): Click the final "TRANSFER" or "SEND" button on the summary screen.
Approve Transaction: Authorize the transfer transaction when prompted by your connected wallet extension. This action uses the Fury API's (/api/tokens/transfer) endpoint to execute the transfer on the Solana blockchain.
The Solana UI provides access to the Fury API's powerful "Cleaner Function," designed for complex, atomic token operations across multiple wallets, ideal for strategies requiring simultaneous buys/sells or value transfers without exposure.
Step 1: Configure Sellers
Access Cleaner: Initiate the operation via the "Multi-Wallet Token Operations" section or a dedicated "Cleaner" button.
Target Token: The operation focuses on a specific SPL token. Ensure the correct "TOKEN ADDRESS" is displayed on the right panel (this might be entered in a previous step or selected here).
Select Seller Wallets:
The left panel ("CONFIGURE SELLERS") lists your managed wallets that currently hold a balance of the target TOKEN ADDRESS. Wallets without the token are automatically filtered out.
Use the search bar or scroll to find the wallets you want to act as the source or "Seller" in this atomic operation.
Click on a wallet in the left list to add it to the "SELECTED SELLERS" list on the right panel. You can select one or multiple sellers.
Proceed: Once you have selected all the desired seller wallets, click the "NEXT >" button to configure the subsequent steps of the Cleaner operation (which typically involve defining the receiving wallets or the specific action like sell/transfer).
Okay, let's describe the first step of the "Deploy Token" process as shown in the Solana UI screenshot. This part focuses on defining the token's metadata and identity.
The Solana UI provides a streamlined interface to create and deploy your own SPL tokens on the Solana network, utilizing the Fury API's token creation endpoint.
Step 1: Define Token Metadata
Access Deployer: Navigate to the "Deploy Token" section within the UI.
Mint Public Key:
You need a unique public key for your new token's mint address.
Option A (Generate): Click the "GENERATE" button. The UI will likely use the Fury API (/api/utilities/generate-mint) to create a new, secure keypair and populate the "MINT PUBKEY" field with the public key. Important: Securely back up the associated private key if provided or generated locally, as it controls the mint.
Option B (Enter Existing): If you have already generated a keypair separately, paste the intended public key into the "ENTER OR GENERATE A MINT PUBKEY" field.
Core Details:
NAME*: Enter the full desired name for your token (e.g., "My Awesome Project").
SYMBOL*: Enter the ticker symbol for your token (e.g., "MAP"). Keep it short and unique.
Description: Provide a brief description explaining the purpose or utility of your token.
Social & Web Links: Enter relevant links for your token's community and presence:
Telegram group link (e.g., t.me/yourgroup)
Twitter handle (e.g., @yourhandle)
Project website URL (e.g., https://yoursite.com)
Logo URL*: Enter a direct URL linking to the image file for your token's logo. This will be used in wallets and explorers that support the Solana Token Metadata standard.
Proceed: Once all required fields (*) are filled, click the "NEXT >" button to move to the next step, which will likely involve configuring supply, decimals, and confirming the deployment transaction.
If you want to run the Solana UI locally for development, testing, or to connect it to a local/private instance of the Fury API:
Clone the repository:
Install dependencies:
(Optional) Configure API Endpoint: The UI needs to know where the Fury API is hosted. Check for an environment file (e.g., .env
, .env.local
, or similar) or configuration settings within the source code (src/config
or similar). You may need to create/modify this file to point the UI to your specific Fury API [Your_Service_Base_URL]
.
Start the development server:
The application will typically start and be available at http://localhost:5173
in your browser
The Solana UI codebase is organized using a standard Next.js project structure:
solana-ui/ ├── public/ # Static assets (images, fonts, etc.) ├── src/ # Main source code directory │ ├── components/ # Reusable React components (UI elements) │ ├── contexts/ # React Context providers (e.g., for wallet state) │ ├── hooks/ # Custom React hooks (e.g., for API calls) │ ├── pages/ # Next.js page routes (defines app URLs) │ ├── styles/ # Global styles, Tailwind base/components │ └── utils/ # Utility functions (formatting, helpers) ├── .env.local # Local environment variables (API URL, etc. - Not committed to Git) ├── tailwind.config.js # Tailwind CSS configuration ├── postcss.config.js # PostCSS configuration ├── tsconfig.json # TypeScript configuration ├── package.json # Project dependencies and npm scripts └── README.md # Repository README
Fury API: The backend service providing all trading, token, and wallet functionalities.
(version 14 or later recommended)
(comes with Node.js)
: Core UI library.
: React framework providing routing, server-side rendering, API routes, etc.
: Utility-first CSS framework for styling.
: Adds static typing to JavaScript.
: Libraries for connecting various Solana wallets (Phantom, Solflare, etc.).
: Used by Wallet Adapter for interacting with the Solana network (signing transactions).
/ : For making HTTP requests from the UI to the Fury API.