CrocSwap Deep Dive
What is Crocswap?
To start, let’s compare Crocswap to its largest competitor, Uniswap. As of now, Uniswap liquidity is fragmented into Uniswap V2 and V3. V2 supports ambient liquidity, which is where you deposit your two tokens, and mint your LP token. V3 supports concentrated liquidity, which allows an LP to specify at what price they would like to LP. This leads to larger cap coins utilizing Uni V3 and smaller coins utilizing Uni V2, as most smaller coins don’t have enough liquidity to support concentrated liquidity. Crocswap fixes this by essentially combining Uniswap V2 and V3, where you can provide either type of liquidity in any pool. This gives LPs a better UX and swappers better rates on their swaps.
Crocswap also allows for custom fee tiers, giving more flexibility to LPs and swappers. During periods of low volatility and light trading, LPs in low-fee tiers are expected to outperform. While they earn lower fees per amount traded, the sizable majority of trading will happen in low-fee pools due to the cost advantage to the trader. In contrast, during periods of high market dislocation, price dislocation will tend to outsize the fee savings and LPs in high fee tiers will outperform.
Another cool improvement Crocswap has made is auto-compounding rewards back into ambient liquidity pools. With Uniswap, users have to manually compound by claiming and re-LPing. Crocswap’s model is much more gas efficient and increases LP rewards.
Another big problem with Uniswap is JIT (Just In Time) liquidity. JIT liquidity is where a bot will see a pending swap transaction, and within a single block provide liquidity, take the majority of fees from that transaction, and then take their LP out. The big issue with promoting this type of behavior is that more and more people will be incentivized to JIT LP, eventually removing all passive liquidity out of the pool. If this were to happen, there would be no determined price for a coin, and when putting an order out you’d have to hope that a JIT bot would fill you for the price you requested. That scenario isn’t quite the reality yet though. Currently, JIT bots reduce passive LP rewards and is something Crocswap is looking to help reduce. Crocswap’s solution is to make a minimum amount of time before an LP can remove its liquidity, which will probably be a couple of minutes. This allows LPs to retain permanent liquidity over their LP tokens as well as reduce malicious JIT bots.
JIT liquidity isn’t all bad though, as it does improve swap execution. This is why Crocswap will whitelist JIT liquidity addresses that have proven to not be malicious in their activity. This will allow swappers to retain their improved swap execution while giving LPs more rewards.
Crocswap also allows any user to create a pool with any tokens and be able to change fee rate, protocol take, tick size. When creating a pool, the creator must put up a minimum amount of liquidity on both sides. This gives swappers and LPs more freedom and penalizes any toxic pool behavior.
Another cool aspect Crocswap allows for is permissioned pools. Pool creators have freedom over really any aspect of their pool to be whitelisted. If you want you could make anyone able to buy the token, but only x addresses are able to provide liquidity, you are able to, and vice versa. If you want to create a pool where only x addresses can buy and y addresses provide liquidity, you are able to do so. This allows pool creators to do some really innovative stuff and overall gives more freedom to the user.
Another big innovation is that Crocswap removes the need for a router. For example, I’m swapping altcoin a to altcoin b. On Uniswap, my altcoin a would be swapped for ETH and then from ETH to altcoin b. On Crocswap, you are able to trade altcoin a directly for altcoin b. This is made possible by Crocswap’s single smart model, where every pool is in a single smart contract, whereas with Uniswap each pool is a separate smart contract. Crocswap’s model allows for two big solutions improved gas and tax efficiency. When swapping on Uniswap from altcoin a to b, technically there are multiple trades happening even though you are only swapping those two coins, as altcoin a is converted into ETH and then into altcoin b.
LPs are also able to easily change from one pool type to another pool type that are utilizing the same token pair. (Changing from a high fee tier pool to a low fee tier pool for example).
CrocSwap also supports using raw Ether (or the equivalent native currency on any EVM chain) instead of an ERC20 token in an asset pair. Most DEXs are restricted to ERC20 tokens and therefore must use the Wrapped Ether tokens. This is inefficient because ERC20 token transfers require more gas than native Ether transfers. This change alone enables a significant reduction in gas fees for swaps involving Ether (the bulk of all DEX trades today.)
Users can deposit collateral into the exchange and collateral debits can be paid directly from that collateral surplus, saving on gas (This substantially reduces gas costs, particularly for active traders. Imagine a day trader who's continuously buying and selling positions across many pairs. She might start the day by depositing USDC as surplus collateral at the exchange. Based on the market activity she may execute tens or hundreds of trades. There's no reason for her to directly receive the token output from all of these swaps and pay the associated gas fees. Instead each swap would output to her CrocSwap surplus collateral balance. When finished, she'd net the entire collateral flow into a single surplus withdraw, saving substantially on aggregate gas costs.)
In order to further optimize for gas, Croc uses “hot and cold paths” to optimize gas for the most to the least gas-critical things. Hot paths are frequently used calls from the contract such as swaps, and are the highest gas optimized. The warm path is simple mint and burns for lp positions. At the bottom of the gas optimization list is the cold path, which is rarely used, and only for things such as governance and pool initiation.
Who is the Team?
I’ve watched a couple of podcasts with Doug Colkitt talking about Crocswap, and he seems like an educated guy. He comes from a TradFi background and spent time working for Citadel. There isn’t too much information from what I can see on the devs, but they do seem to at least be real people.
Roadmap?
There is currently no concrete roadmap, only a few “Coming Soon”s in the discord, although Doug Colkitt revealed that they were aiming for a fall-winter release. It’s safe to assume that Crocswap will be launched by the end of the year at the latest.
Token???
Similar to the Roadmap, the only information about a token and/or tokenomics has been “Coming Soon”. We do have a confirmation of some sort of token, but not much else other than that. It will be used for governance, and after seeing Doug Colkitt talk about value accrual, we may see some sort of #RealYield for Crocswap. An airdrop is always possible, so keep your eyes out to see if they release anything that users can test.