top of page

Build on Solana with IDX

Launchlab · Tools · Wallet — one ecosystem.

Built on Solana with IDX

Your coin to market liquidity — one ecosystem.

Launchlab · Tools · Wallet
1B+

Transactions on IDX ecosystem 

One stack

Launch · trade · hold

Non‑custodial

Wallet & tools

21+

Builder tools on IDX

24/7

Live markets & automation

Launch · Trade · Scale

Create on Launchlab, grow with Tools, and hold in Wallet — without switching apps. Built for founders, traders, and teams on Solana.

Built for builders who ship

Token creator

Launch a custom Solana token in minutes with no coding required

Create, fund, and manage Raydium liquidity pools easily from one dashboard

IDX Fast swap

Execute token swaps quickly with low slippage paths across markets

Grow and diversify your on-chain holder base faster over time

Automate trading volume and liquidity pool flows 24/7 on Solana

IDX Launchlab

Trade live on the bonding curve before graduation to full liquidity

Token burn

Burn supply permanently with verifiable on-chain transactions you control

Reaction booster

Boost social visibility and community engagement at scale across channels

IDX Wallet

Self-custody business wallet for secure daily sends, swaps, and asset holds

Bulk sender

Airdrop tokens to thousands of wallets in one fast batch run

Launch on Launchlab. Automate with Tools. Custody in Wallet - one stack for teams that move.

Building the stack builders run on Solana

All-in-one platform

Launch on Launchlab, automate with Tools, and custody in Wallet — without switching apps or juggling logins.

Automation-first

Run liquidity bots, volume flows, and repeat tasks around the clock while you focus on growth.

Non-custodial by design

IDX runs the tools; you keep control of wallets and assets through your own keys.

Built for high volume

From live curve trading to batch sends — IDX is built for teams that execute at scale.

Who IDX is built for

Token launch creators

Launch on Launchlab or create coin with pro, trade live on the curve, and grow momentum from day one.

Community growth leaders

Keep holders engaged and on-chain activity visible when your token needs attention.

Active live market traders

Move fast on curves, swaps, and liquid markets without switching apps.

Launch operations teams

Run launches, automation, and custody from one stack — no patchwork of tools.

Built for Solana’s
market speed

AUTONOMOUS EXECUTION

Blocks & confirmations that match
how markets actually move.

/ Speed

TRUSTLESS PRIVACY

Run volume, bots, and ops without
fees eating the strategy.

/ Cost at scale

Autonomous AI defense system representation

Fair launches, curves, and graduation
paths teams use every day.

/ Live launch culture

Visualization of seamless cross-chain interoperability

From bonding curve toliquidity — one
chain, full lifecycle.

/ Deep liquidity

Layer 3AI-powered blockchain ecosystem

Launch, iterate, and graduate
in days—not quarters.

/ Ship fast

linear gradiant orange

For teams that need more
than off-the-shelf tools.

Launch . Automate.
Ship

linear gradient light green

Custom apps 
on IDX

linear gradient purple

SEE YOU THERE

IDX Tech Center

Watch & learn on Solana

IDX Solana is an AI Web3 innovation company building on Solana. We ship practical, AI-assisted workflows for operators — launches, live trading, liquidity, and automation — through Launchlab, Tools, and Wallet.

From fair launch to live markets to automated volume — one production stack built for teams that execute.

Meet the team behind IDX.
Small team. Big stack. Very online — and yes, that’s really our office.

IDX Solana Team

FAQ

Subscribe IDX On Youtube

SUBSCRIBE TO
OUR YOUTUBE

Dex screenr logo
Solana logo
Coinmarketcap logo
geckoterminal logo
bottom of page
/** * Wix Custom Code — paste into Settings → Custom Code → Body end (All pages) * on https://www.idxsolana.io/ * * Requires a hidden Wix Subscribe form on the site (same page or any page * loaded by the docs iframe bridge). Pair with docs.idxsolana.io footer. */ (function () { var ALLOWED = [ "https://docs.idxsolana.io", "http://localhost:3000", "http://localhost:3010", ]; function isAllowedOrigin(origin) { if (!origin) return false; if (ALLOWED.indexOf(origin) !== -1) return true; if (/^https:\/\/docs\.idxsolana\.io$/.test(origin)) return true; if (/^http:\/\/localhost:\d+$/.test(origin)) return true; if (origin === window.location.origin) return true; return false; } function reply(event, payload) { if (!event.source) return; try { event.source.postMessage(payload, event.origin || "*"); } catch (e) {} } function findSubscribeForm() { var candidates = document.querySelectorAll("form"); for (var i = 0; i < candidates.length; i++) { var form = candidates[i]; if (form.querySelector('input[type="email"]')) return form; } return null; } function findSubmitControl(form) { return ( form.querySelector('[data-hook="submit-button"]') || form.querySelector('button[type="submit"]') || form.querySelector('input[type="submit"]') || form.querySelector("button") ); } function watchSubmitResult(form, event) { var root = form.closest('[data-hook="form-root"]') || form.parentElement || document.body; var settled = false; function finish(ok, message) { if (settled) return; settled = true; observer.disconnect(); clearTimeout(timer); reply(event, ok ? { type: "idx-footer-newsletter-ok" } : { type: "idx-footer-newsletter-error", message: message || "Could not subscribe. Try again." }); } var observer = new MutationObserver(function () { var success = root.querySelector('[data-hook="success-message"], [data-testid="successMessage"]'); if (success) finish(true); var error = root.querySelector('[data-hook="error-message"], [data-testid="errorMessage"]'); if (error && error.textContent && error.textContent.trim()) { finish(false, error.textContent.trim()); } }); observer.observe(root, { childList: true, subtree: true, characterData: true }); var timer = setTimeout(function () { finish(true); }, 4000); } function submitEmail(email, event) { var form = findSubscribeForm(); if (!form) { reply(event, { type: "idx-footer-newsletter-error", message: "Subscribe form not found. Add a hidden Wix Subscribe form to this site.", }); return; } var input = form.querySelector('input[type="email"]'); if (!input) { reply(event, { type: "idx-footer-newsletter-error", message: "Email field not found." }); return; } var submit = findSubmitControl(form); if (!submit) { reply(event, { type: "idx-footer-newsletter-error", message: "Submit button not found." }); return; } input.focus(); input.value = email; input.dispatchEvent(new Event("input", { bubbles: true })); input.dispatchEvent(new Event("change", { bubbles: true })); watchSubmitResult(form, event); try { if (typeof form.requestSubmit === "function") { form.requestSubmit(submit); } else { submit.click(); } } catch (e) { reply(event, { type: "idx-footer-newsletter-error", message: "Could not submit form." }); } } window.addEventListener("message", function (event) { if (!isAllowedOrigin(event.origin)) return; var data = event.data; if (!data || data.type !== "idx-footer-newsletter") return; var email = String(data.email || "").trim(); if (!email) { reply(event, { type: "idx-footer-newsletter-error", message: "Email is required." }); return; } submitEmail(email, event); }); })(); /** * Wix Velo — paste into Backend → http-functions.js on https://www.idxsolana.io/ * Publish the site after saving. * * Endpoint: POST https://www.idxsolana.io/_functions/newsletter_subscribe * * Only enable browser fetch after this is deployed AND working: * NEXT_PUBLIC_WIX_NEWSLETTER_USE_HTTP=true * * Until then, docs uses postMessage bridge (wix-footer-form-bridge.js) — no CORS. */ import { ok, badRequest, response } from "wix-http-functions"; import { contacts } from "wix-crm-backend"; const ALLOWED_ORIGINS = [ "https://docs.idxsolana.io", "http://localhost:3000", "http://localhost:3010", ]; function resolveOrigin(origin) { if (!origin) return null; if (ALLOWED_ORIGINS.indexOf(origin) !== -1) return origin; if (/^http:\/\/localhost:\d+$/.test(origin)) return origin; return null; } function corsHeaders(origin) { const headers = { "Access-Control-Allow-Methods": "POST, OPTIONS", "Access-Control-Allow-Headers": "Content-Type", "Content-Type": "application/json", }; if (origin) { headers["Access-Control-Allow-Origin"] = origin; } return headers; } export function options_newsletter_subscribe(request) { const origin = resolveOrigin(request.headers.origin); return response({ status: 204, headers: corsHeaders(origin), }); } export function post_newsletter_subscribe(request) { const origin = resolveOrigin(request.headers.origin); const headers = corsHeaders(origin); if (!origin) { return response({ status: 403, headers: { "Content-Type": "application/json" }, body: { error: "Forbidden" }, }); } return request.body .text() .then(function (text) { var body = {}; try { body = JSON.parse(text || "{}"); } catch (e) { return badRequest({ body: { error: "Invalid JSON body." }, headers: headers }); } var email = String(body.email || "").trim(); if (!email) { return badRequest({ body: { error: "Email is required." }, headers: headers }); } return contacts .findOrCreateLabel("Subscriber") .then(function (label) { return contacts.appendOrCreateContact({ emails: [{ email: email, tag: "MAIN", primary: true }], labelKeys: [label.key], }); }) .then(function () { return ok({ body: { success: true }, headers: headers }); }); }) .catch(function (error) { return badRequest({ body: { error: error.message || "Could not subscribe." }, headers: headers, }); }); } /** * Wix Custom Code — paste into Settings → Custom Code → Body end (All pages) * on https://www.idxsolana.io/ * * Requires a hidden Wix Subscribe form on the site (same page or any page * loaded by the docs iframe bridge). Pair with docs.idxsolana.io footer. */ (function () { var ALLOWED = [ "https://docs.idxsolana.io", "http://localhost:3000", "http://localhost:3010", ]; function isAllowedOrigin(origin) { if (!origin) return false; if (ALLOWED.indexOf(origin) !== -1) return true; if (/^https:\/\/docs\.idxsolana\.io$/.test(origin)) return true; if (/^https:\/\/[a-z0-9-]+\.idxsolana\.io$/.test(origin)) return true; if (/^http:\/\/localhost:\d+$/.test(origin)) return true; if (origin === window.location.origin) return true; return false; } function reply(event, payload) { if (!event.source) return; try { event.source.postMessage(payload, event.origin || "*"); } catch (e) {} } function findSubscribeForm() { var candidates = document.querySelectorAll("form"); for (var i = 0; i < candidates.length; i++) { var form = candidates[i]; if (form.querySelector('input[type="email"]')) return form; } return null; } function findSubmitControl(form) { return ( form.querySelector('[data-hook="submit-button"]') || form.querySelector('button[type="submit"]') || form.querySelector('input[type="submit"]') || form.querySelector("button") ); } function watchSubmitResult(form, event) { var root = form.closest('[data-hook="form-root"]') || form.parentElement || document.body; var settled = false; function finish(ok, message) { if (settled) return; settled = true; observer.disconnect(); clearTimeout(timer); reply(event, ok ? { type: "idx-footer-newsletter-ok" } : { type: "idx-footer-newsletter-error", message: message || "Could not subscribe. Try again." }); } var observer = new MutationObserver(function () { var success = root.querySelector('[data-hook="success-message"], [data-testid="successMessage"]'); if (success) finish(true); var error = root.querySelector('[data-hook="error-message"], [data-testid="errorMessage"]'); if (error && error.textContent && error.textContent.trim()) { finish(false, error.textContent.trim()); } }); observer.observe(root, { childList: true, subtree: true, characterData: true }); var timer = setTimeout(function () { finish(true); }, 4000); } function submitEmail(email, event) { var form = findSubscribeForm(); if (!form) { reply(event, { type: "idx-footer-newsletter-error", message: "Subscribe form not found. Add a hidden Wix Subscribe form to this site.", }); return; } var input = form.querySelector('input[type="email"]'); if (!input) { reply(event, { type: "idx-footer-newsletter-error", message: "Email field not found." }); return; } var submit = findSubmitControl(form); if (!submit) { reply(event, { type: "idx-footer-newsletter-error", message: "Submit button not found." }); return; } input.focus(); input.value = email; input.dispatchEvent(new Event("input", { bubbles: true })); input.dispatchEvent(new Event("change", { bubbles: true })); watchSubmitResult(form, event); try { if (typeof form.requestSubmit === "function") { form.requestSubmit(submit); } else { submit.click(); } } catch (e) { reply(event, { type: "idx-footer-newsletter-error", message: "Could not submit form." }); } } window.addEventListener("message", function (event) { if (!isAllowedOrigin(event.origin)) return; var data = event.data; if (!data || data.type !== "idx-footer-newsletter") return; var email = String(data.email || "").trim(); if (!email) { reply(event, { type: "idx-footer-newsletter-error", message: "Email is required." }); return; } submitEmail(email, event); }); })();