🎚️

Staking Derivatives

Background

Harmony tokens are staked into our network to secure the network and earn block rewards at around 10% APY in the current stage. However, those staked tokens are not able to participate in any of the DeFi projects in the ecosystem. The staking transactions are executed in a different logic other than the normal transaction. Users can either send a normal transaction to do a transfer, call an EVM smart contract, or make a staking transaction. This approach has restricted the use of staking protocol, and some DeFi products, E.g. liquidity staking, does not have access to the staking assets in consensus.

Other PoS blockchains, such as LiDo Finance on Ethereum 2, staking partners can mint stETH to their staking customers, similar to the LP token of liquidity providers. The staking derivatives such as stETH can be used to participate in other DeFi projects as collateral or for trading purposes. Many other staking services on Ethereum 2 offered similar staking tokens as a way to provide liquidity of the staked tokens.

Objectives

To improve the composability of the staking protocol and increase the efficiency of the staked capitals, we would expose the staking information and staking actions to all the DeFi projects on Harmony via precompiles and caller libraries. All the DeFi projects deployed to Harmony blockchain can utilize the libraries to build lending protocols, vaults, or universal basic income projects.

Milestones

Staking Precompiles
Smart Contract Library
Testnet Deployment
Security Audit
DeFi Demo Project
Mainnet Deployment
DeFi Lending Protocol Integration

Staking Support for MetaMask

Additionally, staking smart contract support should allow wallet like MetaMask to support staking functionalities for the end users directly as a smart contract call. Besides the staking as a smart contract library milestone, we also need to update our staking dashboard to support staking via smart contract calls so MetaMask users can do staking too. For wallet like MetaMask which didn’t integrate natively without staking transaction logic, the staking dashboard should instead call the staking smart contract library to achieve staking for the end users.

This will allows almost all wallets that support smart contract calls to be working also as a staking wallet, giving users more options for staking and setting the ground for subsetting out chrome extension wallet.

Work Items:

Staking Precompiles (ETA 01/15: still needs more code review and iterations on the design) - β€£
Smart Contract Library (ETA 01/15: Tej may be able to help)
Staking Dashboard Update to support MetaMask through Staking Smart Contract (ETA 01/15: Yuriy)
Testing of the staking library (ETA 01/22)
Release of the new binary (ETA 01/31)