[Deprecated] Walkthrough Series: Infinity (Testnet) Rates Arbitrage with Aave aTokens
[This article is outdated as of the release of Testnet v2 on 1st November 2023]
Earlier we originated the groundbreaking concept of Rates Arbitrage into the ecosystem with our article “Introducing Rates Arbitrage to DeFi.” Now, we’re excited to introduce our Rates Arbitrage mechanism as the next part of our ever-evolving testnet development. As we outlined in our article, the concept of arbitrage of interest rates in DeFi has not been possible with today's incumbent lending and borrowing protocols, until now.
We're thrilled to announce that Aave aTokens can now be used as collateral on Infinity (Testnet) to borrow Basic Tokens (USDC, USDT, DAI, ETH, WBTC) against, in the same way, one would deposit (e.g.) ETH (as collateral) on Aave and borrow (e.g.) USDC. We’ve been working hard behind the scenes to ensure our product performs to the highest standard that our community expects.
In today’s walkthrough, we will use USDC (T_aUSDC & T_USDC) as an example to demonstrate how easily arbitrageurs can single-handedly expand their prevailing TVL between Infinity and Aave.
In the subsequent weeks, we will also introduce Rates Arbitrage for Compound cTokens, Uniswap LP, and Curve LP positions, so stay tuned to our Discord, Telegram, and Twitter for the latest updates!
To set this arbitrage simulation, let's assume that Infinity's rates are below. That is, Infinity's rates are below Aave's Lend, and so one can now borrow from Infinity, Lend to Aave, post that aToken as collateral with Infinity, and then Repeat.
Step 1: Go through our Infinity Testnet Walkthrough
Open up your account, get your Testnet ETH, connect your wallet, and collect Basic Tokens on our Goerli testnet Infinity ecosystem. https://www.infinity.exchange/article/infinity-testnet-walk-through
Step 2: Get Aave aTokens from Goerli testnet (Etherscan)
We’ll be using USDC in this example. As a reminder, it's not easy to get USDC in its' native form on Goerli and so we've created a Test USDC token, or T_USDC as a 1:1 proxy for USDC.
- Get your first T_aUSDC by following the steps outlined here:
Step 3: Transferring T_aUSDC into Infinity
After getting your Aave aTokens (in this example, T_aUSDC) from the Goerli Testnet, head over to the https://goerli.infinity.exchange and go to Dashboard at the top-right, to see your Cash Positions within your wallet.
- Based on the example in Step 2, you should now have 100 T_aUSDC tokens.
Select T_aUSDC token into Infinity at the top left.
Select 'Your Wallet' and hit 'Transfer' to Transfer your 100 T_aUSDC from Wallet to Current:
You should see a pop-up/notification (screenshot below) - please read it, and be sure to not 'refresh' your browser during this process; otherwise, the transfer may fail. If agreed, press “Transfer”.
Once this transfer has been performed, it will take 10-15 blocks (around 2-3 mins) for the T_aUSDC Tokens to be seen in your Current Account. If you don't see the tokens in your wallet, you may need to 'Import the Tokens' here:
The T_aUSDC Tokens for convenience are: (just take/accept the default # of decimal places)
- T_aUSDC: 0xE37AA0CA8E77727C75F53A352BCC6EB4F2ADC9E3
Step 4: Transfer T_aUSDC Tokens to a Trading Account
Once you see the tokens in your Current Account, transfer them to a Trading Account. Now, your T_aUSDC will be added to the ‘Borrow Limit’ shown on your Portfolio page of Dashboard.
Once your T_aUSDC is in your Trading Account, you can now use that as collateral to borrow Basic Tokens (USDC, USDT, DAI, ETH, WBTC). In this example, we are borrowing USDC, using T_aUSDC (held in the Trading Account) as collateral.
Step 5: Borrow USDC using T_aUSDC as Collateral
In this example, we are borrowing USDC (T_USDC) on Infinity using aUSDC (T_aUSDC) as collateral.
- Start with the ‘Markets’ page.
Choose T_USDC and borrow 100 T_USDC. (Using the 100 T_aUSDC as collateral).
Step 6: Deposit USDC on Aave and receive more aUSDC
- Now that you have been able to borrow 100 USDC (T_USDC) using your 100 aUSDC (T_aUSDC) as collateral (held with Infinity), you would now head back to Aave and deposit the borrowed 100 USDC (T_USDC) and in return receive 100 aUSDC (T_aUSDC), which we covered in Step 2. (https://www.infinity.exchange/article/how-to-get-aave-atokens-from-goerli-testnet-etherscan)
- You would then bring the 100 T_aUSDC tokens back to Infinity and repeat the process of Rates Arbitrage which we wrote about in our article here. (https://www.infinity.exchange/article/introducing-rates-arbitrage-to-defi)
- Repeat Steps 1 and 2.
Wait.. Now you must be wondering.. Was it really that simple to arbitrage rates between Infinity and Aave?
Quick answer...
It’s just that simple.
Have any further questions? Hit us up on Discord, or read the docs here:
- Discord: Testnet Feedback
- FAQ Docs: https://faq.infinity.exchange
- Risk Docs: https://risk.infinity.exchange
- Dev Docs: Coming Soon
Related Articles
Infinity Exchange's Testnet v2 is now 'Live'! - Check out our step-by-step walkthrough on how to get started from connecting your wallet to lending and borrowing with our new advanced trading interface.
In this article, we explore the relationships between ETH Staking, and ETH Floating/Fixed Interest rates. How are they related? How are they different? Let's find out...
We went in search of the metrics that Crypto holds itself accountable to, and voila, they didn't exist. We then set out to map out what would be a good starting point.