VERSION 1.29

100% onchain. 100% native assets. Yours.

Swap

Balance: —
Balance: —

Minimum order: 10 ICPUSD — orders spending your entire remaining balance are exempt. How swaps work →

Trading Leaderboard

Profit is measured against simply holding your deposits (both marked at current prices) — a pure holder scores $0 through any price move. Good entries, exits and maker income score positive; fees, borrow interest and liquidations count against you. Depositing or withdrawing never moves your score.

# Trader Trading Profit Return Equity Level Badges
No ranked traders yet
Total Value Locked
24h Volume
across all markets
Oracle Refreshes
Active AMM Pools
of markets
Treasury

Markets

Last price, 24h change, and oracle drift per market
Loading…

Oracle Feed

Multi-source price aggregation status · How prices are made →
Loading…

Order Book Depth

Cumulative liquidity within price bands
Loading…

Issues

Known issues & operational notices about the exchange
AI Assistant — intermittent availability

Currently, the AI Assistant is working intermittently. We think this is because Anthropic is confused by API calls from the 13 different node machines of the subnet that hosts MULTI/DEX, which are located all over the world.

To work around these issues today, use MULTI/DEX through your favorite AI chat using the MCP connector.

Mitigations are being sought, but this problem will resolve itself: MULTI/DEX shall migrate to the forthcoming Internet Intelligence Gateway, which can also verify inference.

Pools

Inventory, LP value, quoting activity · How the AMM works →
Loading…

P&L

Value per LP token over time · 1.00 = breakeven (initial deposit value)
Loading…

Arbitrageur

Pins venue prices to the oracle mark · How it works →
Working Capital
not wired
Imported (lifetime)
bought at the mark & sold into rich venue bids
Exported (lifetime)
bought from cheap venue asks & sold at the mark
Hourly Budget Used
per-call and hourly caps bound a wrong mark

Because these are synthetic assets, no outside arbitrageur exists to pull venue prices back to the market consensus. The protocol runs its own: it may exchange assets with the “external world” at the oracle mark (paying a haircut), and trades the venue through the same staged, fee-paying path as everyone else — it can never trade with the AMM and only ever takes orders priced away from the mark. Its profit comes from whoever pushed the price off-mark. Every import and export is written to the public event log.

Insurance Buffer
accrued from 5% liquidation penalties
Uncovered Bad Debt
realised losses beyond the buffer
Netted Liquidations
settled peer-to-peer · zero book impact
Pool Share Value
1.00 at genesis · rises with yield, falls on bad debt

How the backstop works

Insolvency resolution for cross-margin accounts · Stake the backstop →

Every liquidation charges a 5% penalty that accrues to the insurance buffer. When a position is so far underwater that its collateral can't cover the debt, the buffer absorbs the shortfall and the position is closed — anything beyond the buffer is realised as uncovered bad debt (an LP loss). Before either of those, opposing liquidations on the same asset are netted against each other at the oracle mid, settling peer-to-peer with zero order-book impact.

Treasury Balance
spendable ICPUSD · falls when converted to fuel
Lifetime Fees
the treasury’s half — every fee splits 50/50 with the LP vault
LP Vault Share
lifetime fees paid to Earn depositors (the other half)
Converted to Fuel
lifetime − balance · spent on cycles
Fee Range · Taker / Maker
bps on the ICPUSD leg · falls with the earned level (L0→L4)

Fee scheme

Progressive — rates fall as earned contribution rises
Level Weighted 30-day volume Maker Taker Access rank
Loading fee schedule…

Every fill charges a fee on the ICPUSD (quote) leg, taken from both parties. The buyer pays tradeCost + buyerFee; the seller receives tradeCost − sellerFee; the combined fee is split 50/50 — half to the AMM vault (the LPs who carry the venue’s risk), half here. Each party's rate is set by their role on the fill — maker (resting) or taker (incoming), not buy vs sell — at their earned fee level at that moment. Levels are earned from rolling 30-day weighted volume (maker fills count double; L4 also needs two-sided quote uptime) and decay when contribution stops — your own level is on the Fee Level tab, and the full scheme is in the Docs. Fees floor-round and the seller's credit is net by subtraction, so conservation is exact: no value is created or destroyed, the fee is simply redirected.

The maker rate floors at 0 bps — never negative: a rebate would let a wash pair be paid by the venue, while at zero the cheapest self-generated volume still pays the full taker leg to the treasury. The protocol's own liquidity is exempt — the AMM, the insurance fund, and the treasury itself never pay a fee (charging them would be circular and would break the ledger's solvency invariant) — while margin pools pay like any user, crediting their owner's scorecard.

What the treasury is for

Self-funding fuel + spam resistance · Fees & the treasury →

DOS defense. A canister pays for its own execution (reverse gas), so cheap, high-volume spam would otherwise drain fuel for free. A per-trade fee makes sustained order flow cost something, pricing out the spammer while ordinary trading is barely touched. A complementary self-trade guard stops a user filling their own resting order — a wash trade that pollutes volume and is a free self-matching DOS vector.

Self-funding fuel. The accrued ICPUSD is the protocol's war chest, and the loop that turns it into compute is live: treasury ICPUSD is swapped → ICP on the internal ICP-ICPUSD market (the treasury is exempt, so the swap is not re-fee'd), then ICP → cycles via the ICP ledger + Cycles Minting Canister. An auto-fuel watchdog runs the whole loop unattended whenever the canister's spendable cycle headroom runs low — the exchange refuels itself before it can freeze (status on Status → Canisters).

Treasury address

Exchange Canister

The Internet Computer canister running MULTI/DEX trading · Why this is trustless →
Compute Fuel (cycles)
remaining balance
Burn Rate
storage + compute per day
Time to Freeze
at current burn rate
Memory
used · max · breakdown
Heap
% of allocated memory
Status
heartbeat liveness
Last Heartbeat
every round when alive
Stored State
objects retained on the heap
DEX Canister ID
Anyone can keep the exchange running, or restart the exchange when it's out of fuel, by sending cycles to this canister.

Event Log

Oracle, AMM, swap & liquidation activity · newest first · About the event log →
Loading…

Connect your favorite AI chat to interrogate and instruct MULTI/DEX using MCP, or use the default tools below.

Run queries over the data that the exchange maintains in its persistent memory, just like AI can. Your identity bounds what you can see. About your data & the query surface →

Loads & runs a ready-made query: joins, aggregates, text search, your own rows.
Exchange = live state · History = your archived events + all users' deposits/withdrawals

The Public Ledger

Every balance change, hash-chained & verifiable — the substrate for Proof of Reserves

One tape, no trust. Every action that moves value — fills, deposits, withdrawals, vault and insurance flows, margin debt — writes signed delta records to a public append-only archive. Each record carries the SHA-256 hash of the one before it, so history cannot be quietly rewritten: change any past record and every hash after it breaks. The newest hash (the head) is placed in the canister's certified_data, which the Internet Computer's subnet signs — and full archives are sealed and blackholed, so even the operator cannot touch them.

Proof of Reserves. Liabilities need no auditor: fold the ledger's delta records per account and you have reconstructed every balance the exchange owes — anyone can do it, from this page or the Intelligence explorer. Twinned with on-chain custody addresses (the Bridge), solvency becomes a continuously checkable fact rather than a quarterly promise. The venue's own accounts — the AMM vault, treasury, insurance fund and the arbitrageur (whose holdings are synthetic supply it imports/exports at the mark, not user custody) — are labeled on every row, so a folder measures custody against user liabilities and nets the venue's internal capital out. verify_ledger.mjs --fold prints exactly that split.

Verify it yourself, right here. The button below re-computes the hash chain in your browser from the raw event bytes and compares the result against the IC-certified head — nothing is taken on the exchange's word. The full ledger story →

Archive chain

Sealed history + the live tape
Loading…

Ledger entries

Newest first — hashes recomputed locally; matching colours are the chain
Loading…

Deposit & Claim

On the live exchange you move assets into your wallet by sending them to your deposit addresses on their native chains: after a short delay the transfer shows up below, and once it reaches finality you click Claim to move it into your exchange wallet — from where you can trade, or withdraw back to native addresses. (Bitcoin can take an hour or more to reach finality.) This exchange runs in play mode: the addresses below are simulated stand-ins — never send real assets to them. Use the numbered buttons to make play deposits instead. How deposits & withdrawals work →

Sign in to view your deposit addresses.