1. Overview

A vNFT is the representation (tokenization) of an Ethereum validator using the ERC721 NFT standard. An user can mint a vNFT for 32 ETH, it will fund a validator and start to generate rewards for the vNFT holder.

This mechanism adds new functions and mechanics to a validator.

Purchase and exit

Purchase

  1. User deposits multiple of 32 ETH (n*32 ETH)

  2. The contract mints n vNFT and sends them to the user

  3. The deposited ETH is deposited to the ethereum deposit contract and n validators will funded

Exit

  1. User requests an exit of the validator linked to a vNFT he holds

  2. The vNFT is not transferable anymore and is totally frozen

  3. Once the validator is fully exited on the consensus layer the user can claim the principal

Mechanisms

Renting

The vNFT integration contract implements the ERC4907 standard allowing the NFTs to be “used” by another user than the NFT owner.

In the specific case of a vNFT when a owner rents its vNFT and sets a new user, the new user becomes the beneficiary of the generated rewards by the validator. The owner sets the user for a specific period and the vNFT has now different state.

When the usership expires, the owner has to explicitly call clearUsership()to become the rewards beneficiary again.

An active user can rent the vNFT to an another user, in this case, the end of the renting period cannot be after the current one.

Rewards

🚧

States

States transitions

When a state transition occurs, if some CL rewards are available for the beneficiary, the contract automatically claim the rewards and, keep it in the contract and a debt is created, the beneficiary will be able to claim it whenever he wants.

For security reason, when a state transition that leads to a potential change of value of the vNFT (user set, available rewards etc) occurs, the id of the vNFT is updated, the old id is burnt and the new is minted with the same underlying validator.

Last updated