Bitcoin Staking Vault
Last updated
Last updated
Bitcoin Staking Vault provides secure and automated staking solutions directly on Bitcoin Layer 1.
Bitcoin Staking Vault consist of 2 modules - Parent Staking Vault and Child Staking Vault.
Parent Staking Vault is Multisig vault that store reward rune tokens in it. This parent staking vault have several child staking vault and have batch transfer function to send reward to child staking vault at once according to event.
In terms of co-signer, 1 is owned by Server, 1 is owned by Owner and last 1 is used for backup Key if one of server or owner lost his key. This will be stored on DB. When deployer want to batch transfer, they need to get sign from server and owner for security and then this transaction will be broadcasting into network.
Creating Parent Staking Vault
When user want to deploy parent staking vault, you need to move on header of App and then click staking vault button on it. Once you click it, you can see new Parent Vault button in the workspace. To create New Parent Staking Vault, you need to enter below info
Image URL - The logo of new parent staking vault
Stakable rune id - Allowed staking rune id that user can stake
Reward rune id - Reward rune id that staking user can claim
Live Time - Avaiable time for parent staking vault
Reward Rate - Factor to set reward amount
Claimable Mint Time - Minium time that you can claim
After enter this info correctly, you can submit this by using submit buttons.
Action
Batch Transfer - This provide reward tokens transfer at one time to child staking vault. In staking vault Tab, you can see listing of parent staking vault. When you click Batch Transfer button you can see Modal for it. Here you need to set amount to transfer for each child staking vault. After finish this process, you can batch transfer by clicking Submit button
More details - This provide more details info about staking vault and its history You just need to click More Details button. Here you can see details info such as TVL(Total Volumn Lock), stakable rune id, reward rune id, live time, minium claimable time, child staking vault list, staking and claiming history, etc.
Live Time
Every Parent staking vault have live time that parent staking vault can be exist. Once live time is over, parent staking vault will be expired and nobody can staking no longer. And also staking time is not calc anymore. But user can take claiming and unstaking in that case.
Child Staking Vault is used for implementing non-custody staking method. So this staking vault will store and lock staking lock according to parent staking vault requirement. User can take only one child staking vault against one parent staking vault. This is normal wallet and managed by server.
Creating Child Staking Vault
This process will be performed automatically if you try to staking at first time to specific parent staking vault. When user click to Staking button, server will check if he already have his own child staking vault or not. If he has not one, server will generate random keypair and make new child staking vault for him. The keypair will be stored on DB.
Staking
After user take his own child staking vault, he can stake his assets according to parent staking vault. Here user need to enter some info for staking in the modal.
Rune ID - This is come from parent staking vault and you just need to select among several options that can be stake.
Amount - This is amount for staking
Claiming
When user try to claim their reward, Above factor will be applied to calculate TVL
Reward Factor - this is factor that deployer defined.
Staking Time - This is staking time that is calculated from time when user staked his assets
Minimum Time - This make user can claim their reward only after certain time is passed.
The reward will be calculated by this formular
When claiming request is sent to server, this request will be listed until getting signature from Server and deployer. Once this request get approved, user can take reward.
Unstaking
This process will be performed with claiming process if staking time is over than minimum time. When Staker unstaking button, this request will be sent to server and wait for approve from server and deployer. Once this request get approved, server will update data such as child list and TVL, and will sending staked assets to connected wallet.