Propose a network parameter change
Network parameters are a constant (or an array of constants) in the system, the values of which can be changed by on-chain governance.
This page describes what you need to propose a change to a network parameter, and provides proposal templates that you will need to edit before submitting.
Requirements
You will need:
- A connected Vega wallet, with your wallet name and public key to hand
- A minimum of whichever is larger, associated with that public key: 👀1 token or 👀1 token
- Familiarity with governance on Vega, particularly network parameter governance
Templates and submitting
In the tabs below you'll see an annotated example, which describes what each field is for, a JSON example that can be used to submit on the governance dApp, and command line examples for different operating systems. You'll need to replace the example data with the relevant details before submitting. Voting and enacting
- Annotated example
- Governance dApp (JSON)
- Command line (Linux / OSX)
- Command line (Windows)
{
rationale: {
title: "Update market.fee.factors.infrastructureFee",
description: "Proposal to update market.fee.factors.infrastructureFee to 300}"
},
terms: {
updateNetworkParameter: {
changes: {
// The unique key (string)
key: "market.fee.factors.infrastructureFee",
// The value for the network parameter (string)
value: "300"
}
},
// Timestamp (Unix time in seconds) when voting closes for this proposal,
// constrained by `minClose` and `maxClose` network parameters (int64 as string)
closingTimestamp: 1680534013000,
// Timestamp (Unix time in seconds) when proposal gets enacted (if passed),
// constrained by `minEnact` and `maxEnact` network parameters (int64 as string)
enactmentTimestamp: 1680620413000,
}
}
- Copy the JSON example below into a text editor.
- Replace the placeholder values with those you want for the market.
- Submit your proposal from the New Proposal area of the governance dApp.
- Check you can see your proposal on Open Proposals area of the governance dApp.
{
"rationale": {
"title": "Update market.fee.factors.infrastructureFee",
"description": "Proposal to update market.fee.factors.infrastructureFee to 300}"
},
"terms": {
"updateNetworkParameter": {
"changes": {
"key": "market.fee.factors.infrastructureFee",
"value": "300"
}
},
"closingTimestamp": 1680534013000,
"enactmentTimestamp": 1680620413000
}
}
- Copy the command line example below into a text editor.
- Replace the placeholder values with those you want in the proposal.
- Use the command line to submit your proposal.
- Check you can see your proposal on Open Proposals area of the governance dApp.
./vegawallet transaction send --wallet your_walletname --pubkey your_public_key --network fairground '{
"proposalSubmission": {
"rationale": {
"title": "Update market.fee.factors.infrastructureFee",
"description": "Proposal to update market.fee.factors.infrastructureFee to 300}"
},
"terms": {
"updateNetworkParameter": {
"changes": {
"key": "market.fee.factors.infrastructureFee",
"value": "300"
}
},
"closingTimestamp": 1680534013000,
"enactmentTimestamp": 1680620413000
}
}
}'
- Copy the command line example below into a text editor.
- Replace the placeholder values with those you want in the proposal.
- Use the command line to submit your proposal.
- Check you can see your proposal on Open Proposals area of the governance dApp.
vegawallet.exe transaction send --wallet your_walletname --pubkey your_public_key --network fairground ^
"{^
\"proposalSubmission\": {^
\"rationale\": {^
\"title\": \"Update market.fee.factors.infrastructureFee\",^
\"description\": \"Proposal to update market.fee.factors.infrastructureFee to 300}\"^
},^
\"terms\": {^
\"updateNetworkParameter\": {^
\"changes\": {^
\"key\": \"market.fee.factors.infrastructureFee\",^
\"value\": \"300\"^
}^
},^
\"closingTimestamp\": 1680534013000,^
\"enactmentTimestamp\": 1680620413000^
}^
}^
}"
Voting and enactment
All proposals are voted on by the community. To vote, community members need, at a minimum, the larger of 👀more than 0 tokens, or 👀1 token associated with their Vega key.
Your proposal will need participation of 👀30% and a majority of 👀50%, so having community support is essential. If successful, the proposal will be enacted at the time you specify in the enactmentTimestamp
field.
Building support is down to you. Share your proposal in the Network Parameter Proposals forum ↗ on Vega community, being sure to follow the post guide ↗. You may also wish to share on Discord ↗.
Proposers who invite feedback, engage with comments, and make revisions to meet the needs of the community are more likely to be successful.