Only this pageAll pages
Powered by GitBook
1 of 36

dYdX Unlimited

Loading...

Loading...

Start Here

Loading...

Loading...

Loading...

Modules

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

UNLIMITED FEATURES

Loading...

Loading...

Loading...

RELEVANT LINKS

Loading...

Loading...

Loading...

dYdX DAO

Loading...

Loading...

Loading...

Legal Disclaimer

Crypto-assets can be highly volatile and trading crypto-assets involves risk of loss, particularly when using leverage. Investment into crypto-assets may not be regulated and may not be adequate for retail investors. Do your own research and due diligence before engaging in any activity involving crypto-assets.

dYdX is a decentralised, disintermediated and permissionless protocol, and is not available in the U.S. or to U.S. persons as well as in other restricted jurisdictions. The dYdX Foundation does not operate or participate in the operation of any component of the dYdX Chain's infrastructure.

The dYdX Foundation’s purpose is to support the current implementation and any future implementations of the dYdX protocol and to foster community-driven growth in the dYdX ecosystem.

The dYdX Chain software (including dYdX Unlimited) is open-source software to be used or implemented by any party in accordance with the applicable license. At no time should the dYdX Chain and/or its software or related components (including dYdX Unlimited) be deemed to be a product or service provided or made available in any way by the dYdX Foundation. Interactions with the dYdX Chain software (including dYdX Unlimited) or any implementation thereof are permissionless and disintermediated, subject to the terms of the applicable licenses and code. Users who interact with the dYdX Chain software, including dYdX Unlimited (or any implementations thereof) will not be interacting with the dYdX Foundation in any way whatsoever. The dYdX Foundation does not make any representations, warranties or covenants in connection with the dYdX Chain software (or any implementations and/or components thereof, including dYdX Unlimited), including (without limitation) with regard to their technical properties or performance, as well as their actual or potential usefulness or suitability for any particular purpose, and users agree to rely on the dYdX Chain software (or any implementations and/or components thereof, including dYdX Unlimited) ā€œAS IS, WHERE ISā€.

This documentation contains one of many multiple approaches that can be considered in connection with the subject matter hereof. Nothing in this documentation should be used or considered as legal, financial, tax, or any other advice, nor as an instruction or invitation to act by anyone. The dYdX Foundation makes no recommendation as to how to vote on any proposal in dYdX governance related to a potential migration or otherwise, whether to migrate any assets to the proposed new dYdX Chain, or to take any action whatsoever. The dYdX community is sovereign to make decisions freely and at its sole discretion, in accordance with the governance rules, principles, and mechanisms adopted by the dYdX DAO. dYdX community discussion and interaction on the contents of this post are encouraged. The dYdX Foundation does not directly participate in governance decisions to be made by the dYdX community, including, without limitation, by making and/or voting on governance proposals.

Depositing into the MegaVault carries risks. Do your own research and make sure to understand the risks before depositing funds. MegaVault returns are not guaranteed and may fluctuate over time depending on multiple factors. MegaVault returns may be negative and you may lose your entire investment.The dYdX Foundation does not operate or has control over the MegaVault and has not been involved in the development, deployment and operation of any component of the dYdX Unlimited software (including the MegaVault).

We encourage readers to remain vigilant and only rely on information coming from legitimate sources, as we anticipate an increase in potential scams and phishing attacks via social media, messaging apps, and websites.

The dYdX Foundation may alter or update any information in this post in the future and assumes no obligation to publicly disclose any such change. This post is solely based on the information available to the dYdX Foundation at the time it is made and should only be read and taken into consideration at the time it is made and on the basis of the circumstances that surround it. The dYdX Foundation makes no guarantees of future performance and is under no obligation to undertake any of the activities contemplated herein, including but not limited to the direct or indirect open-sourcing of any commissioned code.

DYDX Token Allocation

An overview of the $DYDX token allocation.

Current Allocations

A total of 1,000,000,000 $DYDX have been minted on August 3rd, 2021, at 15:00:00 UTC, and started to become accessible over five (5) years. The current allocation of the total supply of $DYDX is as follows:

  • 50.0% (500,000,000 $DYDX) to the community as follows:

    • 5.0% (50,309,197 $DYDX) to past users who complete certain trading milestones on the dYdX Layer 2 Protocol (Retroactive Mining Rewards),

  • 27.7% (277,295,070 $DYDX) to past investors of dYdX Trading Inc.,

  • 15.3% (152,704,930 $DYDX) to founders, employees, advisors, and consultants of dYdX Trading Inc. or dYdX Foundation, and

  • 7.0% (70,000,000 $DYDX) to future employees and consultants of dYdX Trading Inc. or the dYdX Foundation.

Although the community allocation has been established as laid out above, $DYDX holders have full control, via governance, over how it is used going forward.

Initial Allocations and Changes

The initial five-year allocation of the total supply of $DYDX was as laid out below, it was then followed by several governance proposals that changed the initial allocation:

  • 50.0% (500,000,000 $DYDX) to the community as follows:

        • Epoch 30: 1,054,795 $DYDX

        • Epoch 31: 527,398 $DYDX

        • Epoch 32: 0 $DYDX

      • After Epoch 0, 24,690,803 unclaimed $DYDX from the Retroactive Mining rewards program were transferred to the Community Treasury.

        • Epoch 30: 383,562 $DYDX

        • Epoch 31: 191,781 $DYDX

        • Epoch 32: 0 $DYDX

  • 27.7% (277,295,070 $DYDX) to past investors of dYdX Trading Inc.,

  • 15.3% (152,704,930 $DYDX) to founders, employees, advisors, and consultants of dYdX Trading Inc. or dYdX Foundation, and

  • 7.0% (70,000,000 $DYDX) to future employees and consultants of dYdX Trading Inc. or dYdX Foundation.

Liquid Supply Curve of $DYDX

On September 8, 2021, the initial transfer restrictions on the DYDX token were lifted.

The following chart shows the total liquid supply of DYDX over time:

FAQs

Can the allocation of $DYDX change?

Yes, the dYdX community can change any of the rewards and pools existing at launch. So far, the dYdX community has voted to reduce DYDX emissions in several governance proposals:

a. Reduce rewards to the following values on Nov 21, 2023, 15:00 UTC (start of Epoch 30)

 i. Trading: 1,054,795

 ii. LP: 383,562

b. Reduce rewards to the following values on Dec 19, 2023, 15:00 UTC (start of Epoch 31)

 i.Trading: 527,398

 ii.LP: 191,781

c. Reduce rewards to the following values on Jan 16, 2024, 15:00 UTC (start of Epoch 32)

 i.Trading: 0

 ii.LP: 0
What is the lockup for $DYDX issued to investors, existing and future employees, and consultants?

Part of the initial allocation of $DYDX tokens was reserved for past investors of dYdX Trading Inc., founders, employees, advisors, and consultants of dYdX Trading Inc. or dYdX Foundation, and future employees and consultants of dYdX Trading Inc. or dYdX Foundation.

As per the Amendment, tokens will be released from transfer restrictions as follows:

  • 30% on December 1, 2023;

  • 40% in equal monthly installments from January 1, 2024, to June 1, 2024;

  • 20% in equal monthly installments from July 1, 2024, to June 1, 2025; and

  • 10% in equal monthly installments from July 1, 2025, to June 1, 2026.

Note that all of the above dates shall be interpreted to refer to UTC time zone.

Various founders, employees, advisors, and consultants of dYdX Trading Inc. and dYdX Foundation are also subject to the transfer restriction schedule set forth in the Amendment.

All employees and consultants also will be subject to various vesting schedules that could result in them losing their rights to $DYDX. No employee’s or consultant’s receipt of $DYDX is, or will in the future be, based on providing services related to the dYdX Protocol or other services that may benefit the Protocol. Instead, employees and consultants may receive $DYDX for services that benefit only dYdX Trading Inc., dYdX Foundation or another party.

Regardless of any lockup on $DYDX, investors and prior employees or consultants of dYdX Trading Inc. or dYdX Foundation may use $DYDX to make proposals, delegate votes, or vote on proposals related to the dYdX Protocol. Current employees and consultants of dYdX Trading Inc. or dYdX Foundation will initially not make any proposals or participate in any votes but may do so in the future. Current employees and consultants of dYdX Trading Inc. or dYdX Foundation may delegate votes without attempting to influence voting outcomes.

All investors are required to comply with the transfer restriction enforced through contractual agreements with the dYdX Foundation and dYdX Trading Inc. dYdX Foundation tracks wallet addresses to determine whether any transfers have been made in violation of that restriction.

The dYdX Foundation has expressed its willingness to bring legal action against investors who do not comply with these requirements.

Introduction

Welcome to the community documentation for dYdX Unlimited!

dYdX Chain

Start Here

dYdX Unlimited

DYDX Token

DYDX, the dYdX Chain's L1 token, serves three key purposes: Staking, Security, and Governance.

  1. Staking: DYDX holders have the option to serve as validators (and self-delegate) or to delegate their stake to existing validators. Such delegation increases the likelihood of the chosen validators entering or staying in the active validator set, thereby becoming a participant in the network’s consensus process.

  2. Security: Staking DYDX directly contributes to dYdX Chain security. As more DYDX holders choose to stake their tokens across a diverse range of validators in the network and the total amount of stake on the network increases, it becomes increasingly difficult for a coordinated attack to influence a consensus decision.

  3. Governance: DYDX empowers DYDX holders to propose and vote on proposals, directly influencing the evolution of the dYdX Chain through a democratic process. The subject matter of proposals can vary from changing a governable parameter on the dYdX Chain, spending dYdX community funds, and updating the software that dYdX Chain nodes are running, among other things.

dYdX Fee Schedule

Staking

An overview of the Staking Module.

Overview

dYdX Chain leverages the Cosmos SDK Staking module which supports a Proof-of-Stake blockchain and enables DYDX holders to become validators and/or delegate the validation rights (stake) of their DYDX to a dYdX Chain validator.

Summary

Key Concepts and Definitions

  • Staking: the act of delegating and locking up (ā€˜bonding’) DYDX tokens to a dYdX Chain validator to secure and govern the network.

  • Bonded Validator: once the validator receives sufficient bonded tokens they automatically join the Active Set EndBlock and their status is updated to Bonded. A bonded validator (1) is signing blocks and receiving rewards (2) can receive further delegations, and (3) can be slashed for misbehavior.

  • Active Set: the Active Set represents the validators that can participate in consensus, receive rewards, and secure the dYdX Chain at a given time. The active set includes the top validators according to staked tokens (delegated from third parties and self-delegation) and is determined by the max_validators parameter. The Active Set is updated during EndBlock by retrieving validatorsbypower and the max_validators parameter.

  • EndBlock: A function is called after all transactions in a block have been processed. EndBlock is generally used to execute logic that should happen after a block is executed to finalize state transitions, such as determining the active validator set of the dYdX Chain.

  • Inactive Set: Validators who are not in the Active Set, do not participate in consensus and do not receive rewards.

  • Unbonded Validator: The validator (1) is not in the Active Set, (2) cannot sign blocks and (3) does not earn rewards, but they can receive delegations. DYDX holders who stake to an unbonded validator will not earn any staking rewards.

  • Validator Commission: Commission set by each validator and applied to the staking rewards of each delegator. Validators are required to follow the min_commission_rate parameter but are otherwise free to set their own commission rates.

Parameters

These parameters may be adjusted by the dYdX Community with an on-chain governance proposal.

Title
Value
Description

adydx

Denomination of the L1 staking token.

10000

Number of records of a validator's past performance at a given point in time.

7

Limit on the number of entries for unbonding delegations or redelegations per staker account for each validator they interact with.

60

The maximum number of Validators in the Active Set.

0.05

The chain-wide minimum commission rate that a validator can charge their delegators.

2592000s

~30 days

The time it takes to unbond (full/partial) from a validator.

Staking to a dYdX Chain Validator

On the dYdX Chain, DYDX holders can serve as validators or delegate their stake to existing validators. Such delegation increases the likelihood of the chosen validator(s) entering or staying in the active validator set, thereby becoming or maintaining their position as a participant in the network’s consensus process.

Unbonding delegations / Unstaking

Redelegation

Redelegation in the Cosmos SDK is a feature that allows a delegator to shift their staked tokens (delegations) from one validator to another without having to wait for the unbonding period.

During the redelegation process, the tokens remain staked, meaning they continue contributing to the network's security and potentially earning rewards for the delegator.

However, a user’s slashing risk with the original validator remains until the unbonding period concludes. For example, a user stakes 20 DYDX to validator A for 59 days, on day 60 the user decides to redelegate their 20 DYDX to validator B. If validator A is slashed between days 60-90, the user is at risk of having a portion of their 20 staked DYDX slashed. After the 90th day, the slashing risk transitions to validator B.

After redelegating, you must wait 30 days before redelegating again from this new validator.

26.1% (261,133,225 $DYDX) to the ,

14.5% (144,693,506 $DYDX) based on the ,

3.3% (32,794,525 $DYDX) based on the ,

0.6% (5,779,608 $DYDX) to users staking $USDC to a ,

0.5% (5,289,939 $DYDX) to users staking $DYDX to a ,

5.0% (50,000,000 $DYDX) to a ,

25.0% (250,000,000 $DYDX) based on the ,

In and , the dYdX community voted to reduce trading rewards by a total of 2.3M $DYDX. (958,904 $DYDX from DIP 16 and 1,294,520 $DYDX from DIP 20). The 2.3M $DYDX will accrue in the Rewards Treasury and can be used by the dYdX community with a .

In , the dYdX community voted to reduce trading rewards by ā…“ from Epoch 30-32 on dYdX v3 to the following values:

7.5% (75,000,000 $DYDX) to past users who complete certain trading milestones on the Layer 2 protocol (),

7.5% (75,000,000 $DYDX) based on the ,

In , the dYdX community voted to reduce Liquidity Provider rewards by 50% from 1,150,685 $DYDX per epoch to 575,343 $DYDX per epoch. The excess 575,342 $DYDX per epoch will accrue in the Rewards Treasury and can be used by the dYdX community with a .

In , the dYdX community voted to reduce Liquidity Provider rewards by ā…“ from Epoch 30-32 on dYdX v3 to the following values:

2.5% (25,000,000 $DYDX) to users staking $USDC to a ,

In , the dYdX community to set the rewards associated with staking $USDC to 0. The 383,562 $DYDX previously distributed to $USDC stakers will accrue in the Rewards Treasury and can be used by the dYdX community with a .

2.5% (25,000,000 $DYDX) to users staking $DYDX to a ,

In , the dYdX community to set the rewards associated with staking $DYDX to 0. The 383,562 $DYDX previously distirbuted to $DYDX stakers will accrue in the Rewards Treasury and can be used by the dYdX community with a .

In , the dYdX community in support of reducing trading rewards by 25%. As a result, trading rewards distributed in a given epoch were reduced from 3,835,616 $DYDX to 2,876,712 $DYDX in Epoch 15. The remaining 958,904 $DYDX will accrue in the Rewards Treasury and can be used by the dYdX community with a .

In , the dYdX community to set the rewards associated with staking $USDC to 0. The 383,562 $DYDX previously distirbuted to $USDC stakers will accrue in the Rewards Treasury and can be used by the dYdX community with a .

In , the dYdX community to set the rewards associated with staking $DYDX to 0. The 383,562 $DYDX previously distirbuted to $DYDX stakers will accrue in the Rewards Treasury and can be used by the dYdX community with a .

In , the dYdX community to reduce Liquidity Provider Rewards by 50% from 1,150,685 $DYDX per epoch to 575,343 $DYDX per epoch. The excess 575,342 $DYDX per epoch will accrue in the Rewards Treasury and can be used by the dYdX community with a .

In , the dYdX community voted to reduce trading and LP rewards by ā…“ from Epoch 30-32 on dYdX v3 to the following values:

On January 25, 2023, dYdX Foundation an Amendment to postpone the initial release date of investor $DYDX tokens to December 1, 2023. The Amendment did not change the staggered unlock schedule after the Initial Unlock Date.

The dYdX Chain is a proof-of-stake blockchain network built using the Cosmos SDK and leveraging CometBFT for consensus. The software was by Informal Systems and by dYdX Trading Inc. ("dYdX Trading").

The was deployed and the first block of the dYdX Chain was created by the dYdX Chain validators on October 26, 2023, at 17:00 UTC.

The dYdX Community the dYdX Chain software upgrade to v7.0 ("dYdX Unlimited") on November 9, 2024. This software upgrade included significant improvements, such as:

DYDX is the dYdX Chain's Layer 1 token, as adopted by the dYdX community, through dYdX governance ( and ).

Information about the Fee Schedule in the dYdX Chain open source software is available .

DYDX holders who stake DYDX to a validator can send a transaction to unstake and remove their tokens (fully or partially) from being staked to a validator. After this transaction is sent, the DYDX tokens enter an unbonding period which lasts for the duration of the parameter.

Community Treasury
Trading Rewards Formula
Liquidity Provider Rewards Formula(s)
Liquidity Staking Pool
Safety Staking Pool
Community Treasury
Trading Rewards Formula
DIP 16
DIP 20
governance vote
DIP 29
Retroactive Mining Rewards
Liquidity Provider Rewards Formula(s)
DIP 24
governance vote
DIP 29
Liquidity Staking Pool
DIP 14
voted
governance vote
Safety Staking Pool
DIP 17
voted
governance vote
DIP 16
voted
governance vote
DIP 14
voted
governance vote
DIP 17
voted
governance vote
DIP 24
voted
governance vote
DIP 29
announced
fully audited
open-sourced
dYdX Chain open-source software
šŸŖ™DYDX Token
šŸ”Staking
šŸ›ļøGovernance
šŸ›…Trading Rewards and Rewards Module
šŸ¦Community Treasury
approved
⚔Instant Market Listings
šŸ—ļøMegaVault
šŸ«‚Affiliate Program
Snapshot
on-chain
here
unbonding_time
Staking to a dYdX Chain Validator
Unbonding delegations / Unstaking
Redelegation
bond_denom
historical_entries
max_entries
max_validators
min_commission_rate
unbonding_time

Distribution

An overview of the Distribution Module.

Overview

The distribution module enables a simple collection and distribution mechanism to passively distribute rewards between validators and delegators.

Summary

Key Concepts and Definitions

  • Community Pool: a pool of tokens funded by a portion of staking rewards (community_tax) that the dYdX community could use to fund contributor grants, community initiatives, liquidity mining, and other initiatives.

  • Distribution ModuleAccount Account: an account that collects and distributes trading and transaction fees among validators, delegators, and the community pool.

  • Staking Rewards: the total portion of the Fee Pool that a DYDX staker can claim at a given block.

  • Fee Pool: fee pool from maker trading fees (USDC), taker trading fees (USDC), DYDX-denominated gas fees from transactions, and USDC-denominated gas fees from transactions for a given block.

  • Staking Rewards Withdrawal: a DYDX staker may claim their portion of the Fee Pool for each block. If a DYDX staker does not claim staking rewards, their respective rewards will accrue in the Distribution ModuleAccount Account.

  • Total Bonded Power: the sum of all tokens that are currently staked by validators to themselves and tokens staked to validators by DYDX holders.

  • Block Rewards: fees distributed to validators and delegators for successfully proposing and validating a new block on the blockchain.

Parameters

The dYdX Community may adjust these parameters with an on-chain governance proposal.

Title
Value
Description

0

A tax that directs a percentage of the fee pool to the community pool.

0

Part of the block reward reserved for the validator that proposes a given block.

0

Bonus incentive for block proposers based on the number of transactions included in a given block.

True

Whether a delegator can set a different withdrawal address (other than their delegator address) for their rewards.

Staking Rewards

On the dYdX Chain, all transaction fees (trading fees denominated in USDC, DYDX-denominated gas fees from transactions, and USDC-denominated gas fees from transactions) collected by the protocol will be distributed to validators and DYDX holders that stake to dYdX Chain validators.

How rewards are distributed on dYdX Chain

DYDX holders who stake to (a) validator(s) are entitled to a portion of the following fees:

  • DYDX-denominated gas fees from transactions,

  • USDC-denominated gas fees from transactions,

  • USDC maker trading fees, and

  • USDC taker trading fees.

Fees will accrue in the Distribution ModuleAccount Account each block. Each block a DYDX staker may claim their portion of Staking Rewards. If a DYDX staker does not claim Staking Rewards, their respective rewards will accrue in the Distribution ModuleAccount Account.

Note, Staking Rewards are not automatically staked to a dYdX Chain validator. Any DYDX earned by a staker as Staking Rewards will need to be claimed from the Distribution ModuleAccount Account and staked to a dYdX Chain validator to contribute to the security of the network and qualify to earn staking rewards.

How staking rewards are calculated

  • Fee Pool = fee pool from maker trading fees (USDC), taker trading fees (USDC), DYDX-denominated gas fees from transactions, and USDC-denominated gas fees from transactions for a given block.

  • Number of DYDX staked by DYDX holder = total DYDX tokens that a dYdX Chain address has staked to (a) validator(s) at a given block.

  • Total bonded power = the sum of all DYDX that are currently staked by validators to themselves and DYDX staked to validators by DYDX holders.

  • Staking Rewards = the total portion of the Fee Pool that a DYDX staker can claim at a given block.

  • Community tax = A tax that directs a percentage of the fee pool to the community pool.

  • Validator commission rate = commission set by each validator and applied to the staking rewards of each delegator. Validators are required to follow the min_commission_rate parameter but are otherwise free to set their own commission rates.

Governance

An overview of the Governance module.

Overview

The governance module empowers DYDX holders to propose and vote on proposals, directly influencing the evolution of the dYdX Chain through a democratic process. The subject matter of proposals can vary from changing a governable parameter on the dYdX Chain, spending dYdX community funds, and updating the software that dYdX Chain nodes are running, among other things.

Summary

Key Concepts and Definitions

  • Deposits: Unstaked DYDX tokens pledged by the proposer and potentially other DYDX holders in support of the creation of a governance proposal.

  • Inheritance: If a DYDX staker does not vote on a proposal, they will inherit the vote of their validator for the respective proposal.

  • Vote Weight: A DYDX holder's vote weight is equal to the amount of DYDX the user has actively staked (1-1). DYDX tokens that are not staked or are in the unbonding period will not count towards a DYDX holder's vote weight.

  • Execution: If a proposal passes, the execution process depends on the type of proposal.

Parameters

These parameters may be adjusted by the dYdX Community with an on-chain governance proposal.

Proposal Submission and Deposits

All DYDX holders have the right to create a proposal. A DYDX holder can only use unstaked DYDX tokens to contribute to a given proposal deposit.

To create a proposal, a DYDX holder needs to send a msgsubmitproposal transaction and satisfy the min_initial_deposit_ratio parameter by sending a deposit transaction.

After the proposal is created, any DYDX holder can contribute to the deposit by sending a deposit transaction.

For the voting period to start, the min_deposit parameter needs to be satisfied within the max_deposit_period. Note, (1) the proposal is in an inactive proposal queue until the min_deposit is satisfied and (2) the voting_period will start as soon as the min_deposit is reached.

The deposit is kept in escrow and held by the governance ModuleAccount until the proposal is finalized (passed or rejected).

If a proposal fails to satisfy the min_deposit within the max_deposit_period and the burn_proposal_deposit_prevote parameter is set ā€œFalseā€, any DYDX holder who contributed to the respective deposit of a proposal will have their deposit refunded.

Proposal Types

Governance of the dYdX Chain includes 5 distinct types of proposals: text proposals, parameter change proposals, community spending proposals, software upgrade proposals, and new market proposals.

Text Proposals

Text proposals are votes that occur on-chain without directly triggering any changes on the dYdX Chain. Text proposals can be used (1) to establish dYdX community consensus for an off-chain matter, such as a strategic plan, a dYdX DAO action, or a dYdX DAO commitment, or (2) as signalling for a future vote that will directly cause changes on the dYdX Chain.

Community Spending Proposals

Community Spending Proposals involve a request to spend DYDX from the community treasury, community pool, or any other community-controlled account. The inputs for a Community Spending Proposal are (1) the number of DYDX and (2) the recipient address.

Parameter Change Proposals

Parameter change proposals are for changing one or more of the dYdX Chain parameters that are controlled by the governance module.

If a parameter change proposal is successful, the parameter change takes effect in the block after the voting period ends.

Software Upgrade Proposals

After the dYdX community accepts a software upgrade proposal there are two important steps:

  • Signal - After a SoftwareUpgradeProposal is accepted, validators are expected to download and install the new version of the software while continuing to run the previous version. Once a validator has downloaded and installed the upgrade, it will start signaling to the network that it is ready to switch by including the proposal's proposalID in its precommits.

  • Switch - Once a block contains more than 2/3rd precommits where a common SoftwareUpgradeProposal is signaled, all the nodes (including validator nodes and full nodes) are expected to switch to the new version of the software.

Proposal Voting Options

The voting options for governance proposals on dYdX Chain are:

  • Yes

  • No

  • NoWithVeto - allows voters to express strong disagreement with a proposal to the extent that if burn_vote_veto is ā€œTrueā€ and the veto_threshold is reached the respective deposit in the governance module account for the proposal is burned.

  • Abstain - allows voters to signal that they do not intend to vote in favor or against the proposal but accept the result of the vote.

Expedited Proposals

A proposal can be expedited, which shortens the voting duration to 1 day and sets a higher tally threshold by default. The expedited proposal threshold is 0.75 (75%) and the quorum is 0.334 (33.4%). If the expedited proposal does not meet the threshold within the shortened voting period, it is converted to a regular proposal, and the voting restarts under standard conditions.

For example, if an expedited proposal starts on July 1st, the vote would end on July 5th if the expedited proposal fails to meet the higher tally threshold by July 3rd.

Users can set their proposal to expedited proposal by setting the expedited field in the proposal submission JSON file to true. Expedited proposals can be used for any vote type, including Text, Community Spend, Parameter Change, Adding Markets, and Software Upgrades.\

Proposal Lifecycle

Proposal Stages

Below, we outline the flow of dYdX Chain governance, from the idea's inception to implementation. These processes are subject to change according to feedback from the dYdX community.

Summary

0. Forum Discussion

1. (Off-chain) DRC Creation

dYdX Request for Comments (DRCs) creation is the first step in the governance improvement process. Anyone can participate in the dYdX governance forum, create an off-chain DRC, and discuss potential improvements to the dYdX Chain and/or dYdX ecosystem.

The DRC should cover all the information of the potential final DIP.

2. (Off-chain) DRC Discussion and Feedback

Once posted on the dYdX governance forum, the proposer should reasonably respond to questions and incorporate constructive feedback to further improve the DRC. The DRC Discussion and Feedback step aims to establish a rough consensus before a vote starts.

While a rigid timeline is unnecessary, four days likely makes sense to ensure the dYdX community has sufficient time to review and comment on the DRC.

3. (Off-chain) DIP Creation

Before submitting a transaction to create a governance proposal, the prospective proposer must create a json file containing relevant information for the governance proposal. Depending on the type of proposal, the contents of the json file will differ.

  1. Text Proposals: the file should contain a title, description, and deposit (in aDYDX units).

  2. Community Spending Proposals: the file should contain the title, description, recipient, number of tokens, and deposit (in aDYDX units).

  3. Parameter Change Proposals: the file should contain title, description, changes, subspace (module with the parameter that is being changed), key (the parameter that is being changed), value (value of the parameter that will be changed by the governance mechanism), and deposit (in aDYDX units).

  4. Software Upgrade Proposals: the file should contain title, description, deposit and plan.

    • The plan outlines when the update will occur (block height), the name of the new version of the software, and the UpgradeHandler which instructs the upgrade module how to carry out the upgrade (the latest consensus version of each module and other software).

As a general rule, any information specific to a proposal (e.g., Title, description, deposit, parameters, recipient) can be placed in a json file, while information general to a transaction of any kind (e.g., chain-id, node-id, gas, fees) can remain in the CLI (the command-line interface).

Below is a template json file that can be used for a Text proposal:

The description must at least contain:

  • a short summary of the DRC that has been posted on the dYdX governance forum,

  • a link to the forum post,

so that prospective voters have access to the full context of the DIP.

The description within the json file will be visible to the prospective voters when they:

  • query the proposal using the CLI,

  • view the proposal on their wallet dashboard (such as Keplr or Leap), or

  • view the proposal on a block explorer (such as Mintscan).

4. (On-chain) Submitting a Proposal

If you have never submitted a proposal on dYdX Chain before, it would be helpful to familiarize yourself with this technical guide.

An on-chain DIP may be submitted by a dYdX community member using the following generic command format (on the command-line interface):

Here is an example using the above command format to submit a software upgrade proposal:

If <proposal type> is left blank, the type will be a Text proposal. Otherwise, it can be set to param-change, software-upgrade, or community-treasury-spend.

  1. dydxprotocold is the command-line interface client that is used to send transactions and query the dYdX Chain and tx gov submit-proposal software-upgrade indicates that the transaction is submitting a software upgrade proposal.

  2. --~/upgrade_plan.json indicates the file containing the proposal information.

  3. --from wallet-1 is the account key that pays the transaction fee and deposit amount. This account key must exist in the keychain on your device and it must be an address you control. To register an account in the keychain, you can follow the steps here.

  4. --chain-id dydx-mainnet-1 is dYdX Chain.

  5. --gas 500000 is the maximum amount of gas permitted to be used to process the transaction.

    • The more content there is in the description of your proposal, the more gas your transaction will consume.

    • If this number isn't high enough and there isn't enough gas to process your transaction, the transaction will fail.

    • The transaction will only use the amount of gas needed to process the transaction.

    • You can simulate the amount of gas needed to submit the proposal by adding --dry-run at the end of the CLI command above.

    • In practice, the simulation function isn’t always accurate, so you may want to multiply the return the gas unit by a ~1.3x multiplier. For example, with the following result, you will need to input around --gas 1100000

  1. --fees is a flat-rate incentive for a validator to process your transaction, it is denominated in USDC (ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5).

  • The network still accepts zero fees, but many nodes will not transmit your transaction to the network without a minimum fee.

  • Many nodes use a minimum fee to disincentivize transaction spamming.

  • The number is divided by 10^18.

To submit the proposal on-chain, the proposer will need to deposit a number of DYDX that is equal to or greater than the min_initial_deposit_ratio.

5. (On-chain) Proposal Deposits

As soon as the proposal is created the max_deposit_period begins and the min_deposit must be satisfied before the max_deposit_period concludes for the vote to start.

After the proposal is created, any DYDX holder can contribute to the deposit by sending a deposit transaction.

  1. To contribute to the deposit of a governance proposal, the prospective depositor must know the proposalID that they intend to add a deposit to. The prospective depositor can query list of proposals on dYdX Chain by entering this command on the CLI:

  1. Once the prospective depositor knows the ID of the proposal, they can add a deposit using this command:

If a proposal fails to satisfy the min_deposit within the max_deposit_period and the burn_proposal_deposit_prevote parameter is set ā€œFalseā€, any DYDX holder who contributed to the respective deposit of a proposal will have their deposit refunded.

If the min_deposit is satisfied within the max_deposit_period, the vote will start and the deposit is kept in escrow and held by the governance ModuleAccount until the proposal is finalized (passed or rejected). Depositors of a proposal will have their deposit refunded, unless enough voters vote NoWithVeto and satisfy the veto_threshold.

6. (On-chain) DIP Voting

If the min_deposit is satisfied within the max_deposit_period, the vote will start and voting will last for the voting_period.

Note, only staked DYDX tokens can vote on dYdX Chain governance proposals.

Prospective voter can vote by following the steps on the How to Vote Guide.

If a DYDX staker does not vote on a proposal, they will inherit the vote of their validator for the respective proposal.

7. (On-chain) Proposal Tallying and Execution

When the voting_period ends, the TallyParams (quorum, threshold, and veto_threshold) determine whether the proposal is approved and implemented or rejected.

The execution process according to the respective vote type is as follows:

  • Text Proposals: will not result in any on-chain changes, but could result in an off-chain action.

  • Community Spending Proposals: the number of DYDX encoded in the proposal will be transferred from the from the dYdX community account to the address encoded in the proposal.

  • Parameter Change Proposals: the parameter will update go into effect without a hard fork.

  • Software Upgrade Proposals:

    • Signal - Validators upgrade their software to the new version and signal that they are ready for the upgrade.

    • Block Height: The dYdX Chain reaches the specified block height for the upgrade and pauses its operation.

    • Upgrade and Restart: Validators apply the upgrade and restart their nodes, which resumes the blockchain's operation with the new software.

Safety

Spam Mitigation

The following strategies that can be updated by governance exist to prevent spam on the orderbook and prevent the blockchain state from getting too large:

Block Rate Limit

Block rate limit defines the block rate limits for CLOB specific operations.

Equity Tier Limit

Equity tier limit defines the set of equity tiers to limit how many open orders a subaccount is allowed to have.

The Cosmos is a simple mechanism to allocate rewards earned by Validators and Stakers. For a detailed understanding of the Cosmos rewards mechanism, read .

dYdX Chain is a proof-of-stake blockchain network and holders of DYDX can participate in governing the dYdX Chain. dYdX Chain uses the standard in the Cosmos SDK.

Tallying: After the voting period concludes, the aggregate the vote results to determine if the proposal was accepted or rejected by the dYdX community.

Title
Value
Description

The facilitates smoothly upgrading a live Cosmos chain to a new (breaking) software version. Software Upgrade Proposals need to be created with a plan. Such a plan outlines when the update will occur (block height), the name of the new version of the software, and the UpgradeHandler which instructs the upgrade module on how to carry out the upgrade (the latest consensus version of each module and other software).

Anyone can sign up and set up a thread on any topic on dYdX’s governance forums hosted at. dYdX community members are required to register using an email address or an Ethereum wallet.

To create a DRC, dYdX community members should use .

a link to the completed , and

--node is RPC endpoint address that can be found . Remember to append :443 to the end of the RPC URI to access the endpoint properly and securely.

x/distribution module
here
Staking Rewards
How rewards are distributed on dYdX Chain
How staking rewards are calculated
LogoStaking Overview | Cosmos SDK
{
  "title": "Title",
  "deposit": "2000000000000000000000adydx",
  "summary": "Summary [max 255 characters]",
  "messages": [
    {
      "@type": "/cosmos.gov.v1.MsgExecLegacyContent",
      "content": {
        "@type": "/cosmos.gov.v1beta1.TextProposal",
        "title": "Title goes here.",
        "description": "Additional summary or blank if not needed."
      },
      "authority": "dydx10d07y265gmmuvt4z0w9aw880jnsr700jnmapky"
    }
  ]
}
dydxprotocold tx gov submit-proposal <proposal type> \
-- <json file> \
--from <submitter address> \
--chain-id <chain id> \
--gas <max gas allocated> \
--fees <fees allocated> \
--node <node address> \
dydxprotocold tx gov submit-proposal software-upgrade \ 
--upgrade_plan.json \
--from wallet-1 \ 
--chain-id dydx-mainnet-1 \ 
--gas 500000 \ 
--fees 12500ibc/8E27BA2D5493AF5636760E354E46004562C46AB7EC0CC4C1CA14E9E20E2545B5 \ 
--node https://rpc-dydx.imperator.co:443/ \
dydxprotocold tx gov submit-proposal 
~/dydx/proposal_enable_all_clob_pairs.json 
--from dydx199tqg4wdlnu4qjlxchpd7seg454937hjrknju4 
--dry-run

gas estimate: 837840
dydxprotocold query gov proposals
dydxprotocold tx gov deposit <proposal-id> <deposit> --from <key>
LogoHow to Stake to the dYdX Chain | dYdX Foundation
LogoHow to Unstake
LogoHow to Redelegate

Updating Live Market

Updating a Live Market

This functionality allows the community to update parameters of a live market, which can be composed of 5 parts:

Liquidity Tiers

Liquidity Tier is updatable through MsgSetLiquidityTier.

Market

The Prices module (x/prices) is updatable through MsgUpdateMarketParam.

Perpetual

The Perpetual module (x/perpetuals) is updatable through MsgUpdatePerpetual.

Clob

The Clob module (x/clob) is updatable through MsgUpdateClobPair.

Market Margin

Isolated-margin markets can be upgraded to cross-margin through UpgradeIsolatedPerpetualToCross.

Logox/distribution | Explore the SDK
community_tax
base_proposer_reward
bonus_proposer_reward
withdraw_addr_enabled
x/gov module
TallyParams
upgrade module
https://dydx.forum/
this template
DIP template
here
Proposal Submission and Deposits
Proposal Types
Text Proposals
Community Spending Proposals
Parameter Change Proposals
Software Upgrade Proposals
Proposal Voting Options
Expedited Proposals
Forum Discussion
(Off-chain) DRC Creation
(Off-chain) DRC Discussion and Feedback
(Off-chain) DIP Creation
(On-chain) Submitting a Proposal
(On-chain) Proposal Deposits
(On-chain) DIP Voting
(On-chain) Proposal Tallying and Execution

Deposit Params

The parameters for deposits on governance proposals.

2000000000000000000000 adydx

2,000 DYDX

The minimum token deposit for a governance proposal to enter the voting period.

604800s

7 days

The maximum time permitted for DYDX holders to deposit enough DYDX tokens to satisfy the min_deposit for a governance proposal to enter the voting period.

0.20000

The percentage of the min_deposit that needs to be submitted by the address that creates the proposal.

Voting Params

The parameter for vote length of governance proposals.

345600s

~4 days

The duration of the voting period.

0.33400

The parameters for tallying votes on governance proposals.

0.50000

The minimum proportion of Yes votes for a proposal to pass.

*Abstain votes are not counted.

0.33400

The minimum percentage of NoWithVeto votes required to reject a proposal, regardless of the number of Yes votes.

Burnable Params

The parameters for burning or returning a proposal deposit to depositors.

True

If True, this boolean parameter will burn the proposal deposit for any proposals that are vetoed.

False

If True, this boolean parameter will burn the proposal deposit if the proposal vote does not reach quorum.

False

If True, this boolean parameter will burn the proposal deposit if the proposal does not enter the voting period.

Expedited Proposal Params

The parameters for expedited proposals

0.75000

The minimum proportion of Yes votes for an expedited proposal to pass.

*Abstain votes are not counted.

86400s ~1 day

The duration of expedited proposal's voting period.

Title

Limit

Num_blocks

Definition

200

1

How many short term order attempts (successful and failed) are allowed for an account per N blocks.

2

20

1

100

How many stateful order attempts (successful and failed) are allowed for an account per N blocks.

200

1

How many short term order cancellation attempts (successful and failed) are allowed for an account per N blocks.

Title

limit

usd_tnc_required

Definition

0

0

how many open short term orders are allowed per equity tier.

4

20000000

8

100000000

10

1000000000

100

10000000000

1000

100000000000

0

0

how many open stateful orders are allowed per equity tier.

4

20000000

8

100000000

10

1000000000

100

10000000000

200

100000000000

Perpetual

Funding Rate

Perpetual contracts, unlike traditional futures contracts, lack an expiry date and use funding rates to encourage the perpetual price to align with the underlying asset's price. The Funding Rate is determined algorithmically based on the Index Price and Mid-Market Prices, prompts long traders to pay shorts when the perpetual trades at a premium and vice versa.

These payments are proportional to traders' positions and are exchanged directly between traders, not involving the exchange. The goal of the Funding Rate is to maintain the perpetual market's price close to the Index Price by incentivizing trading actions that bring it in line with the underlying asset's value.

Title

Value

Definition

6000000 [6%]

Used for clamping 8-hour Funding Rates according to the equation: funding_rate_clamp_factor * (initial margin - maintenance margin).

60000000 [60%]

Used for clamping 8-hour Premium Votes according to the equation: premium_vote_clamp_factor * (initial margin - maintenance margin).

15

Minimum number of premium votes per premium sample.

Epoch Information

Funding rate and premium payments are credited or debited at a fixed interval based on the Epoch Information parameters. These parameters define the funding rate interval and premium sampling interval:

  • Next Tick: when the next epoch starts in seconds.

  • Duration: duration of the epoch in seconds.

  • Is Initialized: whether the epoch has been initialized.

  • Fast Forward Next Tick: specifies whether next_tick.

  • should be fast-forwarded to be greater than the current block time.

Name

Next Tick

Duration

(seconds)

Current Epoch

Current Epoch Start Block

Is Initialized

Fast Forward Next Tick

30

60

0

0

False

True

0

3600

0

0

False

True

0

3600

0

0

False

True

CLOB

Clob Pair

Title

Definitions

id

ID of the orderbook that stores all resting liquidity for this CLOB.

status

Status of the CLOB, which could be any of the following:

  1. STATUS_UNSPECIFIED: Default value. This value is invalid and unused.

  2. STATUS_ACTIVE: this represents an active clob pair.

  3. STATUS_PAUSED: this represents a clob pair that is paused until further notice.

  4. STATUS_CANCEL_ONLY: clob pairs in this state only accept cancellations.

  5. STATUS_POST_ONLY: clob pairs in this state only accept orders which are post-only.

  6. STATUS_INITIALIZING: this represents a newly-added clob pair. Clob pairs in this state only accept orders which are both short-term and post-only.

perpetual_clob_metadata

Product-specific metadata.

step_base_quantums

Minimum increment in the size of orders on the CLOB, in base quantums.

subticks_per_tick

This parameter defines the tick size of the orderbook by defining how many subticks are in one tick, i.e. the subticks of any valid order must be a multiple of this value.

quantum_conversion_exponent

10^Exponent gives the number of QuoteQuantums traded per BaseQuantum per Subtick.

Trading Core

Insurance Fund

The insurance fund (`dydx1c7ptc87hkd54e3r7zjy92q29xkq7t79w64slrq`) is the first backstop to maintain the solvency of the system when an account has a negative balance. The account will be liquidated, and the insurance fund will take on the loss when it occurs. This insurance fund will be used before any deleveraging occurs.

Deleveraging

If the insurance fund is depleted, positions with the highest profit and leverage may be used to offset negative-balance accounts, ensuring system stability. This process, known as deleveraging, is a last-resort feature in perpetual contracts.

It works similarly to "auto-deleveraging" in other markets, requiring profitable traders to contribute profits to offset underwater accounts. Deleveraging is used only when the insurance fund is depleted and prioritizes high-profit, high-leverage accounts. This approach reduces uncertainty for traders at lower risk levels compared to a socialized loss mechanism. The most highly leveraged offsetting accounts are deleveraged first.

Deleveraging Example

Assume an initial margin requirement of 10% and a maintenance margin requirement of 7.5%.

Trader A deposits 1000 USDC, then opens a long position of 1 BTC at a price of 2000 USDC. Their account balance is -1000 USDC, +1 BTC. During a period of intense and prolonged volatility, the index price reaches 1080 USDC. Trader A is in a risky position, but not yet liquidatable. The price then rapidly drops further, and before A can be liquidated, the index price reaches 900 USDC, making the nominal value of A’s account -100 USDC.

The insurance fund is already depleted due to recent price swings, so deleveraging kicks in. Trader B, whose current balance is 10000 USDC, -9 BTC, is selected as the counterparty, on the basis of B’s profit and leverage, and the fact that B’s short position can offset A’s long position.

Trader B receives A’s entire balance, leaving A with zero balance, and bringing B’s total balance to 9000 USDC, -8 BTC. Trader B’s nominal loss due to deleveraging is 100 USDC, at an index price of 900 USDC. Trader B’s margin percentage increased (and leverage decreased) as a result of deleveraging, from 23.46% to 25%.

Liquidations Config

When accounts fall below the maintenance margin requirement, the liquidation engine can automatically close their positions at the specified liquidation price. The insurance fund absorbs any profits or losses resulting from these liquidations.

Title

Value

Definition

15000 [0.015%]

When an account is liquidated, up to the entire value of the account may be taken as penalty and transferred to the Insurance Fund. The liquidation engine will attempt to leave funds in accounts of positive value where possible after they have paid the maximum liquidation fee.

Contains the following parameter values:

The minimum (in notional value) and maximum (in parts per million) amount of how much a single position can be liquidated within one block.

ā€Ž1000000000

100000 [0.1%]

Contains the following parameter values:

The maximum amount of how much a single subaccount can be liquidated within a single block in notional value.

100000000000

1000000000000

The maximum number of quote quantums (exclusive) that the Insurance Fund can have for deleverages to be enabled.

Contains the following parameter values:

Configuration regarding how the fillable-price spread from the oracle price increases based on the adjusted bankruptcy rating of the subaccount.

1000000 [1%]

1500000 [1.5%]

Markets

Title
Definition

sequentially-generated value

human-readable name of the market pair

exponent of the price.

e.g. if Exponent == -5 then a Value of 1,000,000,000 represents $10,000. Therefore 10 ^ Exponent represents the smallest price step (in dollars) that can be recorded.

the minimum number of exchanges that should be reporting a live price for a price update to be considered valid.

the minimum allowable change in price value that would cause a price update on the network. Measured as 1e-6 (parts per million).

A string of json that encodes the configuration for resolving the price of this market on various exchanges, otherwise also known as ā€œoracleā€.

On dYdX Chain, oracles are used for the following:

  • Ensuring that each account is well-collateralized after each trade,

  • Determining when an account should be liquidated.

Liquidity Tiers

Markets of similar risk are categorized into Liquidity Tiers based on standardized risk parameters. These tiers define the margin requirements for each market and should be determined according to the depth of the relative market's book and the market capitalization of the token.

  • Initial_margin_ppm = the margin fraction needed to open a position.

  • Maintenance_fraction_ppm = the fraction of the initial-margin that the maintenance-margin is.

  • Base_position_notional = the maximum position size at which the margin requirements are not increased over the default values.

  • Impact_notional = the impact notional amount (in quote quantums) is used to determine impact bid/ask prices and its recommended value is 500 USDC / initial margin fraction.

id
name
initial_margin_ppm
maintenance_fraction_ppm
base_position_ notional
impact_notional
impact_notional (as is)

0

20000 [0.02]

600000 [0.6]

ā€Ž1000000000000 [1,000,000 USDC]

500 USDC / IM

10000000000 [10,000 USDC]

1

100000 [0.1]

500000 [0.5]

250000000000 [250,000 USDC]

500 USDC / IM

5000000000 [5,000 USDC]

2

200000 [0.2]

500000 [0.5]

100000000000 [100,000 USDC]

1,000 USDC / IM

2500000000 [2,500 USDC]

3

1000000 [1]

200000 [0.02]

1000000000 [1,000 USDC]

1,000 USDC / IM

2500000000 [2,500 USDC]

4

Isolated

50000 [0.05]

600000 [0.6]

0

1,000 USDC / IM

2500000000 [2,500 USDC]

5

Mid-Cap

50000 [0.05]

600000 [0.6]

0

500 USDC / IM

5000000000 [5,000 USDC]

6

FX

10000 [0.01]

500000 [0.5]

500000000000 [500,000 USDC]

1,000 USDC / IM

2500000000 [2,500 USDC]

Market Types

There are two market types on dYdX:

  1. Cross Margin: Cross-margined markets share the same collateral pool and insurance fund, contributing to the overall risk properties across the entire protocol.

  2. Isolated Margin: Isolated markets have segregated pools of collateral and their own insurance fund. Each isolated market, then, has its own individual risk properties. This enables a protocol to more safely support a much greater range of market types.

  • At least two oracle sources with > $1M USD in trading volume each.

  • At least two oracle sources with > $150K depth within 2% of the mid-price.

  • A minimum of four total oracle sources.

  • Availability of at least 30 days of historical data.

Instant Market Listings Deposit

The following are Instant Market Listings Deposit parameters (ListingVaultDepositParams) adjustable by dYdX governance:

Relevant Links & Data Sources

List of relevant links and data sources for the dYdX Chain Open-Source Software can be found here:

Slashing

An overview of the slashing module.

Overview

The slashing module is a mechanism to penalize validators for a violation of protocol rules by slashing their bonded tokens. Penalties under the slashing module include burning a portion of a validator’s bonded tokens and/or temporarily removing their ability to vote on future blocks.

Summary

  • Signing Info

  • Liveness Tracking

  • Messages

  • Social Slashing

Key Concepts and Definitions

  • States: In the state machine, a variable number of validators are registered, and during each block, the top max_validators (defined in the Staking module) who are not jailed become bonded and can propose and vote on blocks, with a ValidatorSigningInfo record tracking their liveness and potential protocol faults.

  • Double Signing: When a validator is proven to have signed two blocks at the same height, causing conflicting blocks or transactions on multiple branches of the dYdX Chain.

  • Downtime: When a validator does not vote on a dYdX Chain block for a period of time.

  • Jailed: A period of time when a validator is not allowed to rejoin the Active Set due to a violation of protocol rules.

Parameters

These parameters may be adjusted by the dYdX Community with an on-chain governance proposal.

Signing Info

In every block, validators contribute to a set of precommits for the previous block, forming the LastCommitInfo in CometBFT. This LastCommitInfo is valid if it includes precommits from +2/3 of the total voting power.

If a validator fails to be included in the LastCommitInfo for a certain number of blocks, they will be automatically jailed, slashed or unbonded.

Liveness Tracking

dYdX Chain stores Information about validator's liveness activity on ValidatorSigningInfo. At the start of each block, the ValidatorSigningInfo for each validator is updated, and their liveness status over signed_blocks_window is checked.

The sliding window is defined by signed_blocks_window and the index is determined by the IndexOffset in each validator’s ValidatorSigningInfo. The IndexOffset is incremented with each block whether the validator signed or not, and the MissedBlocksBitArray and MissedBlocksCounter are updated accordingly once the index is determined.

To make sure whether a validator falls below the liveness threshold, the maximum number of blocks missed (maxMissed) and minimum height of liveness threshold (minHeight) are retrieved.

If the current block is past minHeight and the MissedBlocksCounter exceeds maxMissed, the validator is slashed by slash_fraction_downtime, jailed for downtime_jail_duration, and has their MissedBlocksBitArray, MissedBlocksCounter, and IndexOffset reset.

Note, slashing due to liveness tracking failure does not lead to tombstoning.

Messages

  • Unjail

Should a validator want to return and potentially rejoin the Active Set after being removed due to Downtime, they must send a MsgUnjail.

Social Slashing

The MEV (Maximal Extractable Value) extraction by validators can undermine a fair and transparent trading environment. MEV refers to the profit a dishonest validator can gain by censoring and/or re-ordering orders and cancellations to their advantage. Validators could take advantage of the architecture of the dYdX Chain - an in-memory orderbook design - to manipulate, re-order, or censor trades before suggesting a new block for profit extraction, resulting in trades executing at worse prices relative to the best price possible and cancellations potentially being ignored.

Currently, there is no protocol-level solution to mitigate MEV on the dYdX Chain, despite MEV extraction being considered a harmful validator behavior. However, the dYdX community, through a governance vote, could approve the implementation of a social slashing framework to penalize validators engaged in MEV extraction.

Instant Market Listings

Instant Market Listings enable users to list and trade perpetual futures on virtually any asset on dYdX instantly without waiting for governance approvals or third-party permissions. This new product feature eliminates the traditional costs and delays associated with market creation, allowing users to respond swiftly to market trends.

With this feature, users can list established cryptocurrencies or emerging assets as perpetual markets on dYdX by adding 10,000 USDC to the new asset's sub-vault. These funds ensure that new markets launch with sufficient liquidity for efficient trading.

Launchable Markets on dYdX

To ensure compatibility and stability within the dYdX ecosystem, listed markets must meet specific volume and liquidity thresholds. These criteria guarantee seamless integration and provide a stable trading environment from the outset.

Most assets from Base, Ethereum, Solana, and centralized exchanges (CEXs) are supported, covering many of your favorite markets. The dYdX market mapper is actively working to expand this list, aiming to allow virtually any asset to be listed, including perpetual prediction markets.

How to List a New Market on dYdX

1. Navigate to dYdX

2. Select a Marketā€

Type the name of the market into the search bar. If the market is supported it will appear showing a "launchable" label next to it.

3. Begin Market Launchā€

Click on the launchable market and then on the "Preview Launch" button in the bottom right.

4. Add Funds for Liquidity

Add 10,000 USDC into your connected wallet to provide the required liquidity, then click "Deposit and Launch." Your funds will be locked for an estimated 30 days to support liquidity in the new market, providing the necessary orderbook depth to facilitate seamless trading. After the lock-up period, you can remove your funds if you choose.

5. Automatic Liquidity Activationā€

6. Your Market is Liveā€

7. Remove Your Funds Anytimeā€

After an estimated 30 days, you can remove your funds at any time.

FAQ

How long is the lock-up period?

As part of the process to launch a market, a user agrees to lock the funds in MegaVault for an estimated 30 days.

The USDC is actually locked for 2,592,000 dYdX protocol blocks. The 30-day estimate assumes an average block time of one second to confirm each block during the lock-up period. The actual block times could be longer, so your USDC could be locked for more than 30 days.

The amount and lock-up period are parameters that the community can adjust at any time via dYdX governance.

Will the funds I add to MegaVault while launching a market be treated differently from other funds added to MegaVault?

No, besides being locked for an estimated 30 days, the funds added to MegaVault are treated the same as other funds unassociated with launched markets in MegaVault.

What does liquidity look like for a market that I list?

When a user launches a market, 10,000 USDC is atomically added into that market’s sub-vault. The MegaVault operator can subsequently adjust liquidity as they see fit.

Am I guaranteed to get my 10,000 USDC back in 30 days?
Is it legal to launch a market?

You are responsible for assessing the legality of launching a new market, and you are strongly encouraged to review all applicable laws and licensing requirements and consult professional advisors before doing so.

While dYdX is not available in certain jurisdictions, you should not rely on the availability of the instant listing software in a jurisdiction to inform compliance with laws. Neither the dYdX Foundation nor the software developer is your adviser.

Can I launch a market for US investors?

No. dYdX may not be used in the United States, Canada, or any other prohibited jurisdiction.

Affiliate Program

The program currently features a lifetime commission model, meaning affiliates continue to earn as long as their referred users keep trading on dYdX. Additionally, commissions are paid out instantly and automatically on-chain in USDC, ensuring real-time transparency and quick access to earnings without any delays.

To safeguard the protocol against fraudulent activity, users must generate at least $10,000 in trading volume before gaining access to their unique affiliate link on dYdX.

Affiliate Tiers

The dYdX Affiliate Program is divided into two tiers:

  1. Standard affiliates can earn up to 15% of the taker fees from their referrals, with potential earnings of up to 3,000 USDC per referral within a 30-day period.

  2. VIP affiliates can earn up to 50% of referred user taker fees, with a maximum of $10,000 per referral per 30-day rolling period.

VIP Affiliate Program

How to become a dYdX Standard Affiliate

  1. Unlock affiliate access: In order to unlock your affiliate link, you need to have generated at least $10,000 in trading volume on dYdX. This can be done with or without leverage. For example, opening a 1000 USDC position with 5x leverage, and then closing it would suffice.

  2. Spread the word: Share your affiliate link with your friends and across social media.

  3. Monitor Your Performance: Use the affiliate dashboard to track your referrals, trading volumes, and earned commissions. This transparency allows you to optimize your strategies and maximize your rewards.

represents a Perpetual, Spot or a given product in the state. Each clob pair has the following parameters:

The current size of the insurance fund can be viewed .

On dYdX Chain, each has a set of parameters that can be adjusted by governance, the parameters are as follows:

The following criteria are recommended to determine compatibility with cross-margining, hence allowing dYdX community to propose an isolated market to cross:

allow users to list a perpetual market on dYdX immediately, without governance or third-party approvals. Funds are locked in a sub-vault to ensure initial market liquidity.

Title

Value

Definitions

10000000000 [10,000 USDC]

The amount of funds that will be added to the new sub-vault.

0 [0 USDC]

The amount of funds that will be added to the main vault (MegaVault).

30 * 24 * 3600 [2,592,000 blocks or approximately 30 days based on 1 second block time]

The number of blocks for how long the funds will be locked or cannot be removed from the sub-vault.

: When a validator is permanently removed from the Active Set due to a double signing infraction. More information about Staking Tombstone is available .

More information about the slashing module is available .

To show how much MEV value could be extracted by each validator, dYdX Trading, Inc. ("dYdX Trading") and Skip Protocol have collaborated to create a that displays data on orderbook discrepancies.

Not all markets are currently eligible for instant listing. Skip, a third-party entity by the dYdX community as the Market Map Updater, manages the "launchable" markets on-chain.

Head to

Once the funds are added, the supplements your funds, providing liquidity to the new market. Trading can begin immediately.ā€

Congratulations! Your market is now live on and supported by liquidity.

No. The 10,000 USDC will be added to MegaVault. MegaVault supports high-risk, illiquid, and volatile markets, and adding funds to MegaVault carries a material risk of loss. There is no protection of funds in MegaVault, and there is no guaranteed return. Please review for more details.

is designed to provide clear and attractive incentives for affiliates. Affiliates can earn commissions based on the taker fees generated by the users they refer to the protocol.

On October 22, 2024, the dYdX community to onboard and manage the VIP Affiliate Program. Their responsibility includes regularly submitting an on-chain proposal to whitelist new and/or removing underperforming VIP affiliates.

If you're interested in becoming a VIP Affiliate, you can apply . The VIP Affiliate tier is generally reserved for those with track records of successful referrals on other crypto affiliate programs, a large social media following of at least 30,000 real followers, and a noticeable social influence. Professional market makers or trading firms are not eligible to apply as a VIP affiliate.

Copy your affiliate link: Next, head over to the , click on ā€œInvite Friendsā€ and copy your unique affiliate link.

min_deposit
max_deposit_period
min_initial_deposit_ratio
voting_period
quorum
threshold
veto_threshold
burn_vote_veto
burn_vote_quorum
burn_proposal_deposit_prevote
expedited_threshold
expedited_voting_period
max_short_term_orders_per_n_blocks
max_stateful_orders_per_n_blocks
max_short_term_order_cancellations_per_n_blocks
short_term_order_equity_tiers
stateful_order_equity_tiers
Clob pair
here
market pair
Instant Market Listings
Relevant Links
Relevant Data Sources and Dashboards
upgrading
LogoGov Overview | Cosmos SDK
maxMissed = signed_blocks_window - min_signed_per_window * signed_blocks_window
message MsgUnjail {
string validator_addr = 1;
}
funding_rate_clamp_factor_ppm
premium_vote_clamp_factor_ppm
min_num_votes_per_sample
funding-sample
funding-tick
stats-epoch
max_liquidation_fee_ppm
position_block_limits
min_position_notional_liquidated
max_position_portion_liquidated_ppm
subaccount_block_limits
max_notional_liquidated
max_quantums_insurance_lost
fillable_price_config
bankruptcy_adjustment_ppm
spread_to_maintenance_margin_ratio_ppm
id
pair
exponent
min_exchanges
min_price_change_ppm
exchange_config_json
Large-Cap
Small-Cap
Long-Tail
Safety
NewVaultDepositAmount
MainVaultDepositAmount
NumBlocksToLockShares
Staking Tombstone
here
here
dashboard
elected
https://dydx.trade/
MegaVault
dYdX
MegaVault’s
the overview and FAQ of MegaVault
The dYdX Affiliate Program
elected
Kuyen Labs
here
Affiliate page

Title

Value

Definition

8192

~ 3 hours 11 minutes

(assuming 1.4s block time)

The window in terms of the number of blocks for which a validator's signing activity is monitored.

0.2

The minimum of blocks in the signed_blocks_window that a validator must sign to avoid being jailed.

7200s

2 hours

The length of time a validator is temporarily removed from the Active Set.

0.0

The fraction of a validator's staked tokens that will be slashed in the event of a double signing violation.

0.0

The fraction a validator will be slashed by if they miss a fraction (min_signed_per_window) of blocks within a sliding window (signed_blocks_window).

Governance Adjustable Parameters

An overview of parameters that are not covered in other sections of the governance documentation and are adjustable through a dYdX Chain governance Parameter Change Proposals.

This documentation is divided into the following subsections:

Fee Tiers

Fee Tiers Module

The fee tier structure has the following characteristics:

  1. different fees for either maker or taker,

  2. fee discounts based on each user’s 30 days trading volume across sub accounts and markets, and

  3. uniform fee structure across all markets.

dYdX Treasury SubDAO

dYdX Operations SubDAO

The dYdX Operations SubDAO ("DOS") was established to operate and enhance the infrastructure for dYdX Chain, prioritizing reliability, scalability, and community engagement.

dYdX Ecosystem Development Program

The dYdX Ecosystem Development Program ("DEP" fka "dYdX Grants Program") was established to source partnerships and provide funding for third parties that help support dYdX's infrastructure, services, protocol development, and growth.

Relevant Links

dYdX Chain Open-source Code

Milestones

Deep Dives

MEV

Relevant Data Sources and Dashboards

Lenses by Numia

This all-in-one dashboard contains important metrics of dYdX Chain, all information are downloadable in .csv format.

Mintscan by Cosmostation

This block explorer provides information on individual transactions as well as overall chain metrics on dYdX Chain.

dYdX Chain Risk Monitoring Portal by Chaos Labs

This dashboard contains important trading and risk assessment metrics on dYdX Chain. It also features a dynamic leaderboard that offers real-time tracking and visibility into traders' points, providing transparency and clarity regarding their positions in the Launch Incentives Program.

Observatory by Rockaway Labs

This dashboard provides complete validator and chain performance metrics on dYdX Chain.

Validator Info by Allnodes

This dashboard contains real-time validator status and simplified information on validator performance on dYdX Chain.

dYdX Chain Indexer

The Indexer is a read-only collection of services that indexes and serves blockchain data to end users more efficiently and web2-friendly. It consumes real-time data from a dYdX Chain full node, stores it in a database, and serves that data through a web socket and REST requests to end users.

: this section covers the trading statistics look-back window.

: this section covers the tiers of fees and discounts for each trader on dYdX Chain, based on their taker and maker volume.

: this section covers the core aspects of trading, namely insurance fund and liquidations config. The insurance fund acts as the first backstop to maintain systemic solvency when an account has a negative balance. The liquidations config defines the mechanism to close an account’s position when it falls below the margin requirements.

: this section covers the Prices module (x/prices) parameters on dYdX Chain as well as the liquidity tier of each market based on standardized risk parameters.

: this section covers the Perpetual module (x/perpetuals) parameters on dYdX Chain, such as funding rate and epoch information. The perpetual funding rate enables the perpetual price to align with the underlying asset's price. Epoch information is a fixed interval where funding is credited or debited to each account.

: this section covers the Clob module (x/clob) that configures the order creation, placement, and cancellations on dYdX Chain.

: this section explains the message required to update a live market on dYdX Chain.

: this section explains the safety parameters on dYdX Chain, namely the spam mitigation that is related to order creation and cancellation using the Clob module.

The current on dYdX Chain was developed to stimulate liquidity, incentivize traders with substantial volume and contribute to the platform's overall growth and competitiveness.

Tier

Absolute_volume_requirement

[30 day Trailing Volume]

Total_volume_share_requirement_ppm

[Exchange Market Share]

Maker_volume_share_requirement_ppm

[Maker Market Share]

maker_fee_ppm

[Maker Fee (bps)]

Taker_fee_ppm

[Taker Fee (bps)]

0 [< $1M]

0 [-]

0 [-]

100 [1.0]

500 [5.0]

1000000000000 [≄ $1M]

0 [-]

0 [-]

100 [1.0]

450 [4.5]

5000000000000 [≄ $5M]

0 [-]

0 [-]

50 [0.5]

400 [4.0]

25000000000000 [≄ $25M]

0 [-]

0 [-]

0 [-]

350 [3.5]

125000000000000 [≄ $125M]

0 [-]

0 [-]

0 [-]

300 [3.0]

125000000000000 [≄ $125M]

5000 [≄ 0.5%]

0 [-]

-50 [-0.5]

250 [2.5]

125000000000000 [≄ $125M]

5000 [≄ 0.5%]

10000 [≄ 1%]

-70 [-0.7]

250 [2.5]

125000000000000 [≄ $125M]

5000 [≄ 0.5%]

20000 [≄ 2%]

-90 [-0.9]

250 [2.5]

125000000000000 [≄ $125M]

5000 [≄ 0.5%]

40000 [≄ 4%]

-110 [-1.1]

250 [2.5]

This fee tier was at block height 6,912,000.

The dYdX Treasury SubDAO was established to handle key financial responsibilities for the dYdX DAO, including but not limited to, forming a Cayman Foundation and multisig for tax and legal certainty, developing a staking program to support dYdX Chain validators, diversifying assets received from the and generating returns to ensure adequate runway, and providing financial planning, funding and operational support for the dYdX DAO.

More information about the dYdX Treasury SubDAO can be found .

More information about DOS can be found .

More information on the DEP can be found .

- release of the completed, audited and open-sourced dYdX Chain software.

- Validator and indexer code, protobuf definitions, scripts to generate Python and Javascript libraries using Telescope

- Shared client business logic used across both web and mobile

- The web front end for the dYdX Chain

- Python and Javascript SDK clients

- Translations for all copy across the web and mobile apps

- dYdX Chain documentation

- Coordination repos for previous testnets

- Terraform for indexer deployments, metrics ingestor, indexer dashboards and monitors

signed_blocks_window
min_signed_per_window
downtime_jail_duration
slash_fraction_double_sign
slash_fraction_downtime
Trading Stats
Fee Tiers
Trading Core
Markets
Perpetual
Clob
Updating A Live Market
Safety
fee tier structure
implemented
Community Treasury
here
here
here
dYdX Chain open source software
v4-chain
v4-abacus
v4-web
v4-clients
v4-localization
v4-documentation
v4-testnets
v4-infrastructure
https://dydx.exchange/blog/why-decentralization-matters
https://dydx.exchange/blog/v4-milestone-3-is-complete
https://dydx.exchange/blog/v4-milestone-2-is-complete
https://dydx.exchange/blog/v4-milestones
https://dydx.exchange/blog/v4-ama-with-antonio
https://dydx.exchange/blog/v4-full-decentralization
Public Testnet (v4 Milestone 4 is Complete)
Public Testnet Update
v4 Deep Dive: Technical Architecture
v4 Deep Dive: Indexer
v4 Deep Dive: Front End
v4 Deep Dive: Governance
Governance Functionality
v4 Deep Dive: Rewards and Parameters
Distinguishing MEV from Expected Noise
An update on MEV - Catching a Bad Validator
dYdX V4 & MEV
1
2
3
4
5
6
7
8
9
Trading Volume
Trading Metrics
Staking Metrics
Fees & Rewards
Liquidations
Onchain Metrics
APR
Positions
Leaderboard
Validators
Chain Performance
MEV
Jailed Validators
Validators with Issues
Indexer Client
Indexer API

Community Treasury

An overview of the dYdX Chain Community Treasury.

Overview

The Community Treasury was created with the following objectives:

  • Fund programs and initiatives that drive the growth of dYdX.

  • Develop grant programs to fund community hackathons, analytics dashboards, swag, third-party tools, translations, and other projects.

  • Develop a best-in-class governance system and incentivize robust governance.

Module Accounts

Name
Address

community_treasury

dydx15ztc7xy42tn2ukkc0qjthkucw9ac63pgp70urn

community_vester

dydx1wxje320an3karyc6mjw4zghs300dmrjkwn7xtk

Vest Module

Field name

Description

The account to vest tokens from

The account to vest tokens to

The token that is vested

The start time of vesting

The end time of vesting

Value

community_vester

community_treasury

adydx

2021-08-03T15:00:00Z

2026-08-03T15:00:00Z

Account

dydx1wxje320an3karyc6mjw4zghs300dmrjkwn7xtk

dydx15ztc7xy42tn2ukkc0qjthkucw9ac63pgp70urn

Community Treasury

Currently, 26.1% of the total token supply of DYDX, which amounts to 261,133,225 $DYDX, is allocated to the Community Treasury. This allocation is designed to sustainably support contributor grants, community initiatives, liquidity mining, and other assorted programs.

    • Epoch 30: 383,562 $DYDX

    • Epoch 31: 191,781 $DYDX

    • Epoch 32: 0 $DYDX

    After Epoch 31, there will not be any Liquidity Provider Rewards on dYdX v3. In DIP 29, the dYdX community voted to reduce Trading Rewards by ā…“ from Epoch 30-32 on dYdX v3, however the remaining allocation of Trading Rewards was migrated to the dYdX Chain for Trading Rewards.

Community Vester

FAQ

How to Submit a Community Spending Proposal?

Any dYdX community member with enough unstaked DYDX tokens to satisfy the min_initial_deposit_ratio may submit a Community Spending proposal on dYdX Chain. A governance vote will be required to spend any DYDX from the Community Treasury.

How does DYDX vest from the Community Vester to the Community Treasury?

The Vest Module allows the vesting process to happen on the dYdX Chain. The module is responsible for determining the rate of tokens that vest from Vester Accounts to other accounts such as a community_treasury and a rewards_treasury. The rate of token transfers is linear with respect to time. Thus, block timestamps are used to vest tokens.

The dYdX Community through a governance vote has the ability to create, update, or delete vest_entries through a governance vote.

Based on the start_time and end_time, DYDX will vest from the Community Vester to the Community Treasury at approximately ~2.04 DYDX per second.

What types of proposals can be submitted to the Community Treasury?

A community-managed treasury opens up a world of possibilities. We hope to see various experiments and initiatives, including ecosystem grants, which can foster dYdX Chain's ecosystem growth.

The is a community-controlled module account on dYdX Chain. DYDX will vest to the Community Treasury on a continuous basis until August 3, 2026. Any dYdX community member satisfying the can submit a Community Spending proposal to spend DYDX in the Community Treasury.

Initially,5.0% of the token supply (50,000,000 $DYDX) was to the Community Treasury, and 766,703 $DYDX vests in the community treasury each epoch. Currently, 3,787,251 $DYDX vest in the community treasury because several governance proposals resulted in a 3,020,548 $DYDX increase in the amount of $DYDX available to the dYdX community each epoch:

- set the rewards for staking USDC to 0 (383,562 $DYDX per epoch),

- reduce trading rewards by 25% (958,904 $DYDX per epoch),

- set the rewards for staking $DYDX to 0 (383,562 $DYDX per epoch),

- further reduce trading rewards by 45% (1,294,520 $DYDX per epoch), and

- reduce Liquidity Provider Rewards by 50% (575,342 $DYDX per epoch).

- reduce Liquidity Provider Rewards by ā…“ from Epoch 30-32 on dYdX v3 to the following values:

In on dYdX v3, the dYdX community also voted to migrate 40,703,630 vested $DYDX from the Rewards Treasury and 39,788,640 vested $DYDX from the Community Treasury to the dYdX Chain Community Treasury. In addition to the 80,492,270 DYDX from the dYdX v3 Rewards Treasury and Community Treasury, DYDX vests every second from the community_vester to the community_treasury.

In on the dYdX Chain, the dYdX community voted to credit the dYdX Community Vester with 172,762,268.210688518 unvested DYDX tokens based on the balance of the dYdX v3 and the dYdX v3 , less the DYDX that was sent to the dYdX Chain Rewards Vester for Trading Rewards.

To submit a proposal, please follow the steps laid out on the . The main inputs for a Community Spending Proposal are (1) the number of DYDX and (2) the recipient address.

Community Treasury
min_initial_deposit_ratio
allocated
DIP 14
DIP 16
DIP 17
DIP 20
DIP 24
DIP 29
DIP 29
DIP 2
Community Treasury Vester
Rewards Treasury Vester
Proposal Lifecycle
vester_account
treasury_account
denom
start_time
end_time

Trading Stats

Stats Module

The Stats Module tracks user maker and taker volumes over a period of time (aka look-back window). This is currently set to 30 days. The maker and taker volume info is used to place users in corresponding fee-tiers.

Title
Value
Definition

2592000s

30 days

The desired number of seconds in the look-back window.

window_duration

MegaVault

MegaVault is a user-facing feature that enables dYdX users to add USDC to provide liquidity to various markets, and earn yield in return. By aggregating liquidity from users, MegaVault ensures that every market maintains the necessary liquidity for smooth and efficient trading.

Vault Mechanics

At a technical level, MegaVault will operate multiple ā€œsub-vaults.ā€ A sub-vault uses users' USDC to run an automated market-making strategy for a given market. Users' USDC is allocated to these sub-vaults, and the yield they generate is aggregated and distributed to users who added USDC to MegaVault.

Adding and Removing Funds

Users can add funds into MegaVault at any time and start earning yield immediately. At a high level, users can think of adding funds as owning a percentage of the vault’s net equity (i.e., the vault’s USDC and position values).

Operator

For MegaVault to work effectively, it requires a dedicated operator to configure and optimize settings across all sub-vaults continuously. This includes spread parameters, skew factors, and liquidity allocation weights determining how capital is deployed across markets. The operator must monitor market and vault activity and maintain these settings in real-time to ensure optimal market efficiency while protecting vault depositor returns.

How to Add USDC into MegaVault

1. Visit dYdX

2. Connect Your Wallet

3. Select USDC Amount

Enter the amount of USDC you wish to add to MegaVault. Choose an amount that aligns with your investment strategy and risk tolerance.

4. Approve and Confirm the Transaction

Approve the transaction through your wallet by signing and confirming it. Ensure you have enough funds to cover the gas fees associated with the deposit.

5. USDC is added into MegaVault

Once approved, your USDC will be added to MegaVault and start earning yield immediately.

6. Generate Passive Income

8. Remove USDC Anytime

FAQ

Where does MegaVault yield come from?
Will I receive the MegaVault APR shown in the front-end?

The APR is an estimated representation of annualized returns based on past performance which fluctuates significantly. Increases in MegaVault TVL will likely lead to reductions in APR as more users share the protocol revenue received by MegaVault.

For example, if protocol revenue is $10 and MegaVault has a TVL of $50, MegaVault's APR will be 20% (10/50*100%) . However, if the TVL increases to $100 and the $10 revenue remains unchanged, MegaVault's APR will reduce to 10% (20/100*100%).

The APR reflects MegaVault's past 30-day performance and is not an indicator of future performance. Performance is defined as PnL, protocol fees, and any other incentives provided by the community. MegaVault's performance depends on many factors that are outside of the protocol’s control. MegaVault has no track record, and any historical performance is not indicative of future performance or actual results.

Megavault returns are also only paid out once funds are removed and are subject to slippage (discussed below), so actual returns over the period the funds are in MegaVault may vary significantly from the estimated APR shown at the time the funds were added.

How is MegaVault APR calculated?

The APR shown on the UI is calculated by taking MegaVault’s total returns over the past 30 days (or a lesser period if 30-day data is not available, such as the first month of MegaVault’s operation) and multiplying it by 365/30 (i.e., ~12) to estimate the yearly return. In the initial month of the MegaVault, for example, the APR will reflect returns during the few days the MegaVault has been operational, extrapolated to the next 12 months.

The APR is calculated as follows:

  1. If there is 30 days of data for MegaVault:

(30 day PnL/current TVL) * (365/30) 
  1. If there is less than 30 days of data for MegaVault:

(total PnL/current TVL) * (365/number of days for which data was available) 

Where,30-day PnL is calculated as follows:

current PnL of MegaVault - previous PnL of MegaVault at the beginning of the 30 period  

Current TVL is calculated as follows:

the sum of all USDC held by MegaVault + current value of all positions held by MegaVault 

The current value of all positions held by MegaVault is calculated by summing the value of each position.

The value of each position held by MegaVault is calculated as follows:

size of position * oracle price 

PnL of MegaVault is calculated by summing (i) the profit or loss on each position held by MegaVault; (ii) the protocol fee revenue paid to MegaVault; (iii) funding rate payments made to MegaVault; and (iv) other protocol incentives paid to MegaVault.

total PnL is calculated as follows:

current PnL of MegaVault - previous PnL of MegaVault at the beginning of the period 
Can you lose money by adding funds to MegaVault?

Yes. MegaVault is designed to support the protocol and not maximize returns. MegaVault’s positions may have negative trading PnL, and those losses could outweigh returns from protocol fee sharing or other sources of return.

MegaVault takes automated positions in the associated protocol and, therefore, is not a source of guaranteed positive yield. Yield depends on many factors, including market conditions, vault positions, etc.

For example, if the vault strategy has a long position in a particular market and that market’s price drops, then the value of the vault position will decrease. In this example, the user’s percent ownership of the vault remains the same (assuming no new vault entrants), but the value of the ownership decreases. Thereafter, new entrants to the vault may buy vault ownership at lower vault values and dilute existing vault owners’ claim on future fees, or future vault PnL.

When I add funds to MegaVault, where is it taken from?

MegaVault will use cross-margined funds. Thus, when you add funds to MegaVault position while having any cross-positions open, your cross margin usage will increase.

Who will custody my MegaVault position?

You. When you add funds to MegaVault, you maintain control over your funds via the private keys associated with your wallet address. The funds you add to MegaVault will automatically participate in MegaVault trading strategies, but only you can remove your funds and access your USDC.

Can anyone add funds to MegaVault?
Can my position be diluted?

Yes, the number of users who may participate and the amount of funds they add to MegaVault is unlimited and each addition of funds will dilute the proportion of fee revenue and PnL attributed.

For example, if protocol revenue is $10 and MegaVault has a TVL of $50 from two users, Alice ($40) and Bob ($10):

  • Alice will receive 80% of MegaVault future revenues (i.e. $8), and

  • Bob will receive 20% of future revenues (i.e. $2).

However, if protocol revenue is unchanged at $10 and instead TVL is increased to $100 from three users, Alice ($40), Bob ($10), and Carl ($50), Alice will receive 40% of revenues (i.e. $4), Bob will receive 10% of revenues (i.e. $1), and Carl will receive 50% of revenues (i.e. $5).

Why would withdrawals incur slippage?

When withdrawing from MegaVault, ā€œslippageā€ can occur due to increased leverage from collateral outflows or the need to close positions to cover withdrawal outflows.

When funds are removed, MegaVault updates traded positions and frees up assets to meet your request. Removing funds reduces the amount of collateral MegaVault holds for each sub-vault position traded and increases MegaVault's leverage. The slippage fee is in proportion to how much funds removal increases the MegaVault leverage. An estimate of the slippage amount is shown on the UI. Slippage rates can be low and may be very high. MegaVault does not provide the ability to set the slippage level when removing funds. There are no hard limits on the leverage MegaVault assumes.

The greater the impact of funds removal on MegaVault leverage, the greater your slippage fee.

For example, assume the following in each of the below scenarios:

  • MegaVault has a TVL of $100k

  • MegaVault users A, B, and C each hold $50k, $30k, and $20k, respectively.

  1. Scenario 1 (low leverage): MegaVault has not assumed any leverage and all assets are in an idle sub-vault.

    • A removes $50k, A would pay a 0% slippage fee and receive $50k

    • Subsequently, B removes $30k, B would pay a 0% slippage fee and receive $30k

    • C is the final party to remove funds, C removes $20k, pays a 0% slippage fee, and receives $20k

  2. Scenario 2 (medium leverage): MegaVault has one isolated margin sub-vault position with 1x leverage, and no balance in the main vault. The isolated margin market has an initial margin fraction of 10% and a maintenance margin fraction of 50%. The sub-vault has quoting parameters of a half-spread of 30bps and a skew of 2.

    • A removes $50k, A would pay a 4.9% slippage fee and receive $47,550

    • Subsequently, B removes $30k, B would pay a 19.06% slippage fee and receive $24,280.26

    • C is the final party to remove funds, C removes $20k and would pay a 35.5% slippage fee and receive $12,900.18.

  3. Scenario 3 (high leverage): MegaVault has one isolated margin sub-vault position with 8x leverage and a balance in the main vault. The isolated margin market has an initial margin fraction of 20% and a maintenance margin fraction of 10%. The sub-vault has quoting parameters of a half-spread of 30bps and a skew of 2.

    • A removes $50k, A would pay a 100% slippage fee and receive $0

    • Subsequently, B removes $30k, B would pay a 100% slippage fee and receive $0

    • C is the final party to remove funds, C removes $20k and would pay a 100% slippage fee and receive $0

Will users be able to directly interact with sub-vaults?

Currently, users cannot directly deposit into or withdraw from specific sub-vaults.

How does MegaVault keep track of user’s positions?

MegaVault keeps track of the proportion of MegaVault held by each user. Below is an example of how MegaVault does this.

Example Sequence of Events

Event #1: MegaVault has a total of 0 and Alice adds $90.

Results After #1:

  • MegaVault total : $90

  • Ownership

    • Alice: 100%

  • Pre-slippage position

    • Alice: $90

Event #2: Bob adds $10.

Results After #2:

  • MegaVault total: $100

  • Ownerships

    • Alice: 90%

    • Bob: 10%

  • Pre-slippage positions

    • Alice: $90

    • Bob: $10

Event #3: MegaVault receives $10 from protocol revenue share

Results After #3:

  • MegaVault total: $110

  • Ownerships

    • Alice: 90%

    • Bob: 10%

  • Pre-slippage positions

    • Alice: $99

    • Bob: $11

Event #4: A sub-vault’s equity decreases by $20

Results After #4:

  • MegaVault total: $90

  • Ownerships

    • Alice: 90%

    • Bob: 10%

  • Pre-slippage positions

    • Alice: $81

    • Bob: $9

Event #5: Carl adds $10

Results After #5:

  • MegaVault total: $100

  • Ownerships

    • Alice: 81%

    • Bob: 9%

    • Carl: 10%

  • Pre-slippage positions

    • Alice: $81

    • Bob: $9

    • Carl: $10

Trading Rewards and Rewards Module

An overview of Trading Rewards and the Rewards Module.

Overview

Trading Rewards are distributed to users who trade on dYdX Chain based on the Trading Rewards formula. The objective of Trading Rewards is to (1) incentivize all traders to use the dYdX Chain and (2) accelerate market liquidity and overall product usage.

Parameters

Module Accounts

Vest Module

Rewards Vester

Rewards Treasury

Trading Rewards Formula

FAQ

How does DYDX vest from the Rewards Vester to the Rewards Treasury?

The Vest Module allows the vesting process to happen on the dYdX Chain. The module is responsible for determining the rate of tokens that vest from Vester Accounts to other accounts such as a community_treasury and a rewards_treasury. The rate of token transfers is linear with respect to time. Thus, block timestamps are used to vest tokens.

The dYdX Community through a governance vote has the ability to create, update, or delete vest_entries through a governance vote.

Based on the start_time and end_time, DYDX will vest from the Rewards Vester to the Rewards Treasury at approximately ~0.64 DYDX per second.

How much DYDX will I earn in Trading Rewards?
Can the dYdX community change the Trader Rewards formula?

Yes, the Trading Rewards formula can be modified by the dYdX community through a dYdX Chain Software Upgrade Proposal. If the dYdX community wishes to change any of the parameters outlined in the Parameters section above, e.g. the fee_multiplier_ppm, it can be done through a dYdX Chain Parameter Change Proposal.

How much Trading Rewards will be distributed?

The dYdX community could choose to transfer more vested DYDX from the dYdX Chain Community Treasury to the Rewards Vester through a Community Spend Proposal, e.g. to increase trading rewards in the future.

Except in the case of , users will be able to remove funds from MegaVault at any time after adding them, though they may experience slippage based on MegaVault’s status, positions, and market conditions.

On November 21, 2024, dYdX community as MegaVault's operator, granting it the ability to update the parameters mentioned above.

Navigate to to access the MegaVault page.

To interact with , connect a compatible wallet such as MetaMask, Coinbase Wallet, OKX Wallet, Keplr, or many others.

With your USDC added, begins automated market-making activities. You’ll earn a share of the profits from MegaVault’s operations and a portion of protocol revenue. Your earnings are added to your initial balance.

MegaVault has no lock-up periods. Adding and removing USDC are instant. Visit the to remove your funds whenever you like.

Currently, MegaVault yield comes from profit & loss on vault positions, funding rate payments, and 50% trading fee revenue share (as by the dYdX community on November 15, 2024). This trading fee revenue share can be adjusted by dYdX community anytime via dYdX Chain governance.

No. If you reside in, are located in, or have a registered office in the United States, Canada, or any other prohibited jurisdiction, you may not add funds to MegaVault. dYdX open-source software is not permitted to be deployed or accessed by users in certain prohibited jurisdictions, and detailed information can be found .

Title
Value
Definition
Module
Name
Address

In on the dYdX Chain, the dYdX community voted to credit the dYdX Chain Rewards Vester with 54,077,073 unvested DYDX tokens based on the remaining for Trading Rewards from on dYdX v3.

DYDX vests every second from the to the . At the end of a given block vested DYDX (Trading Rewards) will be automatically distributed to a trader’s dYdX Chain account to maintain consistency and transparency.

More information on the trading rewards formula can be found .

This provides a comprehensive explanation of how the trading rewards formula differs between makers and takers.

Immediately following the execution of each trade, the dYdX Chain protocol calculates the projected amount of trading rewards related to such trade. The user interface displays the maximum potential rewards for a given trade size before the trade occurs. It's important to note that users can accumulate trading rewards from 0-100% of the net trading fees of a fill, paid in DYDX, but not exceeding this limit.

In on the dYdX Chain, the dYdX community voted to credit the dYdX Chain Rewards Vester with 54,077,073 unvested DYDX tokens based on the remaining for Trading Rewards from on dYdX v3.

Instant Market Listings
elected
Greave
dydx.trade/vault
MegaVault
MegaVault
MegaVault page
approved
here

x/rewards

`rewards_treasury`

dydx16wrau2x4tsg033xfrrdpae6kxfn9kyuerr5jjp

x/rewards

`rewards_vester`

dydx1ltyc6y4skclzafvpznpt2qjwmfwgsndp458rmp

DIP 2
allocation
DIP 29
Rewards Treasury Vester
Rewards Treasury
here
page
dydx.trade
DIP 2
allocation
DIP 29

rewards_treasury

The account which Trading Rewards are funded from

adydx

The token that Trading Rewards are funded in

-18

The decimals of the Trading Rewards token

1000001

The market which tracks the oracle price of the token that Trading Rewards are funded in

0.50

The protocol constant ā€œ Cā€ for the Trading Rewards

Field Name

Description

The account to vest tokens from

The account to vest tokens to

The token that is vested

The start time of vesting

The end time of vesting

Value

rewards_vester

rewards_treasury

adydx

2021-08-03T15:00:00Z

2026-08-03T15:00:00Z

Account

dydx1ltyc6y4skclzafvpznpt2qjwmfwgsndp458rmp

dydx16wrau2x4tsg033xfrrdpae6kxfn9kyuerr5jjp

Visual representation of the rewards distribution on dYdX

treasury_account
denom
denom_exponent
market_id
fee_multiplier_ppm
vester_account
treasury_account
denom
start_time
end_time