Six separate markets
Split- Route
- nUSDC / nUSDe
- Another
- nUSDC / nUSDT
- Size you touch
- That pair only
- If a coin slips
- That market pays
Each pair keeps its own depth. Size parked in one market never reaches the others.
Under watch
nUSDC, nUSDT, nPYUSD, nUSDe, nEURC, nFDUSD, nGHO, and nUSDS sit in one book. The watch stays on the reserves, so a slip in one coin does not walk off with the rest. Pay, amount, and receive still draw on the whole book.
Solana devnet. The watch is already on. Connect, then step in.
Each pair keeps its own depth. Size parked in one market never reaches the others.
One ninja keeps this book. A floor can stop. The reserves beside it stay.
Side by side
A pair market makes you pick a lane. Pool Ninja holds the basket in one place and keeps most of the capital where a dollar actually trades.
| Question | Separate pairs | Pool Ninja |
|---|---|---|
| Coins in the quote | 2 | 4, one reserve |
| nUSDC into nUSDe | Only that pair’s size | The shared balances |
| Where the seed sits | Each pair’s own range | Eight floors around $1 |
| One coin breaks | The pair keeps quoting | That floor stops |
| Fee | Chosen per market | 1 bp |
The curve
Pool Ninja is an automated market maker. The lineup shares one reserve. Any swap moves that same reserve, so one pool covers the routes between these coins.
Σ (r − xi)2 = r2
r is the radius. xi is how much of coin i is in the book. Every price stays on this surface.
pi→j = (r − xj) / (r − xi)
Coin i paid for one coin j. The coin with the larger balance is the cheaper one.
xi = r (1 − 1/√n)
Four coins means √4 = 2, so each balance starts at r / 2. That is the opening seed.
fee = amount / 10,000
One basis point, taken as you pay in. It stays in the vault and does not feed back into the price.
min(r − x) / max(r − x) × 10,000
The cheapest coin, in basis points of $1. A floor freezes once the price falls through it.
r′ = r × new sum / old sum
Frozen balances leave the quote and the radius shrinks with them. One swap can freeze at most three floors.
The opening seed is cut into eight floors: 40% above $0.9995, then 27%, 15%, 8%, 4%, 3%, 2%, and 1% across the full range. Tight floors do the trading near a dollar. A broken coin retires those floors and leaves the wider ones standing. Rounding favors the pool.
A swap
The form still asks what you pay, how much, and what comes back. The reserve behind those fields is what changed.
nUSDC, nUSDT, nPYUSD, nUSDe, nEURC, nFDUSD, nGHO, and nUSDS sit in one lineup. Swapping nUSDC for nUSDT moves the same balances as swapping nPYUSD for nUSDe.
six routes, one bookMost of the seed is stacked close to $1. A tight floor earns more while the peg holds. A wide floor stays through a bigger slip.
$0.9995 down to full rangeYou still choose what you pay, how much, and what you receive. Both coins read the shared reserve, so size is not stuck in one pair.
exact in, exact outIf a coin falls through a floor, that slice stops quoting. Liquidity that stayed on a tighter floor is not pulled into the break.
1 bp, kept by the poolOn chain
Point the wallet at devnet before you sign. These are the mints in the book and the deployer that seeded them.
devnet
The book, the eight floors, and every swap settle on this cluster.
https://api.devnet.solana.comGRG9CqaYABVi2Z67CBFbkq9vHC8VJ2CtvCtmqs3woHqE
Swaps, liquidity, and positions call this program.
Windows onto the book
Pair pools on these same mints. The price underneath is still Pool Ninja.
DCYGieAFCYNvmNRDj3Aoi4qTpZAVC4RsKbGUqDn4RJdp
Signed the setup. Swaps and the faucet use the wallet you connect.
AogEbswqviQNztUJJZziERHt2SbZMEFBqxj7wQfQLyg5
FNEBoyu8SpihwkA5ApDii13MHwK1scKmrGsefXPkC1ru
6EVpJryaSzY29qyJQwWQbMt8AbtBSQrZcMkAdHMMbZMn
AtKin6p4ecibN42YPBN1gdgBwwU69cWqdWewj7x4tphR
Floors
Pay one stablecoin and receive another. The ninja keeps both sides on the same reserve.