Let's say you want to send various stablecoins to your global friends, but you only have a single token. Traditionally, you would sell your token for a specific amount of another token, then send it to your friend. It's easy if only 1, but lots will be a painful process. Swappiness addresses inefficiencies, time-consuming processes, and high fees across multiple transactions in a single transaction. You can imagine disperse.app, but with functionality to set the source token and the output token.
This simple app can have lots of use cases. For example, salary distribution, profit taking while rotating to other narratives, diversifying portfolio, refunds, etc. Just set your goals, choose the source token, input target addresses, pick a token, set the amount, and send it in a single transaction.
This project is a proof of concept (POC), so we are limiting the source and output tokens to popular stablecoins only.
Building swappiness also comes with a problem. We had a comparison between Uniswap and Aerodrome. For several reasons, we think Aerodrome is a good choice for Base. But we still lack information and docs to build on top of Aerodrome. So we decided to move with Uniswap, but another thing is we noticed there are lots of different TVL pools in each version (v2, v3, v4) for a pair of popular stablecoins. For a short period of the hackathon, we decided to use v3 because the TVL is in a good amount.
Another thing is that we need to make an optimal routing path for the swap. We decided to compute off-chain and fed the result to our smart contract to optimize the gas used.
Apart from that, we want users to understand this app easily. So we try to build a simple design that clearly indicates the source token, output address, output token, and the amount. Also, to make it simpler and straightforward, we add an import CSV to streamline the inputting process.
Tracks Applied (1)
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.