RouterX

On-chain DEX aggregation for liquidation & arbitrage

findBestPathWithGas() · live on EVM
NO API RATE LIMITSGAS-AWARE ROUTINGQUOTE = EXECUTIONADAPTER ARCHITECTURE

// PRODUCT

Built for operators who optimize execution

Differentiate on quote fidelity, on-chain access, and controllable routing — not on how many products sit in a mega-menu.

FIG 01SYS.QUOTE

Accurate on-chain quotes

Path search runs through adapter query methods with gas-aware scoring (findBestPathWithGas) so quotes reflect what can actually execute.

FIG 02SYS.ACCESS

No API rate limits

Anyone can call router view methods on-chain. Quoting is not gated by a centralized API quota when you integrate the contracts.

FIG 03SYS.EXEC

Execution aligned to quote

Quotes match on-chain executable routes, reducing slippage and failed fills caused by quote drift between price and settlement.

FIG 04SYS.BOTS

Integrable quoting

Liquidation engines and arbitrage bots query the router directly — no mandatory off-chain quote service sitting in the critical path.

FIG 05SYS.PATH

Custom routes

Supply your own path and adapters to swapNoSplit when you need full control instead of trusting a black-box router.

FIG 06SYS.SCALE

Fast EVM expansion

Adapter architecture lets new chains and DEXs plug in without rewriting the router core — coverage that keeps pace with the market.

// INTEGRATE

Integrate where it matters

Start with on-chain quote and swap for liquidation and arbitrage. REST and Skills are optional convenience layers.

On-chain authority

Query the router directly for quotes — the same path model used at execution time.

Custom path execution

Pass your own path and adapters to swapNoSplit when strategy requires it.

Built for bots & engines

Liquidation and arbitrage integrations call view + swap without a mandatory API middleman.

RXRouter.sol
// On-chain quote (view) — no API rate limit
FormattedOffer memory offer = router.findBestPathWithGas(
    amountIn,
    tokenIn,
    tokenOut,
    maxSteps,   // < 4
    gasPrice    // gwei, for gas-aware scoring
);

// Execute with the returned path + adapters
router.swapNoSplit(
    Trade({
        amountIn:  offer.amounts[0],
        amountOut: offer.amounts[offer.amounts.length - 1],
        path:      offer.path,
        adapters:  offer.adapters
    }),
    recipient,
    feeBps
);

// METRICS

Backed by operators who ship

0+

EVM chains via adapters

0+

DEX & pool adapters

0ms

API rate-limit delay

0.0%

Quote-to-fill alignment