⚠️ Devnet test tool — every transaction here runs on Solana Devnet only; tokens have no real value. This AMM program has not passed a security audit — do not use with real funds or mainnet until every item in SECURITY.md is complete.

SWD AMM — Test UI

Program ID: Talks directly to the program via the RPC selected below — no backend server in between.
Wallet not connected

0. Quick Setup

Automates the manual steps below. Each button still needs a wallet approval per transaction, but you no longer have to copy/paste mint addresses between panels — they fill in automatically everywhere.
Quick Setup uses the active pair above if one exists, otherwise it creates a fresh one — then initializes the pool, deposits starter liquidity, and loads the pool info automatically.

1. Create Test Mint (helper)

Creates a new test SPL token (6 decimals) and mints 1,000,000 units into your wallet — use this instead of finding a real token to test with.

2. Initialize Pool

(mint_a, mint_b) and (mint_b, mint_a) are different pools — always keep the order consistent with the steps below.

3. Pool Info

4. Add Liquidity

The program does not refund excess tokens — compute the correct ratio before calling (check Pool Info above first if this isn't the first deposit).

5. Remove Liquidity

6. Swap

DLMM — Concentrated Liquidity

Meteora-style bin-based pools — a separate set of pools, mints and positions from the constant-product pools above.

7. Initialize DLMM Pool

Creates a fixed 201-bin array centered on the active bin ID (±100 bins). Keep the (mint_a, mint_b) order consistent with the panels below.

8. DLMM Pool Info

9. Add DLMM Liquidity

Applies the same amounts to every bin in [lower, upper]. Bins above the active bin accept mint_a only (set Amount B to 0); bins below accept mint_b only (set Amount A to 0) — only the active bin accepts both.

10. My DLMM Position

11. Remove DLMM Liquidity

Load your position above first to see exact share amounts per bin — enter one value per bin, in the same order.

12. DLMM Swap

Ready — connect your wallet to begin