---
description: >-
  In this lesson I build a flashswap arbitrage bot, that uses many interfaces
  and inherits libraries from UniswapV3 and OpenZeppelin. All to explore modular
  programming.
---

# Lesson 7: Final notes & Project Repo

### Final thoughts

I am happy in some ways about this project. Firstly, I created what I set out to make: a working defi arbitrage bot. The journey has taken me deep into the UniswapV3 protocol. A marvel in smart contract engineering.

It would have been nice If the bot made any money but still to this day it has not had a succesful arbitrage trade. This stratergy is far to simple. All of the thousand dollar+ defi arbitrage trades have 3 or 4 hops or more. It would have been great to explore how to find these kinds of opportunities.

### Smart contract progress

* Utilized well-known tested smart contract interfaces and libraries.
* Utilized a complex defi instrument in the form of flashswaps.
* Created a node.js back-end to work together with the smart contract.
* My first Foundry project.
* Got deep into the UniswapV3 protocol.

### Deployments and Repositories

Smart contract address (Arbitrum Mainnet)

**Arbitrum Mainnet**

FlashSwapV3 deployed to: [0xf812197DbdbcD0f80cD003C20f695dc8d06bC3b0](https://arbiscan.io/address/0xf812197dbdbcd0f80cd003c20f695dc8d06bc3b0)

Github Repo - [https://github.com/SimSimButDifferent/UniV3FlashSwapDualArbBot](https://github.com/SimSimButDifferent/UniV3FlashSwapDualArbBot)
