The smart contracts for dydx and governance have been audited and rigorously tested. The core governance and token contracts are forked from the aave governance contracts which were audited by CertiK, Certora, and Peckshield and have been battle-tested live on mainnet for months. All major new smart contracts have been audited by Peckshield. No significant or high priority security issues were found. Audits have been made available on GitHub.
Despite our focus on system stability and user protection, risks always exist. An additional mechanism for securing the Protocol is the incentivization of DYDX holders to stake tokens into a smart contract-based component called the Safety Module. The staked dydx will be used as a mitigation tool in case of a Shortfall Event on the Protocol. The interpretation of the occurrence of a Shortfall Event is subject to DYDX governance votes.
The Safety Staking Pool, therefore, functions as an additional layer to protect users in the case of insolvency or other issues with the Protocol. Further, the risk of slashing incentivizes dydx holders to govern correctly: dydx holders risk dilutive events as the ultimate backstop and act as the governors of risk in the system.
How it works
2.5% of the dydx token supply (
25,000,000 DYDX) will be distributed to users who stake dydx to the safety staking pool. Staked DYDX can be slashed to backstop the protocol.
Stakers will earn dydx rewards for staking dydx. DYDX rewards will be distributed continuously according to each staker’s portion of the total DYDX in the pool.
A staker must request to withdraw dydx at least 14 days (Blackout Window) before the end of an epoch in order to be able to withdraw the staker’s DYDX. If stakers do not request to withdraw, their staked DYDX is rolled over into the next epoch. Withdrawals cannot be requested during the Blackout Window.
All funds in the contract, active or inactive, are slashable. Within the contract, slashing is implemented via an update to the exchange rate between dydx and stkDYDX. This means that as slashes occur, the exchange rate between dydx and stkDYDX will diverge from its initial value of 1:1. Note that the earning of staking rewards is unaffected by slashes.
Staked dydx may be slashed as a result of a shortfall event. Slashing occurs at the discretion of DYDX governance, and requires a governance vote to enact.
The interpretation for the occurrence of a Shortfall Event is subject to a governance vote but may include:
- Exchange Solvency (e.g., exchange becoming under-collateralized due to unprofitable liquidations)
- Smart contract attacks
- Other events dYdX governance deems to have resulted in a shortfall
In a Shortfall Event, token holder balances can be slashed and transferred to another address or contract (set by dYdX governance on a case by case basis). dYdX governance must pass a short timelock proposal to slash staked tokens. After a governance vote on slashing staked dydx tokens, slashed dydx may be auctioned on the market to be sold against the assets needed to mitigate the incurred deficit. stkDYDX
Holders of dydx who deposit and stake their dydx into the Safety Staking Pool will receive a tokenized position (stkDYDX). stkDYDX is minted when a user stakes dydx, and is burned when a user withdraws their dydx from the pool. In the same transaction that dydx leaves a staker’s wallet, stkDYDX enters the staker’s wallet’ or vice-versa when unstaking.
A stkDYDX balance can be active or inactive. Active stkDYDX can be transferred as an ERC-20, but cannot be withdrawn. Inactive stkDYDX can be withdrawn, but cannot be transferred. stkDYDX goes from active to inactive when a user requests to withdraw DYDX from the pool Staking & Claiming
To stake, head to dydx.community and connect your wallet. Head to the Safety Staking Pool and click “Stake.” If you have not enabled DYDX for staking before, you will have to complete an on-chain transaction to enable it prior to staking.
Once the Transfer Restriction Period is lifted on September 8, 2021 at 15:00 UTC, you will be able to claim earned dydx from staking block by block. Every claim will be in the form of an on-chain transaction.