At a high level, Phoenix is to the SVM what Perpl is to the EVM.
Key difference is that Perpl is a true CLOB with onchain matching that respects price-time priority, while Phoenix isn't.
You can't build an on-chain matching engine on the SVM because it doesn't support that.
In the SVM, you need to know the accounts involved in the transaction beforehand. However, you don't know the accounts you're being matched against beforehand on an orderbook. Therefore, you cannot build true on-chain matching on SVM (anybody can place limit orders, matching happening in a smart contract, no cranking, no splines etc).
Also, despite being fully on-chain, Perpl's CLOB is just as granular as Hyperliquid or any of the appchains.
The way we do that is:
> extreme gas optimisation (100k gas for a post cancel on Perpl, a swap on Uniswap is 200k gas for ref)
> innovating "change" order, a fully stateless order type, so it's extremely gas optimized, 60k gas for changing price/tif/size. Additionally, since it does not require any state changes, it's the only order type that leverages the monad's asynchronous execution (see
perplfoundation.github.io/ex…)
And there are so many more innovations coming up still that will further prove this point (hybrid margin, portfolio margin, encrypted order flow, faster blocks etc)
Perpl is the one true on-chain CLOB.