Design of Liquid Dual-Staking Vault (dualCORE)
Design Summary
We introduce the dualCORE Vault along with its standard ERC-20 token, dualCORE.
Users interact with the vault to mint, redeem (normal/instant mode), and withdraw their assets.
The vault applies yield strategies to earn rewards from dApps on the Core Chain. The initial release of dualCORE Vault will focus on yield strategies within the b14g Merge Marketplace, which directly interacts with the Core Staking Contract to earn dual-staking yields.
All value accrued within the vault is reflected in the dualCORE token’s value.
The CORE/dualCORE conversion ratio is auto-updated daily, aligning with Core staking’s turn-round mechanism.
To optimize yield strategies, system operators have additional methods to rebalance and adjust vault allocations.
User Perspective
Deposit & Mint
Users deposit CORE into the dualCORE Vault, which mints dualCORE tokens (ERC-20) based on the current dualCORE/CORE exchange rate and sends dualCORE tokens to the user's wallet.
Throughout the day (UTC), users can mint dualCORE at the same conversion ratio. Example: If the conversion ratio is 1:1.2, depositing 120 CORE will mint 100 dualCORE.
Redeem
Users can always redeem their dualCORE tokens for CORE at the current exchange rate. Example: If the current conversion ratio is 1:1.2, redeeming 100 dualCORE will return 120 CORE.
There are 2 redemption modes:
Normal Redemption: Once users request normal redemption from the system, it takes 1 day for them to withdraw CORE tokens to their wallet (no redemption fee).
Instant Redemption: Instant redemption lets users withdraw CORE immediately to their wallet without any redemption period (with a 10% fee).
Common ERC-20 Use Cases
Since dualCORE is a standard ERC-20 token, it can be transferred, used in DeFi protocols, provided as liquidity on DEXs, swapped, and more.
Implementations
User Methods in dualCORE Vault
stake() → Deposit CORE and mint dualCORE.
unbond() → Request redemption from dualCORE to CORE (normal redemption).
withdraw() → Withdraw CORE to wallet once the normal redemption period ends.
withdrawDirect() → Withdraw CORE immediately to wallet with no redemption period applied (instant redemption).
Operator Methods in dualCORE Vault
ReInvest() → Periodically reinvests CORE into orders on Merge Marketplace to maximize Core dual-staking yield and auto-compound rewards. The system reallocates funds by topping up the highest-yielding orders and withdrawing from the lowest-yielding invested ones.
dualCORE/CORE Conversion Ratio Calculation
After each turn round in Core staking mechanism, the vault collects rewards from Merge Marketplace orders and stakes them back to compound returns. During this process, the vault moves CORE from lower-yielding orders to higher-yielding ones to maximize vault overall APY.
And after that the conversion ratio of dualCORE/CORE can also be updated. The formula for that is:
Since Core staking rewards are only distributed once per day, the conversion rate remains unchanged throughout the day until the next turn round.
Deposit/Redeem Restrictions & Dues Protection
The Core staking contract enforces these rules:
When delegating CORE, the amount must be >= 1 CORE.
When undelegating CORE:
The amount must be >= 1 CORE, and
The remaining CORE left on a validator of this address must be >= 1 or =0.
Since these restrictions also apply to Merge Marketplace, and the Vault applies yield strategies within the Merge Marketplace, it must adhere to the same rules when executing stake(), unbond(), and withdrawDirect() operations.
Last updated