Introduction
Diviko Perps is a decentralised perpetual futures exchange. It runs on the Canton Network, settled through Zenith — an Ethereum execution layer that posts to Canton. Traders take long or short positions with up to 50x leverage against a shared liquidity pool; liquidity providers earn the fees and act as the counterparty.
The design is a fork of the GMX v1 perpetuals model, adapted to Canton's privacy and settlement guarantees. There is no order book and no market maker. Prices come from an oracle, and every trade is filled at the oracle's mid price with no slippage.
What is a perpetual?
A perpetual is a leveraged derivative that tracks the price of an underlying asset without ever expiring. You can open a long position to gain exposure to upward price movement, or a short position to profit from downward movement. The position stays open until you close it, are liquidated, or the funding cost makes it uneconomical to hold.
Unlike a spot trade, you don't take delivery of the underlying. You post collateral (the margin) and the exchange tracks your unrealised PnL as the oracle price moves. Profit accrues to your collateral; loss eats into it.
How diviko perps works
The exchange has two sides:
- Traders open leveraged long or short positions against the pool. They pay an opening fee, an ongoing borrow fee while the position is open, and a closing fee. Their profit is paid out of the pool; their loss is paid into it.
- Liquidity providers deposit assets into the DLP (Diviko Liquidity Pool) and become the counterparty to every open position. They earn the trading fees and the borrow fees, and they absorb trader PnL — collectively winning when traders lose and losing when traders win.
The pool holds a basket of assets: stablecoins, ETH, and BTC. The composition is what allows it to be the counterparty: a long ETH position is backed by ETH already in the pool, and a short ETH position is backed by stablecoins already in the pool. The pool doesn't need to source liquidity at trade time because the inventory is already there.
Why Canton
Canton gives the protocol two properties most chains can't:
- Privacy by default. A position is visible only to its participants — the trader, the protocol, the oracle. Other traders cannot see your size, your entry, or your liquidation price. There is no public mempool to front-run.
- Final settlement. Canton transactions are committed atomically across all involved parties with no reorgs. A liquidation happens or it doesn't; there is no probabilistic finality to reason about.
Zenith provides an EVM-compatible execution surface on top of Canton, so the protocol can be written and audited as Solidity contracts while inheriting Canton's settlement guarantees. For the details of how the bridge works, see Canton & zenith.
Where to start
If you want to trade, start with Opening a position, then read Leverage & margin and Liquidations.
If you want to provide liquidity, read DLP — the counterparty pool.
If you want to understand the infrastructure, read Canton & zenith.