Dexscreener-affiliated mobile-first memecoin launchpad. Tokens launch on a fixed 1B-supply bonding curve and graduate to Meteora/Raydium (Solana) or to a Base/Abstract DEX once curve sells out. Official `@moonit/sdk` (Solana) and `@wen-moon-ser/moonshot-sdk-evm` (Base, Abstract) ship offline price/tx builders.
- 01mobile memecoin trading flows
- 02Solana + Base + Abstract bonding-curve launches
- 03Apple/Google Pay-style fiat onramp into memecoins
- 04Dexscreener-integrated discovery and trade UX
- 05no-presale fair-launch tokens with audited templates
- pnpm add @moonit/sdk @solana/web3.js
- pnpm add @wen-moon-ser/moonshot-sdk-evm viem
| Variable | Scope | Description |
|---|---|---|
| SOLANA_RPC_URL | Server | Solana mainnet RPC for the @moonit/sdk path. Use Helius/QuickNode — public mainnet-beta is rate-limited. |
| MOONSHOT_EVM_RPC_URL | Server | Base mainnet RPC (e.g. https://base.gateway.tenderly.co/) or Abstract mainnet RPC for the EVM SDK. |
| MOONSHOT_DATA_API_KEY | Server | Optional — Moonshot Data API key for `/token/v1/{chainId}/{pairOrTokenId}` and `/trades/v1/latest/...` endpoints (600 req/min limit). |
On Solana, use `@moonit/sdk`: `const moonshot = new Moonshot({ rpcUrl, environment: Environment.MAINNET, chainOptions: { solana: { confirmOptions: { commitment: 'confirmed' } } } })`, then `moonshot.Token({ mintAddress })` exposes `getCurvePosition()`, `prepareTx({ slippageBps, creatorPK, tokenAmount, collateralAmount, tradeDirection })` returning a serialized tx to sign. On Base/Abstract, use `@wen-moon-ser/moonshot-sdk-evm`: `const moonshot = new MoonshotEvm({ rpcUrl, chainId })` and call `prepareTx({ tokenAddress, slippageBps, ... })`. For discovery hit the Data API at `/tokens/v1/{viewId}/{chainId}` and `/trades/v1/latest/{chainId}/{pairOrTokenId}`.
- ⚑Bonding-curve graduation thresholds differ per chain — Solana coins migrate to Meteora/Raydium, Base/Abstract coins migrate to local DEXs; once graduated, SDK `prepareTx` reverts and you must route through the post-graduation venue.
- ⚑EVM and Solana SDKs are separate packages with diverging APIs — do not assume parity for `creatorPK` vs `creator`, slippage units, or fee fields.
- ⚑Mobile webview wallets sometimes drop deep-link callbacks during Moonshot's Apple/Google Pay onramp; persist the order ID and reconcile via Data API on resume.
- ⚑Rug-pull coins still appear despite pre-audited templates; surface holder concentration, LP-burn status, and dev wallet sells before letting a user buy.
- ⚑Data API hard rate-limit is 600 req/min per key — batch with `/tokens/v1/{viewId}/{chainId}` instead of per-token loops or you will get 429s in production.
- ⚑KYC/AML applies to fiat onramp paths (Apple/Google Pay) but not crypto-only flows — gate UX accordingly and don't surface fiat to non-eligible jurisdictions.
- ⚑Cross-chain: a Base-launched Moonshot token is not the same asset as a Solana-launched one with the same name; surface chainId clearly to avoid wrong-chain bridging losses.