EchoKitty is a multi-chain copy trading protocol, which introduces a permission-less way to mimic the trading strategies of any on-chain wallet. It ensures real-time execution with an ultra efficient botnet as well as trust-less depositing and swapping of funds.
This EchoKitty project is a trustless and permissionless protocol that allows users to copy trade any other wallet address. Copy trading, being popular in traditional finance, is not a new phenomenon but it has yet to garner significant traction in crypto. Currently existing projects limit users to only copy trading a small, curated group of wallets. EchoKitty addresses these limitations and allows ANY wallet address, on integrated networks or chains, to be copy traded. In order to achieve this EchoKitty utilizes extensive filters which users can set on their copy trade positions. These filters ensure that only the right transactions trigger a copy trade and also help protect the copied user from taking advantage of the copier. After selecting a wallet to copy and adding filters, a user can then set an allowance for how much of their current balance should be traded in the event a copy trade is triggered. Once these steps are completed the user will now be automatically copy trading their selected wallet address when triggered. Copy traders on EchoKitty can view their open positions, along with their transaction history and PnL.
EchoKitty avoids over productization and enables users to take advantage of their on-chain knowledge. EchoKitty doesn't provide users with the best addresses to copy trade. Rather, we leave this up to the user while giving them the proper tools and filtering to create their own, personalized, copy trading positions.
EchoKitty achieves permission-less copy trading by combining three key elements:
Four smart contracts supporting mainnet, gnosis and polygon network for holding funds and executing the copy trades on 1inch (which can be easily extended to any DEX)
An off-chain botnet monitoring the target addresses and initiating the copy trades
A react based front-end to request target wallet’s token balances and provide an intuitive user interface
At the basis of the protocol are four smart contracts (1 detailed):
A wallet factory contract creating a smart wallet for every user: https://polygonscan.com/address/0x88865532AB232aab74C69FEb0409A00133d053d8
The resulting smart wallet contract that holds deposited funds and spins off a sub wallet for each new address that will be copied: https://polygonscan.com/address/0x458dabe0140dacda264718edc317ff4d07f6b288
The sub wallet contract that receives the funds allocated to a specific target address, listens to the trade data provided by the botnet and executes swaps on 1inch: https://polygonscan.com/address/0x134f52bc06ea1e40552ab5d6a56a77f57e578b2c
An authorization registry which allows people to tightly control the permissions of who can execute the swaps: https://polygonscan.com/address/0xF4277421bDA6a2E1C36b827fbf9F817A8d573888
The contracts were created and deployed with foundry.
The off-chain botnet for real-time copy trading (2 detailed):
Front-end built with React / Redux (3 detailed):
[Important - the GitHub repo link points to our smart contract repo. Use: https://github.com/echokitty to see all three; smart contracts, webapp and botnet repos]