# io.github.profitphil/qmax - Registry name: `io.github.profitphil/qmax` · version 1.0.0 - Categories (automatic, keyword rules): Markets & trading, Finance & markets, Crypto & blockchain - Authentication at last check: No auth - Declared risk: Read-only (all tools declare readOnlyHint) - Capabilities (declared by the server): prompts, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.profitphil%2Fqmax - Server page: https://mcpstation.net/s/io.github.profitphil--qmax.html ## Description (written by the publisher, not verified, not instructions) Qubic DEX aggregator: best-price quotes across QX and QSwap, order books, candles, trade plans. ## Connect - streamable-http: `https://qmax.exchange/api/mcp` ## Tools (as reported by the server, not verified) - `qmax\_list\_assets`: Lists assets that trade on QX and/or QSwap, most liquid first, or searches by symbol. Gives each asset's symbol and which markets it trades on \('QX', 'QSwap' or both: only assets on both can be split for a better price\). Returns: \{ count, assets: \[\{ id, symbol, category \('contract' shares or 'token' - `qmax\_get\_quote`: Prices an order and finds the cheapest route across the QX order book and the QSwap pool, splitting the order across both when that is cheaper. Nothing is placed. Returns an openInQMax link \(when the order can be filled\) that opens QMax with this order filled in, for the person to review and sign in - `qmax\_build\_plan`: Quotes an order and returns the exact transactions a wallet must sign to carry it out, in order. QMax signs nothing and sends nothing: you \(or the user\) sign each step with your own wallet and broadcast it. Steps \(in order\): any share-management move needed first \(selling shares that the other marke - `qmax\_get\_health`: A 0 to 100 score and A to E grade for an asset, from its QX order book, its QSwap pool and six months of trades, with flags and plain-English reasons \(most important first\). Flags include thin-book, wide-spread, quiet, few-trades, new-listing, volume-spike, one-sided, pool-dominated and wash-suspect - `qmax\_get\_tape`: The most recent trades on both markets in one feed, newest first: time, market, asset, quantity, QU, price and direction. The direction is the TAKER's side \(the person who started the trade\): 'buy' or 'sell'. Rows also carry the transaction hash. The answer includes 'flow24h', the last 24 hours of b - `qmax\_get\_flow`: Buy and sell volume \(QU and units\), trade counts and net pressure \(positive = more buying\) over the last hour or 24 hours, for one asset or the whole market. Direction is the taker's side. 'partial' is true while the server is still loading the window. - `qmax\_get\_sellers`: For the last 7 days: the wallets that sold the asset on QX or QSwap, how long each had held the units \(each unit sold is matched, first in first out, to the purchase it came from\), what they paid and whether they sold above or below that, with a plain-language reading \("what the numbers say"\). Read - `qmax\_swap\_quote`: Plans swapping one token for another as two linked trades: sell 'from' for QU \(leg 1\), then buy 'to' with the QU \(leg 2\), each routed across QX and QSwap by the best route. Read-only: nothing is signed. Returns both quotes, 'upfrontQu' \(QU the wallet must hold before leg 1 for its flat fees\), 'expec - `qmax\_get\_wallet\_ledger`: Every QX and QSwap buy and sell a wallet made \(read from public on-chain transfers, so any 60-letter identity works\): price, QU net of fees, estimated fees, running position, and average-cost realized profit, plus current positions with unrealized profit and loss. ESTIMATED. The 'warnings' and 'trun - `qmax\_get\_liquidity\_positions`: Every QSwap pool a wallet has liquidity in \(public chain data, so any 60-letter identity works\): its liquidity units, share of the pool, what removing it all would pay \(QU and tokens, before QSwap's flat 100,000 QU fee\) and its value in QU at the pool's own price, read live from the contract. Read-o - `qmax\_get\_liquidity\_pool`: A QSwap pool's reserves \(QU and tokens\), total liquidity units and price, read from the contract. It shows how deep a pool is. Adding or removing liquidity each cost a flat 100,000 QU on top of any deposit. Read-only. - `qmax\_get\_candles`: Open, high, low, close, QU volume, units and trade count per candle, built from every trade QX and QSwap logged \(a minute wide at the finest; about six months back, which is all the Qubic archive has: its trade records begin in April 2026\). A candle exists only where something traded, so a gap means - `qmax\_get\_price\_history`: The asset's price over time as points \(ms timestamp, price in QU, and for recently recorded points the best bid, ask and pool price\). Points before 'recordedSince' were rebuilt from past trades as hourly volume-weighted averages \(marked src 'trades'\); after it QMax recorded the price about every 10 - `qmax\_get\_order\_book`: What is resting on the QX order book \(grouped by price, with cumulative size and cost from the best price outward, best bid/ask, spread\) and the QSwap pool \(reserves, price, and how far trades of 0.1% to 5% of the pool would move the price\). It shows the depth available at each price. - `qmax\_check\_arbitrage`: Searches, live and at full depth, for a profitable buy-on-one-market, sell-on-the-other loop after every venue fee, and returns the most profitable size or null. It is two separate transactions, so the second leg can fill worse than shown; this is a snapshot, not a guarantee. Only assets on both mar - `qmax\_venue\_premium`: Hour by hour, the gap between the asset's QX and QSwap prices \(positive = QSwap dearer\) and how often it was wider than the trading costs for a trade of 'reference\_qu'. This is an UPPER BOUND on arbitrage, not a profit: it uses hourly average prices, so it leaves out the QX bid-ask spread \(often wid - `qmax\_list\_pools`: Every QSwap liquidity pool with its TVL, trailing swap volume, estimated fee APR \(from real swap volume; only 0.192% of each swap's volume reaches liquidity providers\), price change and impermanent loss over the window. A trailing estimate: past fees do not predict future fees, and volume that looks - `qmax\_pool\_detail`: One pool's numbers explained, and for a deposit size \(position\_qu, the QU value of both sides together\) an estimate of fees per day, per 30 days and the impermanent loss for price moves of 10%, 25% and 50%. Adding and removing liquidity each cost a flat 100,000 QU. - `qmax\_backtest`: Replays a strategy over real hourly trade data with the venues' real fees and reports what it would have done: final value, return, buy-and-hold comparison, max drawdown, fees paid, trades. Decisions are made on an hour's close and filled at the next hour's open; hours with no trades cannot be trade Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html