Every perp venue. One order.
multi quotes Hyperliquid, Aster, Lighter, Pacifica, Pear and Avantis on every order, splits it across whichever fill best, and shows you one margin account instead of six.
- Hyperliquid—
- Lighter—
- Aster—
- Pacifica—
- Pear——
- Avantis——
Six perp venues, quoted on every order.
Meet multi.
One API, every venue.
The multi SDK quotes all six perp venues in a single call, routes the order to the books that fill it best, and hands back one position — no exchange integrations of your own.
const r = await multi.routing.compute("ETH", "BUY");
// → { recommended: "hyperliquid", price: … }
await multi.orders.place({
symbol: "ETH", side: "BUY", quantity: "2",
});6
perp venues
- Hyperliquid
- Lighter
- Aster
- Pacifica
- Pear—
- Avantis—
Hyperliquid, Aster, Lighter, Pacifica, Pear and Avantis, quoted on every order and reported back as one margin account.
0+
networks
Bridge and swap from the chain you already hold, straight into the venue margin the order is about to execute against.
Six order books, one ticket.
You never pick the venue.
Quote every venue
multi asks Hyperliquid, Aster, Lighter, Pacifica, Pear and Avantis for a price on the same size at the same moment. Six books, one comparison, before a single lot is committed.
Split and route
The order is broken across whichever venues price it best, each leg sized to the depth that book can actually absorb rather than forcing the whole clip through one exchange.
One margin view
Positions opened across six venues collapse back into a single account. Margin, P&L and exposure read from one place, so there is nothing to reconcile between dashboards.
The venues
Six venues, one book
Hyperliquid, Aster, Lighter, Pacifica, Pear and Avantis stream into a single consolidated book. You route against the aggregate instead of committing to one venue and hoping it was the right one.
Every level carries the venues quoting it. Your order walks the merged ladder, not one exchange's.
Cross-chain funding
Bridge from any of 70+ networks straight into venue margin. Routes are quoted through LiFi and signed by your own wallet, so nothing is custodied on the way in.
Agent execution
A typed SDK, a hosted MCP server and shared tool schemas, so an autonomous agent can quote every venue and execute the fill without a human in the loop.
- ETH-PERPlong2.00+312.40
- BTC-PERPshort0.15-48.10
- SOL-PERPlong40.0+96.75
Pro terminal
Order book, depth and recent prints next to your positions across every venue. The whole desk on one screen instead of a browser tab per exchange.
Counted, not claimed.
No TVL, no volume, no “median latency” — none of those are measured yet. Each figure is a count you can reproduce from the source.
Hyperliquid, Aster, Lighter, Pacifica, Pear and Avantis — every one priced before an order leaves.
services/exchanges/*Eleven EVM networks plus Solana, pinned to the top of the funding selector. LiFi's full EVM + SVM set sits behind them.
lib/swap/constants.tsMCP tools any harness can call. Market data is open; the execution half needs a scoped key.
packages/mcp/src/tools.tsPaths in the public OpenAPI spec, each one a typed method on the TypeScript SDK.
app/openapi.jsonA perp desk you can script.
The terminal, the SDK and the MCP server all sit on the same router. Ask for a price across every venue, send one order, read one margin view — in TypeScript, over REST, or straight from an agent harness.
- 01Zero-dependency SDK — native fetch, Node 20+ or any modern browser
- 0229 MCP tools: market data open, execution behind a scoped key
- 03Scopes plus a server-side risk policy on every write
- 04Typed errors and idempotency keys, so retries are safe
1import { MultiClient } from "@multidex/sdk";2 3const multi = new MultiClient({4 apiKey: process.env.MULTI_API_KEY, // multi_sk_... — execution only5 baseUrl: "https://multi-venym-labs.vercel.app/api", // the default; override to self-host6});7 8// Price BTC on every aggregated venue, right now.9const routing = await multi.routing.compute("BTC", "BUY");10console.log(routing.recommended, routing.price);11console.log(routing.alternatives); // what the other venues quoted12 13// Send it. The router takes the best fill — you never name a venue.14const order = await multi.orders.place(15 { symbol: "BTC", side: "BUY", type: "MARKET", quantity: "0.5" },16 { idempotencyKey: crypto.randomUUID() },17);18 19// One margin view across all six venues.20const { summary, byVenue } = await multi.portfolio.get();Routes, wallets, agents, packages.
Trade every venue from one screen.
Connect a wallet, fund from the chain you already hold, and send one order that gets priced on all six venues before it goes anywhere. Your keys, your margin, your positions.


