Perp DEX Aggregators: Routing, Builder Fees and Execution
Jump to sectionsShort answer
A perp DEX aggregator lets you compare or trade through several venues from one interface. Its useful advantage is finding a better route for your order after all fees. Check where the resulting position lives: you may still need separate collateral and separate exit controls for each venue.
Hyperliquid is the underlying venue in Tangerine’s documented agent-based route. Using the native venue as the reference helps you identify where positions and permissions live; that route does not imply liquidity split among several exchanges.
What does a perp DEX aggregator actually combine?
Start with the action you need. A funding comparison page helps you discover a market but may never submit an order. A trading terminal lets you select several exchanges from one screen. A router chooses an execution destination. A split router can allocate parts of a requested position to different sources. None of these labels tells you, by itself, which service a particular product currently provides.
Tangerine’s Hyperliquid documentation describes an agent signing orders for the user’s underlying account. Multi’s API describes automatic venue selection, while its batch endpoint submits orders sequentially and says that one failure does not abort the others. MUX’s own site explicitly describes routing a trade whole or split between liquidity sources. These are documented capabilities, not results from our own executed comparison.
There is another category that is easy to misclassify. Contango builds leveraged positions using spot and money markets. Its documentation describes spot aggregation for the swap involved in opening, changing or closing the position. That does not make its position equivalent to an order split between two conventional perpetual order books. The borrowing market remains part of the economic result.
Ask the product to make its decision visible. If a screen only presents an exchange selector, you are choosing the venue. If it suggests one destination, inspect why that destination won for your quantity. If it divides the order, the expected allocation and separate resulting exposures matter. A badge saying “smart” answers none of those questions.
| Product | Function to distinguish |
|---|---|
| Tangerine | Frontend using an authorized Hyperliquid trading agent |
| Multi | Automatic venue selection; batch orders submitted sequentially, with independent failures |
| MUX | Whole or split routing between supported liquidity sources |
| Contango | Looped lending/borrowing exposure rather than assuming a conventional perp fill |
Compare the same contract, size and holding period
A useful quote comparison starts with the same economic request. “Buy $50,000 of BTC exposure” is not the same instruction as “use $5,000 margin,” unless the leverage and recognized collateral make those requests equivalent. One router may ask for coin quantity, another for dollar notional, and another for collateral. Normalize the intended exposure before comparing any prices.
Match the direction as well. A lower execution price benefits a buyer; a higher one benefits a seller. A prominent mid-price is neither a firm ask for a long nor a firm bid for a short. For a large order, compare the expected average execution of the whole quantity rather than the first visible price level. Our order-book depth guide covers that calculation separately.
Contracts with the same ticker can still use different collateral and settlement rules. A USDC-margined linear perpetual and a coin-settled inverse future are not interchangeable just because both track Bitcoin. An apparent entry-price advantage may come with a currency conversion, additional price exposure or a different position-size unit. Routing should preserve the exposure you actually requested.
The holding period can reverse the entry decision. Imagine route A saves $15 on opening, but its estimated carrying cost is $4 more per day than route B. If that difference remained unchanged, the entry advantage would be exhausted after 3.75 days. This is a sensitivity calculation, not a funding forecast. It explains why a router optimized for immediate execution need not minimize the cost of a week-long position.
Collateral already available at a venue can also change the result. If the alternative requires a bridge or swap, compare the final margin credited after those costs. A quoted saving on the futures order may be smaller than the cost of funding the destination. Conversely, do not add a transfer cost when your funds are already there: only incremental costs belong in the decision.
Compare the average execution price for your full orderA better entry quote can lose after route fees
Here is an intentionally constructed comparison for the same $50,000 opening exposure. Route A has $15 of estimated adverse execution relative to the common reference price; route B has $35. Looking only at execution, A appears $20 better. Both charge $20 of venue trading fees, but A adds a $30 interface charge and a $10 funding-route cost. B adds neither.
The completed cost model is $75 for A and $55 for B. Route A loses its price advantage because its extra $40 exceeds the $20 execution improvement. This conclusion follows from the stated numbers; it does not depend on describing an attractive quote as misleading. If A charged only $5 extra instead, it would be the cheaper route. The calculation, rather than the aggregator label, decides.
| Cost component | Route A | Route B |
|---|---|---|
| Execution shortfall | $15 | $35 |
| Venue commission | $20 | $20 |
| Interface charge | $30 | $0 |
| Funding the destination | $10 | $0 |
| Total opening cost | $75 | $55 |
A service charge of 0.06% on $50,000 is $30. Applying that rate to the $5,000 margin would produce $3 and understate this example by $27. The relevant base must come from the route’s actual terms. Deposits, swaps and position changes can use different bases even within one protocol.
Do not count the same execution shortfall twice by adding a displayed price-impact estimate to an already adjusted execution price. Nor is the slippage-tolerance setting itself an expected fee: it is a constraint on acceptable execution. Use the expected fill and explicit charges for an estimate, then replace those estimates with actual fill records when reviewing the result.
Obtain a closing quote as well. Entry rebates and sponsored transactions can expire or apply only once, while a per-fill charge may apply to both legs of the round trip.
Builder fees and trading authority are separate approvals
The fee cap and the fee charged are different numbers
Hyperliquid documents builder fees as per-order charges subject to a maximum approved by the user. The published perpetual cap is 0.1%, and the main wallet must authorize the builder; an agent wallet cannot grant that approval. The ceiling is not the fee every order necessarily pays. A frontend can ask for permission up to a limit while using a lower charge on an individual order.
For scale, a hypothetical 0.03% builder charge on a $20,000 fill is $6. If both entry and exit execute at that same notional and rate, the builder subtotal is $12, before venue commission or funding. A maximum permission of 0.1% would allow up to $20 for a $20,000 fill, subject to the protocol’s rules. Compare the actual order charge, not just the approved maximum.
GMX keeps the request’s recorded UI fee
GMX UI fees are added to protocol fees and use the size change for increases and decreases. Their factor is recorded when the request is created, so an already pending request retains that factor even if the frontend later advertises a lower rate.
An agent’s trading authority can still affect your capital
Permission to trade is another decision. An agent that cannot withdraw funds can still open losing positions or change exposure. “No withdrawal permission” does not mean “no financial influence.” Tangerine documents revocation through the underlying Hyperliquid account. Treat revoking the trading agent and changing a builder-fee approval as separate controls with separate purposes.
Reading an old order’s frontend charge
GMX’s frontend-integration reference says historical orders can expose a recorded UI fee factor. Older orders may return an unavailable value. That missing value should not be turned into a zero-fee claim. The completed order or account record is the evidence needed to reconcile the charge.
A partial route leaves a real position, not a partial promise
Consider a planned $100,000 long divided into $60,000 on venue A and $40,000 on venue B. A fills completely while B fills only $10,000. Your actual exposure is now $70,000, with $30,000 still unfilled. An interface reporting a problem with the second route does not cancel the successful first route.
The next action depends on your objective. If the intended size is still $100,000, the unresolved amount is $30,000, not a fresh $100,000. If the first fills are no longer wanted, closing the actual $70,000 is another trade with its own price and fees. Neither action should be inferred merely from an ambiguous “failed” message.
Multi provides a concrete reason to distinguish these states: its documented batch order endpoint is sequential, and a failed order does not stop the remaining orders. Its safety page also describes request deduplication to prevent a repeated request from becoming an unintended second submission. Those features concern different problems. A deduplicated retry does not make a multi-order route all-or-nothing.
A single transaction on one chain can have stronger execution guarantees when its contract explicitly enforces them. That guarantee should not be borrowed by a route involving independently submitted orders or different chains. “One click” describes the interface gesture, not necessarily the settlement relationship among all the resulting actions.
Protective orders require the same attention. A stop attached to venue A is not automatically a stop for venue B. If the screen offers a combined close or combined stop, inspect whether it created the expected instructions for every live position. After a partial close, the remaining quantities—not the original requested allocation—are what need protection.
- Venue A
- $60,000 filled / $60,000 planned
- Venue B
- $10,000 filled / $40,000 planned
- Still unfilled
- $30,000 · no exposure from this part yet
A retry for the original $100,000 could add to existing exposure. Reconcile completed fills first. Hypothetical split.
When the extra interface is worth paying for
An aggregator can be worthwhile even when its explicit fee is not the lowest. A workflow that exposes independent venues, keeps quantities understandable and reliably reports partial fills may solve a real operating problem. For someone already using one venue with straightforward orders, a second interface may offer little beyond layout and convenience. The useful comparison is against your actual workflow, not an imaginary trader who uses every integration.
A practical evaluation uses the same intended quantity and common price reference for the direct venue and the proposed route. Record the expected allocation, the extra fee and any transfer required. Then, if you later trade, judge the service by the completed fills and the effort needed to manage the resulting positions. A quote-ranking screen is a starting point, not a completed execution benchmark.
Questions to ask before routing a perpetual order
Does connecting an aggregator move my existing collateral?
Connecting a wallet alone is not proof of a transfer. Funding a destination may require a separate deposit, swap, bridge or delegated action. Read the requested action and the account that will receive the funds; an aggregated balance display is not a shared margin account.
Can the same BTC position appear in two frontends?
Yes, when both read the same underlying account and market. That is one position shown twice. Identify the account and position rather than adding the two displayed quantities into your portfolio.
Does an aggregator change my eligibility to use an underlying exchange?
A different frontend does not establish permission to use the underlying service. Its own terms and the venue’s applicable restrictions can both matter. A visible market listing is not confirmation that the trading route is available to your account.
Can a cheaper funding rate automatically move my open position?
A comparison result does not migrate an existing contract. Moving exposure normally requires a reduction or close and a new position elsewhere, unless a specific product documents another mechanism. The resulting execution and transfer costs belong in the migration decision.
Should I include points or a future airdrop in route savings?
Keep unpriced rewards separate from the cash cost comparison. A point has no assured redemption value or payment date. Report the route’s fees and fills first; a speculative reward should not turn a more expensive completed trade into a proven saving.
Why can the routed quantity differ from what I typed?
Minimum sizes, quantity increments, available margin and partial fills can all affect the final amount. Compare the filled quantity in the underlying contract’s units with the requested exposure. Do not assume a rounded dashboard total shows the exact residual position.
Sources and research 10 source references
Official product documentation reviewed 8 October 2026. Capability descriptions are limited to the named route and endpoint; they are not independently executed routing benchmarks. All cost and partial-fill scenarios are constructed educational examples, checked separately. We connected no wallet and submitted no order. Competitor coverage informed the scope; product claims use primary documentation.
Evidence by section
- What does a perp DEX aggregator actually combine?
- Two interfaces can still be competing for the same BTC liquidity
- Builder fees and trading authority are separate approvals
- A partial route leaves a real position, not a partial promise
- If the frontend fails, separate orders, positions and permissions
Source register and access
- Tangerine: Hyperliquid route and trading-agent authorizationLink checked · Reviewed 8 Oct 2026 · Product rule · next editorial check due 2027-01-06
- Multi: Venue routing, sequential batches and cancellation scopeLink checked · Reviewed 8 Oct 2026 · Product rule · next editorial check due 2027-01-06
- MUX: Whole and split routing between liquidity sourcesLink checked · Reviewed 8 Oct 2026 · Product rule · next editorial check due 2027-01-06
- Contango: Spot aggregation and money-market liquidityLink checked · Reviewed 8 Oct 2026 · Product rule · next editorial check due 2027-01-06
- Tangerine: Underlying account custody and revoking agent accessLink checked · Reviewed 8 Oct 2026 · Product rule · next editorial check due 2027-01-06
- Hyperliquid: API wallets, signing agents and the account to queryLink checked · Reviewed 8 Oct 2026 · Product rule · next editorial check due 2027-01-06
- Hyperliquid: Builder fee approval, caps and execution chargesLink checked · Reviewed 8 Oct 2026 · Product rule · next editorial check due 2027-01-06
- GMX: UI fee base and request-time fee captureLink checked · Reviewed 8 Oct 2026 · Variable parameter · next editorial check due 2026-10-22
- GMX: Frontend integration and missing historical fee dataLink checked · Reviewed 8 Oct 2026 · Product rule · next editorial check due 2027-01-06
- Multi: Trade risk gates and request deduplicationLink checked · Reviewed 8 Oct 2026 · Product rule · next editorial check due 2027-01-06
