arNXM Yield Vault
The arNXM Vault accepts wNXM/NXM and puts it to work to produce yield. This is done by unwrapping and staking the wNXM (or NXM) tokens in the Nexus Mutual ecosystem. Upon deposit of wNXM/NXM, users receive arNXM in return, which is the yield bearing token for the vault. arNXM can be traded freely, just like wNXM, but it also accrues staking rewards.
The wNXM yield vault also maintains a liquidity reserve to enable withdrawal of wNXM. This reserve is set to 20K wNXM, and refills periodically. The size of the reservoir and refill period can also be adjusted by the DAO or multi-sig Treasury.
The use of this reserve is anticipated to be minimal as Armor has set up incentivized Liquidity Pools for holders of arNXM to exit their positions directly into ETH. Liquidity in arNXM:ETH pools is sufficiently large (larger than wNXM pools) that users can exit their arNXM positions directly into ETH through the arNXM:ETH markets on Uniswap, Sushiswap, and Balancer without ever having to reconvert to wNXM.
Note: The reserve liquidity depends on deposits for the first month, as the minimum stake lockup period on Nexus Mutual is 30 days. Deposited wNXM is continually staked and won’t be unlocked until at least 30 days after launch. It is anticipated that deposits will be sufficient to provide liquidity for any withdrawals during this period.
Users who deposit wNXM tokens into the vault are returned arNXM tokens at the current conversion rate. This conversion rate is determined by the ratio of total assets under management to the total supply of arNXM.
- v = Value of 1 arNXM.
- b = wNXM balance currently held in the reserve contract (this includes any accrued staking rewards as they flow into the reserve from Nexus)
- s = wNXM balance currently being staked in Nexus Mutual.
- t = Total supply of arNXM.
where, b + s = total Assets Under Management (AUM)
arNXM is only minted when users deposit wNXM into the vault. When a user returns arNXM, it is burnt and an appropriate amount of wNXM is returned to the user. The balance being staked in Nexus Mutual (s) generates staking rewards. However, equivalent arNXM are not minted for these rewards. Therefore, as more staking rewards are accrued, there will be additional wNXM compared to arNXM, causing the exchange price of arNXM to rise.
For example, consider a total of 100 wNXM is deposited into the vault. The user will be returned 100 arNXM. The vault will keep 10 wNXM, and stake 90 wNXM into Nexus Mutual. Assuming there are no deposits or withdrawals, and the 90 staked wNXM produce 5 wNXM as rewards which flow into the reserve.
Now, b = (10 + 5), and s = 90, then:
This means that the price of arNXM will be 5% more than wNXM. The yield of the arNXM yield vault is captured in the increasing value of arNXM compared to wNXM.
In the real world, there will be constant deposits and withdrawals and the system will not operate as simply as described in the example. Additionally, in case of a hack, the stake on a contract may get burnt resulting in a reduction of the total AUM, causing the price of arNXM to drop in a similar manner as described in the example above.
Staking in Nexus Mutual
The wNXM yield vault produces yield by unwrapping and staking the wNXM into the Nexus Mutual ecosystem. The remaining wNXM is staked on various contracts through Nexus Mutual. The contracts to stake on can be changed by the multi-sig. This allows the multi-sig to optimize the risk/rewards for holders. Plans are to change this process over to the DAO when sufficient community involvement is established.
Contracts arNXM yield vault will stake on are based on the risk rating and demand for cover. Currently, there are 3 buckets based on risk (low, medium, high), as demand metrics are unavailable. As more data becomes available, a function based on risk and demand will be defined to determine the amount of NXM to stake in each bucket to automate/simplify the staking function for the DAO. The buckets will be cycled in sequence for each staking/unstaking cycle.
Each period, Armor will stake from the reserve NXM = (holdings – reserveAmount) into the appropriate bucket; as well as unstake a set % of NXM from that same bucket, which will start the 30 day unlock period before this unstaked amount is fully unlocked and flows into the reserve.
The vault is flexible:
- The order of the buckets in the cycle, and what’s in each bucket can be changed;
- Buckets can be blocked from automatic rotation;
- Unstake percents can be set individually for each protocol to enable optimization.
Anyone can call the ‘restake’ function at the end of a period, which distributes rewards to stakers. Function to get nexus rewards and shield mining rewards can also be called by anyone and at any time.
Nexus releases all rewards at 0900 UTC on Mondays
Rewards from staking your wNXM for arNXM are reflected in the contract’s token conversion rate for arNXM. As more rewards from staking on Nexus Mutual are gained, a user will receive a higher amount of wNXM for each arNXM input.
Rewards are generated from the wNXM (unwrapped to NXM) that are staked on the above contracts through Nexus Mutual.
Shield mining rewards go to the treasury.
Rewards are earned on a continuous basis and restaked into Nexus mutual, compounding returns.
Users can sell their arNXM for ETH through the arNXM:ETH LPs available on Uniswap, Sushiswap, and Balancer.
To return wNXM
The arNXM vault will maintain a reservoir to provide liquidity (for arNXM/wNXM), which refreshes the wNXM balance every week on Mondays (to coincide with Nexus staking rewards distribution). In addition to the wNXM added through rebalancing, all deposits from users during the week will also be kept in the reserve and serve to provide additional liquidity until the next Monday when retaking occurs.Funds may be withdrawn at any time given sufficient liquidity is available.
The amount of wNXM to keep in the reserve is calculated as a percentage of the total Assets Under Management (AUM). The default value at start will be set at 10% AUM. Adjustments can be made through governance as required.
- f = Amount of funds to keep in the contract in reserve
- AUM = Total amount of funds under the vault’s control
- r = The percentage, in a decimal format, of AUM to keep in reserve each week
If this reserve completely runs out of funds, users may not withdraw until next week when the newly unstaked wNXM will refill the reserve.
In the case of a successful claim and payout on a contract that arNXM was staking on, the vault will lose its stake (proportionally based on the share of the staking pool and the size of the claim) resulting in a lower conversion rate of arNXM:wNXM.
In the case where a claim is made and is anticipated to succeed, informed users may withdraw their arNXM in return for wNXM from the reserve. The maximum drain is limited by reservoir size and market forces will equalize the price of arNXM over time.
Armor also provides coverage for cover providers (stakers of arNXM vault), as described here. With the growth of the Armor platform, stakers’ investments will become safer.
Withdrawal limit on arNXM:wNXM
The maximum withdrawals of wNXM per refill cycle is limited to the size of the reservoir plus any deposits made through the cycle, which are not staked until the end of that cycle. The reserve size can be optimized to ensure users have sufficient liquidity throughout the cycle, leave enough for staking to maximize rewards, and limit large drawdowns from the vault; this balance will be adjusted through governance as needed.
Users can also sell their arNXM directly for ETH or other tokens through the various LPs.