Here is an overview of the current Automated Market Maker (AMM) DEX designs for CashTokens on Bitcoin Cash:
Overview Table
Name | Status | Type | Curve | # contracts | contract code | MEV solution | Links |
---|---|---|---|---|---|---|---|
Cauldron | Live | Closed Pools | CPMM | 1 contract | (raw) BCH script | None | Link |
Fex cash | Live | Public Pools | CPMM | 7 contracts | CashScript | None | Link |
Jedex | Demo | Public Pools | CPMM | 8 contracts | Libauth template | Joint-Execution | Link |
Takeaways
With the 3 existing AMM DEX designs we already have a nice cross-sections of the design-space and contract tooling options.
Both FexCash & Jedex use a modular NFT desgin, whereas a cauldron contract is just a single utxo.
The Cauldron design takes advantage of the UTXO design to allow many micro pools to be combined in a single transaction. While this fractures liquidity over many UTXOs, it has the special advantage of simplifying the contract design by a lot.
How DEXes best handle MEV is still an actively debated topic with potential tradeoffs of the âjoint-executionâ being discussed.
VM Limits & BigInts
The current Fex.Cash code has âCustomized Multiplication and Divisionâ to work around overflow issues. This complexity could be removed if/when the BigInts CHIP activates on Bitcoin Cash. It would also allow for the Cauldron DEX to work with very large token supplies, where it would currently just fail on overflow.
One area where we havenât seen experimentation is on the choice of the AMM curve, likely because this is prohibitive with the current VM & integer Limits. A lack of certain math opcodes might also play a major role in this.