I think we have some unnecessary friction in using Alchemix.

I think there are two primary areas that could be streamlined for the user.

  1. Deposits - Allow users to "Zap" from X token to DIA as part of the deposit contract.
  2. Withdraws - Allow users to "Zap" from alUSD to X token (provided X token is in the Curve pool)

The majority of users will interact with Alchemix at these two points, and I think there's a benefit to making it as seamless as possible.

That's the TLDR^

To streamline the deposits I think we could copy the "zap" feature from Zapper.fi that Yearn has. If a user comes to Alchemix without DAI (or any of the future deposit tokens) they could select which deposit from their wallet they wanted to use to convert to a token that Alchemix accepts, and would then deposit into Alchemix. This give the users more optionality for their deposits, and makes a user more likely to deposit.

EG: User has USDC and wants to deposit to Alchemix, user clicks the deposit box, selects USDC, and then alchemix swaps USDC to DIA, and deposits

Regarding withdraws, I think it'd be a nice feature if we could allow the user to select which stable coin they wanted to have after going through the transmuter.

EG: If user selected USDC, after the user took their loan the contract would automatically convert the alUSD into USDC from the Curve pool. This would prevent the user from having to navigate out to curve, and then swap from alUSD themselves.

Bonus Points:
Have an option where users can deposit and withdraw their desired coin all in one transaction (Bundle the Zap, deposit, withdraw and swap to desired Coin)

This would reduce the number of approvals needed, and greatly increase the user experience.

Risks
Deposit - I don't think there's a large risk here
Withdraw - I think there could be a risk of adding sell pressure to alUSD that may cause it to lose it's peg. But I don't think that pressure doesn't already exist as there are not as many uses for alUSD outside of Alchemix (yet)

While this proposal makes sense in theory and would be a nice addition to the UX, it is not implementable in V1 because contract interactions are disallowed for most user functions (deposit, withdraw, mint, etc). We are exploring Zap functionality for V2 though, so stay tuned...

Even more excited to V2 then! Thanks for the update!

Write a Reply...