project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Yield.me

Yield.me is a mobile app which aims to give people the whole picture of cross-chain DeFi options and their security implication to earn yield on their crypto in a very understandable way, while allowing to access those in one click from a single chain and a single wallet.

Yield.me

Created At

ETHGlobal London

Winner of

trophy

Circle - Best Application for Crypto Capital Markets

trophy

Worldcoin - Pool Prize

Prize Pool

trophy

ETHGlobal - 🏆 ETHGlobal London Finalist

Project Description

Yield.me consists of two major components: Information and Community. While we want to let anyone be able to access the Information (which is all the info you need to make a decision on a specific DeFi yield protocol), we want to limit bots and bad actors access to the Community part which is user-written reviews on protocol. For that we've used two components:

The first security component is WorldCoin's WorldID to verify the humanity. The second security component is a Community Pass.

  • Community Pass costs 10 USDC and has its own economy. Not only we give access to the Community Pass holders to read and write reviews on different earning protocols, it also lets those who write helpful reviews earn revenue from that 10 USDC fee in future. This is achieved by having reviews metadata stored in the same smart contract with Community Pass and when one is minted these 10 USDC are distributed to users based on how many helpful reviews have they written (based on upvotes).

Every protocol has its own page where we try to collect all the data that we think is required to make an informed decision whether to contribute or not to a certain pool. We've created our own formula for that.

Our vision is to be fully cross chain, while keeping all those those chains abstracted away from a user. For that, we only operate user wallet on a single chain (Mumbai) and tap into any other chain's liquidity pool via Chainlink CCIP.

We have three github repositories: https://github.com/rsrbk/yield-me https://github.com/kroist/london2024contracts https://github.com/kroist/londonBackend

How it's Made

We've decided to start with a native Swift iOS app for yield.me.


First things first, we need to set up an account. We want to let users both create a new smart account and be able to connect any other wallet provider. For the hackathon we've narrowed the scope to only have an option for creating a new smart account, which is powered by Circle Programmable Wallets. The integration had some challenges due to outdated sample app repo, which we pushed a PR to fix: https://github.com/circlefin/w3s-ios-sample-app-wallets/pull/20


Yield.me consists of two major components: Information and Community.

We used WorldCoin's WorldID to verify the humanity.

  • As world id does not have any Swift SDK to generate a zk proofs, we had to bridge their rust sdk to swift and import it from the iOS project to generate those proofs.
  • We've fixed some bugs in their on chain verification along the way(https://github.com/worldcoin/idkit-rs/pull/2) and deployed it to additional chains, like Mumbai.

Our formula for the security score of a protocol consists of:

  1. A unique metric to check how much TVL our users provide to a protocol, comparing with all other protocols we offer.
  2. Community score, created by Community Holder's reviews and upvotes for them.

Making a seamless cross-chain DeFi experience is still challenging, even with CCIP. The main limitation is that you can't send both USDC and a message (like a deposit function call) within the same call, it has to be two transactions. We bypassed to having our own shared pools of USDC on different chains and giving users control to USDC on those pools by interacting with our main smart contract on the main chain.

background image mobile

Join the mailing list

Get the latest news and updates