Languages, Libraries & Stacks
About DCA Monster
While on-chain DCA solutions do exist, they are uncommon and frequently accompanied by an array of difficulties. DCA.Monster was created to address these issues by developing a new AMM based on Uniswap V2 that seamlessly combines with Streamable tokens and runs a Cartesi Rollup.
Current on-chain DCA solutions suffer from:
- Dependence on third-party bots or keepers to execute transactions
- Capital inefficiency as it remains locked in smart contracts between transactions
- Inability to integrate with DEXs
- Gas inefficiency
- Lack of granularity in price range
- Lack of flexibility in time range
DCA.Monster AMM merges with ERC20 streams to efficiently and with infinite granularity, implement DCA on-chain. It optimizes capital and gas usage, integrates with DEXs, and provides both granular pricing and flexible timing.
Without Cartesi Rollups, such an implementation would be computationally expensive due to the complex calculations required for AMM streams recalculations. However, Cartesi Rollups enables us to perform these computations off-chain on any device, with the results verified on-chain.
How it's Made
Our implementation consists of both a frontend and a DApp/backend:
- AMM based on Uniswap V2 written in Python combined with Streamable tokens also written in Python that combine seamlessly with the AMM to create a DCA experience.
- Built upon the Cartesi dapp rollups-examples custom dapp starter
- Uses RISC-V base Docker images to install Python dependencies
- Ready for "prod" mode operation
Utilizes the template-web3-app from TurboETH that incorporates:
- Rainbow kit for wallet connection: Metamask, WalletConnect, Portis, Torus, Authereum, Fortmatic, and Squarelink
- Next JS for frontend framework
- Tailwind CSS for styling
- Wagmi and RainbowKit for additional functionality
- background image