I’ll add some context to Atrix’s order placement. To start, Atrix adds orders at the ends of the book according to x*y=k (constant product) to support TVL on Serum, as Serum’s success is Atrix’s success. Of course, instead of placing these tail-end orders, Atrix could place a couple more orders closer to the center of the book, facilitating slightly more volume. However, we think it’s OK to sacrifice a small amount of center liquidity for a large amount (80%+ of Atrix) TVL being allocated to Serum from Atrix’s TVL due to tail-end orders. This also isn’t any manipulation we are doing to the constant product equation, it’s placed according to the exact math. If it were the case that this liquidity shouldn’t be counted towards TVL, then Uniswap V2 or Sushiswap would have 10x less TVL than they claim.
However, we definitely agree with @AlphaRay that Atrix could provide more liquidity closer to mid-price, and @JumpCrypto that volume matters. To that, we are working on some technical improvements to our AMM program to place more orders on the book, along with additional improvements to other types of pools. I’ll follow up with some technical details:
Currently, Atrix’s order placements/cancels are atomic within single transaction, to ensure we stay EXACTLY consistent with the constant product equation to minimize any extra divergence loss which is not due to the equation itself. Because of this atomic, single transaction restriction, there are only so many orders Atrix can fit into a single transaction, because of Solana’s current runtime limits and compute cost to place and cancel all of our Serum orders. But there is still of course some room to optimize, which we are working on. Edit: To add, non native SOL-based Atrix pools, like mSOL-USDC, have more orders and tighter orders than presented in the above screenshot.
In contrast, AFAIK, Raydium places and cancels their orders using multiple transactions, not atomically. This often leads to order placements which are not exactly equal to constant product. When there are large market moves in a small period of time, this can cause a large amount of extra divergence loss to LPs which is not due to the constant product equation. As seen below, orders at prices 162.399 and 163.087 have far less size allocated to them than the following the constant product equation exactly would suggest. As you get further from the mid-price, order sizes are supposed to strictly increase, not increase and decrease in an arbitrary manner. However, since Raydium utilizes internal pools for most of their liquidity and a large portion of swaps, any extra divergence loss due to Serum orders may not be significant to Raydium LPs.
Orders from Raydium’s SOL-USDC pool: