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

frens

Frens helps you mitigate the risks of solo staking while bonding with your Ethereum friends. Built on top of SSV to ensure fault tolerance and performance. Invite friends to pool 32 ETH and spin up a distributed validator. A unique Frens-NFT represents your share in the pool.

frens

Created At

ETHBogotá

Winner of

🏆 ETHBogota Finalist

🥇 ssv.network — Best Use

🥈 ENS — Best Use

🏊‍♂️ ENS — Pool Prize

Project Description

Frens is all about staking with friends Friendly · Riskless · Ethereum · Non-custodial · Staking A foundation of trust among friends that helps the security of the Ethereum network.

Staking Ethereum is hard, expensive, risky and risks getting too centralized.

For running an Ethereum validator you still need a lot of technical knowledge and infrastructure not accessible for most people. 32 ETH is also a lot of money for single stakers especially when you risk losing your stake when you misconfigure your validator. Because of these challenges most people currently choose to stake with centralized, non-custodial staking services, like Coinbase or Kraken. This centralization is a risk for Ethereum itself.

Frens wants staking to be fault tolerant, rewarding, social and fun. Frens enables you to stake in a pool with your friends in a convenient and fault tolerant way. It is built on:

  • A deposit smart contract factory
  • SSV’s DVT technology for fault tolerant staking
  • A slick UI for smooth onboarding and automation
  • An assumption of trust between (non-technical) friends and a knowledgeable pool operator

How it works: The Frens journey starts with a Frens operator. This is a person who knows and understands Ethereum staking and wants to help their friends without too much hassle or reputation risk. The operator creates a “staking pool” smart contract via a one-click button on the Frens website. The website provides him with a magic link to an easy UI so his friends can deposit the necessary ETH for a full validator. Only friends with this link can deposit ETH to the pool. They are greeted with a clean UI that makes depositing their ETH very easy. Once the 32 ETH is collected, the operator can start the depositing machinery (on the Frens website):

  1. Select 3 extra SSV operators (in addition to his own operator node)
  2. Deposit to the Etherum staking contract
  3. Split the validator keys
  4. Register the validator (with SSV)

Once the validator starts validating the rewards are added to the pool’s smart contract. An extra percentage of the rewards is paid to operator to cover the costs of the required SSV tokens, plus some extra for their efforts. (TODO: we also want a percentage for the Frens DAO, but this was not implemented in the hackathon). Once withdrawals are enabled after the Shanghai update, participants will be a able to withdraw rewards from their pool.

NFTs: Each of the staking frens will get an NFT that proves their share in the staking pool. If one of the frens decides to leave the staking pool for whatever reason, they can sell their NFT to the frens (to keep the pool closed) or sell to a 3rd party.

The frens website also provides a status page for each member of the group of stakers.to monitor the statistics and status of their staking pool.

Permissionless: The frens website is a lean dApp. It does not use a database and only talks to onchain sources. The website can run in a fully decentralized way on IPFS.

Who benefits?

Frens: the friends benefit from a secure and fault tolerant staking pool with higher than common pooling APYs. They will also learn a lot more about Ethereum from their operator friend with real skin in the game. The NFT adds clout to participants and “social currency” that will drive more people towards staking.

Operator: He will be the hero of his frens and also earns “SVV operator reputation” which will most likely result in more SSV valitors selecting their pool, increasing his reward in SSV-tokens. He also earns a fee on the pool’s rewards which should more than cover his operational costs.

The Ethereum ecosystem: Our solution has the ambition to further improve the decentralization of staking by democratizing the running of staking pools. Frens is the summoner of staking pools. Anyone can start their own (profitable!) staking pool service from home. And we believe that our initiative ultimately contributes to a more secure chain. This is our contribution to the Ethereum ecosystem.

How it's Made

This is divided in two pieces: the front-end and the back-end

For the front-end we used the starter from rainbowkit which gave us an easy start with wallet connect button. For styling we added tailwindCSS and daisyUI. We splitted up the UX flow for our two users: operators and stakers. Ended up being two nextJS pages. Allowing you to stake in the correct pool(s) you participate in. Wagmi.sh hooks made interacting with our deployed contracts easy. What did turn out to be tricky was to use the ssv key splitter from our webapp but eventually we found a workaround. All this is subject to future improvement of course.

For the back-end we used scaffold-eth as a development environment. All contract development, deployment, and testing was done in this environment. A hardhat mainnet fork was used to test the interface between the stakingPool contract and the beacon chain deposit contract. Once the contracts were complete the hardhat folder from the project was imported into the WAGMI project for the frontend development.

Sponsor technology

SSV.network: We used SSV to run the validators of the created staking pools. The operator Fren picks the other 3 operators from the list of operators in the SSV network. This enforces decentralization and fault tolerance on the validator level. We did set up an SSV operator node, and this process was straightforward.

ENS: We used ENS protocol to display the operator’s information on the frens’ staking page. We also display the operators’ avatar for an extra welcoming feel. This was a smooth export via the wagmi.sh library.

WalletConnect: We used wallet connect to integrate an Ethereum wallet into the flow, all the participants in a Frens staking pool must chip in some ETH to participate. This was incredibly easy with WalletConnect and allowed us to onboard new frens via mobile wallets too.

Lens protocol: We wanted to use Lens protocol to invite friends to use the smoothing pool. But we did not have enough time left to work this out. We settled on a button to follow the operator on lenster.xyz.

We are especially proud of the poolfactory concept. Instead of creating just one pool, we generate a new pool for each group that automatically mints NFT’s for each participant that have much potential in DeFi, collateral and NFT trading. The NFT’s create tradeable shares of decentralized staking pools. This approach stimulates the creation of many new small staking pool operators instead of one pool that attracts a big chunk of staked ETH. This is intentionally and by design.

background image mobile

Join the mailing list

Get the latest news and updates