Qmax MCP server
online · 100% uptimeio.github.profitphil/qmax·v1.0.0Qubic DEX aggregator: best-price quotes across QX and QSwap, order books, candles, trade plans.
0 stars
Reviews
Write oneNobody has reviewed Qmax yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Qmax tools (19, 2 write)
write = sends, deletes, buys or postsqmax_backtestFreeReplays 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 traded. Strategies: 'hold' (buy once, hold), 'dca' (spend amountQu every everyHours), 'bands' (buy fractionPct of the QU when the price is bandPct below its lookbackHours average, sell fractionPct of the holding when above, with a cooldown). The result's 'warnings' note that there is no order book depth in the history, so large amounts are optimistic, and QSwap's flat 100,100 QU fee can swallow small trades. Past results do not predict future ones.
qmax_build_planFreeQuotes 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 market manages), then one call per market. Each step: kind, description, destination (a smart contract by index), inputType (procedure number), amountQu to attach (QU that may leave the wallet; unused QU is refunded by the contracts) and payloadBase64 (the call's input bytes). 'maxOutlayQu' is the most QU that can leave the wallet across all steps, so it is the figure to compare with a spending limit before signing. Signing and sending a step moves real funds. For a sell, pass how many shares the wallet holds under QX management and under QSwap management (holdings_qx, holdings_qswap) so the right moves are planned. Buys need no holdings.
qmax_check_arbitrageFreeSearches, 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 markets can have one. Free on qmax.exchange; a QMax server run with metered billing can charge a small fee for a found result.
qmax_get_candlesFreeOpen, 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 no trades. The response also gives the last 24 hours of volume across both markets. Returns: { asset, range, interval, venue, candles: [{ t (ms), o, h, l, c, volumeQu, volumeQty, trades }], truncated?, available?, volume24hQu, trades24h }. Prices are QU per unit.
qmax_get_flowwrite actionFreeBuy 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_healthFreeA 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-suspected / bot-burst (a single wallet churning tiny same-size swaps against itself, which inflates trade counts but not volume). Many assets grade D or E because QX markets are thin: that is information, not an error. It is an automated estimate from public data and NOT advice; the absence of 'wash-suspected' is not proof of a clean market (large wash trades are not detectable from this data). Omit 'asset' to get every asset's grade in one call.
qmax_get_liquidity_poolFreeA 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_liquidity_positionsFreeEvery 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-only. Adding or removing liquidity is done in the QMax app with a wallet; this tool never builds or signs one. 'complete' is false when a pool could not be read and its positions are missing. 'earnedFeesQu' is already inside what removing pays, nothing pays it separately. Values are estimates at the pool's price, which can be far from what the tokens sell for on a thin market.
qmax_get_order_bookwrite actionFreeWhat 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_get_price_historyFreeThe 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 minutes. OHLC and volume are in qmax_get_candles.
qmax_get_quoteFreePrices 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 their own wallet. Also returns the total in QU, the average price, each leg (venue, quantity, price range, fees, price impact), what each single market alone would cost, a plain-English line saying what the routing saved, and warnings. All amounts are QU; quantities are whole units. The quote is a snapshot: prices move, so it can differ a moment later.
qmax_get_sellersFreeFor 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 from the public Qubic archive, so the first call for an asset starts the reading and answers status "working" with its progress and what is known so far; a reading takes a minute or two, after which the status is "ready" and the answer is kept for six hours. The chain shows who sold and what they paid, not why. Free.
qmax_get_tapeFreeThe 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 buy versus sell volume, and 'latestId', the id to give as 'since' to get only newer trades. Served from memory, so cheap to poll.
qmax_get_wallet_ledgerFreeEvery 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 'truncated' fields say that the archive has no events for about 10 to 14 June 2026, units that arrived before the window or by transfer have no known cost (selling them is not counted as profit), and QSwap liquidity changes appear as transfers. Unrealized P&L uses the mid or pool price, which can mislead on thin markets. Takes a few seconds and many archive reads, so it is rate limited per address. Not tax advice.
qmax_list_assetsFreeLists 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'), venues, priceQu, liquidityQu, activity }] }. Prices are QU per unit.
qmax_list_poolsFreeEvery 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 inflated (wash trading) is flagged in each pool's notes.
qmax_pool_detailFreeOne 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_swap_quoteFreePlans 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), 'expectedOutQty' (what the swap should return) and 'minOutQty' (guaranteed by the limits only if neither price moves past the slippage limit), plus warnings. Leg 2 can only be sized exactly after leg 1 settles, from the wallet's real balance, so a swap is never one atomic transaction: if leg 1 completes and leg 2 cannot proceed you are left holding QU. Both tokens must trade on QX or QSwap; QU itself is not a swap leg (qmax_get_quote prices a plain purchase or sale for QU).
qmax_venue_premiumFreeHour 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 wider than the costs) and the delay between the two transactions. Returns { bothVenues, breakEvenPct, points, summary, note }.
Public scan report
scanner v0.1.10 · 2026-10-28 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 1641ms20/20
- Tool poisoning19 tool descriptions checked15/15
- Auth qualityopen endpoint exposes 2 write-action tools with no auth3/15
- Maintenancelast push 11 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (1)
- highWrite-action tools reachable without authentication
auth.open-write
How Qmax compares
Against every graded E-commerce MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 81/100
- higher than 73% of 2,174 E-commerce servers
- Tools
- 19
- the typical E-commerce server has 6
- Tools that change things
- 11%
- typical: 0%. Fewer write tools means less an agent can break
- Uptime
- 100%
- of our recent checks; the typical remote E-commerce server answers 100%
- Response time
- 695 ms
- faster than 21% of 1,527 E-commerce servers
What its tools let an agent do: 17 read · 2 change
Install Qmax in Claude Code, Cursor or VS Code
claude mcp add --transport http qmax https://qmax.exchange/api/mcp
What the publisher says
From the Qmax repository's README, as published. We do not edit it. Read it on GitHub
QMax
About this repository. This is the open part of QMax: the router, the HTTP API, the website, the SDK, the MCP server and the x402 helpers. Some parts of QMax's own deployment are not included: the Max planner, the Max pass logic, the Discord bot (apart from its QU price feed), the server deployment files and every secret. Where code here depends on a withheld part there is a small stand-in file that keeps the types and says so, so the rest builds and runs. All rights reserved: no license is granted.
QMax finds the best route to get you the max for your money on Qubic. Given buy 5000 ASSET, it prices the order on the QX order book and the QSwap pool (fees, price impact and transfer costs included) and routes to the cheaper venue, or splits across both.
npm i
npm run qmax -- buy 100000 [--snapshot file.json] [--no-split]
npm testWhat costs money (and what does not)
Almost everything is free, to help adoption, since other Qubic sites are free: the website (no pass, no per-trade fee), the HTTP API (no key, no billing), the SDK, the MCP server and agents. The one thing sold is Max quotes for agents (GET /v1/max, APIMAXPRICEQU, 100 QU a plan on the live server): an agent pays from a prepaid key's balance or holds an x402 session, while the website's own Max and QMax's own keys never pay (below). The Discord bot's subscription exists in the code but is switched off. "Free" is not "unlimited": callers without QMax's own key are limited per IP on the market endpoints (APIFREEPERMIN, default 60 a minute) so one of them cannot swamp the Qubic node, and QMax's own key (the Discord bot) is not limited. Income is therefore the Max quotes agents buy (and any support tips), and the Discord subscriptions if they are ever switched back on, which is also what the subscribers' profit share is made from (below).
- APIACCESS=free (default): everyone, no key. billing: the old prepaid per-call prices and x402 sessions, kept but off. private: only APIKEY gets in.
- APIMAXPRICEQU (default 0: Max quotes are free; 100 on the live server) sells Max plans to agents inside APIACCESS=free: the meter then serves only GET /v1/max, and keys and top-ups work (POST /v1/keys, GET /v1/topup, POST /v1/topup/claim, GET /v1/account) but nothing else is charged. Who pays: an agent with a prepaid key (x-api-key) is charged the price after the plan is made, so a request that cannot be planned costs nothing (and one whose balance was spent meanwhile gets a 402, not the plan); an agent with an x402 session (GET /v1/x402, APISESSIONPRICEQU for APISESSIONSECONDS) pays nothing per plan; anyone else gets a 402 that names the price and both ways to pay. Never charged: QMax's own keys (APIKEY, ADMIN_KEY) and requests the website's own page makes (a browser marks them Sec-Fetch-Site: same-origin, which a page's script cannot change, so another site's page is charged). That is a soft check, not a lock: a program outside a browser can send the same header and save the price, which is why the price is small. A per-plan payment is not offered on purpose: QPayhub keeps at least 100 QU of every payment and a payment takes about ten seconds, so a 100 QU payment per call would lose all its value to the fee. A top-up of 10,000 QU buys 100 plans for a fee of about 1%.
- The website's pass is off. Build the site with VITEREQUIREPASS=on to ask for it again (PAYWALL in src/config.ts sets its price).
- The sections below on the pass, prepaid API keys and x402 sessions describe those optional modes.
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Qmax: common questions
- Is Qmax MCP server safe?
- Mostly: it is graded B (81/100). Read the Qmax safety report
- How do I install Qmax?
- It runs remotely at qmax.exchange. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Qmax need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Qmax maintained?
- The last commit was 17 days ago (2026-10-17). The latest release is v1.0.0.
- Is Qmax up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- What can I use instead of Qmax?
- Servers from other publishers that do the same job: Iran Crypto Exchanges MCP server, Polymarket Paper Trader MCP server and Tiny MCP server.
- How does Qmax compare with other E-commerce MCP servers?
- safety score 81/100 (higher than 73% of 2,174 E-commerce servers); tools 19 (the typical E-commerce server has 6); tools that change things 11% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Qmax
Same job from other publishers: the closest match first, then the best rated.
- Iran Crypto ExchangesUnofficial read-only Iranian crypto exchanges: prices in Toman, order books, trades, candles.not reviewedGrowingA
- Polymarket Paper TraderPolymarket paper trading for AI agents: $10k paper money, real order books, official fees.not reviewedGrowingA
- TinyMCP server for Tiny ERP — products, stock, warehouses, price lists, orders, invoices, AP/ARnot reviewedGrowingB
- EsimflyeSIMfly Business API: search eSIM plans, check usage, diagnose eSIMs, optionally order (confirmed)not reviewedGrowingA
- Robinhood CryptoRobinhood Crypto Trading API for AI agents: quotes, holdings, orders read-only; opt-in trading.not reviewedGrowingB