Asgard Dao
Search…
Equations

Staking

deposit=withdrawaldeposit = withdrawal
Swaps between Asgard and sAsgard during staking and unstaking are always honored 1:1. The amount of Asgard deposited into the staking contract will always result in the same amount of sAsgard. And the amount of sAsgard withdrawn from the staking contract will always result in the same amount of Asgard.
rebase=1(asgardDeposits/sAsgardOutstanding)rebase = 1 - ( asgardDeposits / sAsgardOutstanding )
The treasury deposits Asgard into the distributor. The distributor then deposits Asgard into the staking contract, creating an imbalance between Asgard and sAsgard. sAsgard is rebased to correct this imbalance between Asgard deposited and sAsgard outstanding. The rebase brings sAsgard outstanding back up to parity so that 1 sAsgard equals 1 staked Asgard.

Bonding

bondPrice=1+Premiumbond Price = 1 + Premium
Asgard has an intrinsic value of 1 BUSD, which is roughly equivalent to $1. In order to make a profit from bonding, Asgard charges a premium for each bond.
Premium=debtRatioBCVPremium = debt Ratio * BCV
The premium is derived from the debt ratio of the system and a scaling variable called BCV. BCV allows us to control the rate at which bond prices increase.
The premium determines profit due to the protocol and in turn, stakers. This is because the new Asgard is minted from the profit and subsequently distributed among all stakers.
debtRatio=bondsOutstanding/asgardSupplydebt Ratio = bondsOutstanding/asgardSupply
The debt ratio is the total of all Asgard promised to bonders divided by the total supply of Asgard. This allows us to measure the debt of the system.
bondPayoutreserveBond=marketValueasset / bondPricebondPayout_{reserveBond} = marketValue_{asset}\ /\ bondPrice
Bond payout determines the number of Asgard sold to a bonder. For reserve bonds, the market value of the assets supplied by the bonder is used to determine the bond payout. For example, if a user supplies 1000 BUSD and the bond price is 250 BUSD, the user will be entitled 4 Asgard.
bondPayoutlpBond=marketValuelpToken / bondPricebondPayout_{lpBond} = marketValue_{lpToken}\ /\ bondPrice
For liquidity bonds, the market value of the LP tokens supplied by the bonder is used to determine the bond payout. For example, if a user supplies 0.001 Asgard-BUSD LP token which is valued at 1000 BUSD at the time of bonding, and the bond price is 250 BUSD, the user will be entitled 4 Asgard.

ASGARD Supply

ASGARDsupplyGrowth=ASGARDstakers+ASGARDbonders+ASGARDDAOASGARD_{supplyGrowth} = ASGARD_{stakers} + ASGARD_{bonders} + ASGARD_{DAO}
Asgard supply does not have a hard cap. Its supply increases when:
  • Asgard is minted and distributed to the stakers.
  • Asgard is minted for the bonder. This happens whenever someone purchases a bond.
  • Asgard is minted for the DAO. This happens whenever someone purchases a bond. The DAO gets the same number of Asgard as the bonder.
  • Asgard is minted for the team or the DAO.
ASGARDstakers=ASGARDtotalSupplyrewardRateASGARD_{stakers} = ASGARD_{totalSupply} * rewardRate
At the end of each epoch, the treasury mints Asgard at a set reward rate. These Asgard will be distributed to all the stakers in the protocol.
ASGARDbonders=bondPayoutASGARD_{bonders} = bondPayout
Whenever someone purchases a bond, a set number of Asgard is minted. These Asgard will not be released to the bonder all at once - they are vested to the bonder linearly over time. The bond payout uses a different formula for different types of bonds. Check the bonding section above to see how it is calculated.
ASGARDDAO=ASGARDbondersASGARD_{DAO} = ASGARD_{bonders}
The DAO receives the same amount of Asgard as the bonder. This represents the DAO profit.

Backing per Asgard

ASGARDbacking=treasuryBalancestablecoin+treasuryBalanceotherAssetsASGARD_{backing} = treasuryBalance_{stablecoin} + treasuryBalance_{otherAssets}
Every Asgard in circulation is backed by the Asgard treasury. The assets in the treasury can be divided into two categories: stablecoin and non-stablecoin.
treasuryBalancestablecoin=RFVreserveBond+RFVlpBondtreasuryBalance_{stablecoin} = RFV_{reserveBond} + RFV_{lpBond}
The stablecoin balance in the treasury grows when bonds are sold. RFV is calculated differently for different bond types.
RFVreserveBond=assetSuppliedRFV_{reserveBond} = assetSupplied
For reserve bonds such as BUSD bond, the RFV simply equals to the amount of the underlying asset supplied by the bonder.
RFVlpBond=2sqrt(constantProduct)(% ownership of the pool)RFV_{lpBond} = 2sqrt(constantProduct) * (\%\ ownership\ of\ the\ pool)
For LP bonds such as Asgard-BUSD bond, the RFV is calculated differently because the protocol needs to mark down its value. Why? The LP token pair consists of Asgard, and each Asgard in circulation will be backed by these LP tokens - there is a cyclical dependency. To safely guarantee all circulating Asgard are backed, the protocol marks down the value of these LP tokens, hence the name risk-free value (RFV).
Last modified 9mo ago
Copy link
On this page
Staking
Bonding
ASGARD Supply
Backing per Asgard