MTrade — Trading Terminal
MTrade (Moono-Trade) is a free trading terminal Moono provides on top of pump.fun. Use it to buy, sell, or trigger the migration of any pump.fun-launched token. It is not tied to a loan — anyone with a wallet, session, and profile can trade.
The product idea is simple: one Address Lookup Table per token, generated once, reused for every trade. The same ALT works before and after the bonding curve graduates to PumpSwap, so you don’t need to re-derive anything when the curve completes.
Why MTrade
Section titled “Why MTrade”- Single UI for pre- and post-graduation —
mtrade_buy_0/mtrade_sell_0read the bonding curve’scompleteflag on-chain and route to the correct backend automatically. You don’t have to track whether a token has graduated. - One ALT per token — generate the ALT once for any token you care about, then every subsequent buy/sell skips the derivation overhead.
- Delegated trading — if you’d rather not sign every trade with your main wallet, your in-browser service wallet can sign instead. Useful for scripting or session-driven trade flows.
- Migration crank — when a curve has graduated but no PumpSwap pool exists yet, anyone can trigger the migration from MTrade with one click.
Prerequisites
Section titled “Prerequisites”To use MTrade you need:
- A connected Solana wallet
- A signed session (the deterministic in-browser service wallet derived from your wallet signature)
- A registered Moono User Profile
All three together unlock the MTrade routes. New to Moono? Run the registration flow described in the Borrower Guide → Step 1 — it’s the same profile used by every Moono feature.
1. Pick a launch configuration
Section titled “1. Pick a launch configuration”Open /trade. The app lists all available launch configurations on the current network — these are the platform / quote-asset pairs the protocol supports (mainnet today: pump.fun / WSOL). Click the one you want to trade in.
2. Pick a token
Section titled “2. Pick a token”The next page (/trade/:platform/:quote) asks for the token address (base mint) you want to trade. Paste a pump.fun-launched mint and click Trade. A realtime token list is on the roadmap; for now, bring your own mint address.
3. Generate the ALT (once per token)
Section titled “3. Generate the ALT (once per token)”On the token page (/trade/:platform/:quote/:token), click Generate ALT in the header. The app derives all addresses needed for both pump.fun and PumpSwap branches of the universal ix and writes them into an Address Lookup Table owned by your wallet.
After generation:
- ALT badge in the header shows the short ALT address (hover for full)
- Regenerate — rebuild from scratch (useful if accounts shifted, e.g. fee recipients rotated)
- Clear — drop the ALT reference from the app (the on-chain ALT keeps existing; you can rebuild it later)
The ALT is a one-time cost and is the slowest step of MTrade — every subsequent trade on this token reuses it.
4. Trade
Section titled “4. Trade”The token page has three tabs:
- Buy Exact — specify exact base tokens to receive (
mtrade_buy_0(base_amount_out, max_quote_amount_in)); the app wraps up tomax_quote_amount_inSOL into WSOL automatically. Pre-grad and post-grad routes are handled by the same ix; the on-chain handler picks the active branch. - Buy Market — specify exact SOL to spend (
mtrade_buy_exact_quote_in_0(spendable_sol_in, min_base_amount_out)); the most common flow.min_base_amount_outis computed from your slippage setting. - Sell — specify exact base tokens to sell (
mtrade_sell_0(base_amount_in, min_quote_amount_out)). Proceeds land on your WSOL ATA (post-grad) or directly as native SOL (pre-grad — close the WSOL ATA after to consolidate).
The token-balance row shows your current base and quote (WSOL) balances. The slippage slider gates the min_*_out / max_*_in arguments — tighter slippage rejects more reverts but lower latency partial fills.
5. Migrate (optional, anyone can crank)
Section titled “5. Migrate (optional, anyone can crank)”If the bonding curve has completed (the Migrate hint appears at the top of the page), but no PumpSwap pool exists yet, you can trigger the migration:
- Click Migrate
- Approve the transaction (~0.05 SOL in rent for the new pool / lp_mint / ATAs; compute-unit limit set to 1M)
After the migration lands, the same MTrade buys/sells route through PumpSwap automatically. See the Migration guide for the full picture.
Buy to graduate
Section titled “Buy to graduate”If the curve has not yet completed and is close to the threshold, the page shows a Buy to graduate hint with the exact SOL amount needed. Clicking it fills the Buy Exact form for that amount — useful if you specifically want to be the trade that crosses the threshold.
Token list
Section titled “Token list”MTrade does not yet have a real-time discovery list. You bring the token address. A future version will index pump.fun launches and surface them in the UI.
Delegated trading via service wallet
Section titled “Delegated trading via service wallet”Every trade can be signed by either your main wallet or the in-browser service wallet that’s been proved on your profile. Useful for:
- Automated trading scripts that hold the service wallet’s keypair in memory
- Session-driven flows where you don’t want to confirm each trade with a hardware wallet
Tokens bought via the service wallet land in the service wallet’s ATAs. You can forward them off-chain later, or drain the service wallet’s SOL via the Drain to my wallet button on the Profile page.
Slippage
Section titled “Slippage”The slippage slider sets your tolerance for execution price drift between when you sign and when the tx lands. Lower = stricter (more reverts on rapid price moves). Higher = looser (rare reverts but worse fills in fast markets). The default is a sensible starting point; adjust per-trade as needed.
When to use MTrade
Section titled “When to use MTrade”| Goal | Use |
|---|---|
| Trade a token that may or may not be graduated | MTrade (it handles both) |
| Trade pre-grad only and you trust pump.fun’s own UI | pump.fun directly |
| Trade post-grad with a complex limit-order strategy | A dedicated DEX aggregator |
| Trade and want to integrate with your Moono loans / presets | MTrade (same wallet, same auth, same ALT pool) |
For most users — especially if you’re already using Moono for borrowing or LP — MTrade is the lowest-overhead way to trade.
Limits
Section titled “Limits”- Compute units — set the limit to ~400k for buy/sell, 1M for migrate. The app does this automatically.
- Account count — every ix uses ALT; without one, the buy/sell tx wouldn’t fit Solana’s account limit.
- No protocol fee — only pump.fun’s or PumpSwap’s own fees apply.
- Token list — bring your own address until the indexer ships.