Zero-Fee Solana Web3 Wallet with Advanced Security & Full Control
IDX Wallet is a non-custodial Web3 wallet built for the Solana ecosystem, offering zero fees, full ownership, and advanced wallet architecture. This guide combines feature explanations with simplified pseudo-code to make the product and engineering model easy to understand.


IDX Wallet does not charge any platform fees. Users only pay Solana network fees.
Flow (Concept)
function sendTransaction(user, tx) {
fee = getNetworkFee(tx) // Solana gas fee
platformFee = 0 // IDX takes nothing
total = tx.amount + fee
execute(tx, total)
}Insight

IDX Wallet aggregates top trending tokens across the Solana ecosystem from multiple data sources, enabling users to discover high-potential opportunities early. Instead of relying on a single platform, IDX combines insights from DEX aggregators, launchpads, and market analytics providers to deliver a unified, real-time discovery experience.
Users can explore tokens from platforms like Jupiter (DEX aggregation), major Solana DEXs, CoinMarketCap, and Pump.fun, including tokens that are:
Each token is enriched with actionable data such as price change, liquidity, volume, holder distribution, and early momentum signals—helping users make faster and more informed decisions.
Multi-Source Aggregation (Concept)
function getTrendingTokens() {
tokens = fetchFromAPI("trending")
sorted = sortByVolume(tokens)
return sorted.slice(0, 20)
}Pump.fun Graduation Tracking (Concept)
function categorizePumpFunTokens(tokens) {
graduated = []
graduating = []
for token in tokens:
if token.marketCap >= GRADUATION_THRESHOLD:
graduated.push(token)
else if token.progress >= 80%:
graduating.push(token)
return { graduated, graduating }
}Risk Profiling (Concept)
function getRiskProfile(token) {
risk = "LOW"
if token.liquidity < MIN_LIQUIDITY:
risk = "HIGH"
if token.holderDistribution.top10 > 80%:
risk = "HIGH"
if token.isNew && token.volumeSpike:
risk = "MEDIUM"
return risk
}Optional On-Chain Scan
function detectNewTokens(block) {
for tx in block.transactions:
if tx.type == "token_creation":
addToTrending(tx.token)
}Supports multiple independent wallets with different seed phrases.
Flow (Concept)
wallets = []
function addWallet(seedPhrase) {
wallet = deriveWallet(seedPhrase)
wallets.push(wallet)
}Switching Wallets
function switchWallet(index) {
activeWallet = wallets[index]
}Generate multiple accounts from one seed phrase using deterministic paths.
Flow (Concept)
function deriveAccounts(seedPhrase, count) {
accounts = []
for i in range(0, count):
path = "m/44'/501'/" + i + "'"
account = deriveFromPath(seedPhrase, path)
accounts.push(account)
return accounts
}Insight




IDX Wallet provides a unified control layer for creating wallets, organizing accounts, reclaiming rent from unused token accounts, exporting encrypted backups, and tracking balances across strategy-based wallet groups. The goal is to reduce manual overhead while keeping every action transparent and user controlled.
Create Wallet
function createWallet() {
seed = generateSeedPhrase()
wallet = deriveWallet(seed)
save(wallet)
}Export All Data
function exportWalletData() {
return encrypt(JSON.stringify(wallets))
}Solana token accounts require rent-exempt lamports. When accounts become empty after swaps or transfers, they still hold locked rent unless explicitly closed. IDX Wallet helps identify zero-balance accounts and close them safely so rent is recovered back to the main wallet balance.
This is especially useful for active wallets that interact with many tokens, where cleanup can recover meaningful SOL over time.
Flow (Concept)
function closeTokenAccount(tokenAccount) {
if tokenAccount.balance == 0:
sendTransaction({
type: "close_account",
account: tokenAccount
})
}Batch Cleanup
function cleanWallet(accounts) {
for acc in accounts:
if acc.isEmpty():
closeTokenAccount(acc)
}Users can export wallet data at any time as an encrypted backup. This provides an offline recovery layer and supports migration between devices without relying on centralized custody.
Backup files include wallet structures and metadata in encrypted form, and restore requires the correct password to decrypt and reconstruct account state.
Flow (Concept)
function backupWallet() {
data = JSON.stringify(wallets)
encryptedBackup = encrypt(data, userPassword)
download(encryptedBackup)
}Restore
function restoreWallet(file, password) {
data = decrypt(file, password)
wallets = JSON.parse(data)
}IDX Wallet allows users to split operations into dedicated wallet roles such as trading, long-term holding, and testing. This structure improves risk segmentation and operational clarity for different DeFi workflows.
Aggregated balance calculation gives a single net view across all grouped wallets while preserving account-level control and visibility.
Example Structure
portfolio = {
trading: wallet1,
holding: wallet2,
testing: wallet3
}Balance Aggregation
function getTotalBalance() {
total = 0
for wallet in wallets:
total += wallet.balance
return total
}Private keys are encrypted locally before storage.
Flow (Concept)
function encryptPrivateKey(privateKey, password) {
return AES.encrypt(privateKey, password)
}
function decryptPrivateKey(encryptedKey, password) {
return AES.decrypt(encryptedKey, password)
}Storage Model
store = {
encryptedKey: "...",
publicKey: "..."
}Important
IDX Wallet combines user-friendly design with powerful architecture:
Zero-fee execution model
Deterministic account system
Secure key encryption
Multi-wallet flexibility
On-chain optimization tools
Continue with wallet operations and Solana token workflows from the documentation hub.
IDX Wallet ->