Skip to main content
Version: pre-release (v0.79)

Enable or replace maker rebate program

When a high-volume maker rebate program is enabled, market makers can receive a rebate of a portion of their paid fees. The higher their maker volume across all markets over the program's window length, the greater the rebate that makers can receive.

The program needs to be enabled by governance. Once it's enabled, both the requirements and the benefits can also be replaced with a new program.

This page describes what you need to propose enabling or replacing the program, and provides example proposal templates that you will need to edit before sharing and submitting.

Requirements

You will need:

  • A connected Vega wallet, with your wallet name and public key to hand
  • A minimum of the value set in the following network parameters. You need whichever amount is larger associated with that public key: governance.proposal.VolumeRebateProgram.minProposerBalance or spam.protection.proposal.min.tokens.
  • Familiarity with governance

Anatomy of a maker rebate program proposal

The fields below all need to be defined to enable the program or replace an existing one.

If you are suggesting a replacement program, you'll need to include all the fields, even if you don't want to change their values. Just use the existing values from the current maker rebate program program.

End of program timestamp: Date and time after which, when the current epoch ends, the program will end and rebates will be disabled.

Window length: Number of epochs over which to evaluate each participant's volume of maker trades across all markets.

To end an existing program early, set your proposal up with the exact same parameters. Set the end of program timestamp to be the same as the proposal's enactment timestamp.

Benefit tier fields

Benefit tier fieldDescriptionAccepted values
benefitTiersList of values defining the rebate factors for the programHolds the details of each tier of rebates, listed below. Maximum of volumeRebateProgram.maxBenefitTiers tiers
minimumPartyMakerVolumeFractionTo access this tier, the required percentage of trading volume, across all markets, that a party was the maker for, in the window length. This is expresssed as a fraction.Greater than 0 and up to 1, inclusive
additionalMakerRebateAdditional fraction of fees a party will receive as a rebate when they are on the maker side of a trade.Greater than 0 and up to 1, inclusive

Submitting proposals in a batch

If you want to submit this proposal as part of a larger batch of proposals, follow this sample structure:

{
"batchProposalSubmission": {
"rationale": {
"title": "High level title",
"description": "Description of all parts of this batch of proposals"
},
"terms": {
"closingTimestamp": "123",
"changes": [
{
"enactmentTimestamp": 123,
"cancelTransfer": {
"changes": {
"transferId": "345"
}
}
},
{
"enactmentTimestamp": 123,
"cancelTransfer": {
"changes": {
"transferId": "789"
}
}
}
]
}
}
}

Templates and submitting

Below you will find:

  • JSON example that can be submitted with the governance dApp ↗
  • Command line examples for different operating systems
  1. Copy the JSON example below into a text editor.
  2. Replace the placeholder values with those you want for the market.
  3. Tip: Use markdown formatting in your proposal's rationale to make for easier community review.
{
"proposalSubmission": {
"rationale": {
"title": "Maker volume rebate proposal title",
"description": "This enacts or replaces the maker volume rebate program"
},
"terms": {
"UpdateVolumeRebateProgram": {
"changes": {
"endOfProgramTimestamp": 1234567890,

"window_length": 11,
"benefitTiers": [
{
"minimumPartyMakerVolumeFraction": "10000",
"additionalMakerRebate": "0.002"
},
{
"minimumPartyMakerVolumeFraction": "10198",
"additionalMakerRebate": "0.098"
}
],
}
},
"closingTimestamp": 1111111111,
"enactmentTimestamp": 1111111155
}
}
}

Voting

To vote, participants need, at a minimum, the larger of the value of the following network parameters: governance.proposal.VolumeRebateProgram.minVoterBalance or spam.protection.voting.min.tokens associated to their Vega key.

A proposal will need participation of at least the value of the network parameter governance.proposal.VolumeRebateProgram.requiredParticipation and a majority that's the value of the network parameter governance.proposal.VolumeRebateProgram.requiredMajority.

Enactment

If successful, the program changes will go live in the epoch following the time you specify in the enactmentTimestamp field.