Create a freeform proposal
Freeform proposals allow the community to propose and vote on matters which don't change any of the behaviour of the currently running Vega blockchain.
At enactment time, no changes are effected on the system, but the record of how token holders voted will be stored on chain.
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: 🔗governance.proposal.freeform.minProposerBalance (🔗20000 tokens) or 🔗spam.protection.proposal.min.tokens (🔗2000 tokens)
- Familiarity with governance on Vega
You should also share your proposal idea in the Freeform Proposals forum section ↗ before submitting it to the network.
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
In the tabs below you'll see:
- Annotated example describing what each field is for
- JSON example that can be submitted with the governance dApp ↗
- Command line examples for different operating systems
Replace the example data with the relevant details.
- Annotated example
- Governance dApp (JSON)
- Command line (Linux / OSX)
- Command line (Windows)
{
rationale: {
title: "An example freeform proposal",
description: "I propose that everyone evaluate the following IPFS document and vote Yes if they agree. [bafybeigwwctpv37xdcwacqxvekr6e4kaemqsrv34em6glkbiceo3fcy4si](https://dweb.link/ipfs/bafybeigwwctpv37xdcwacqxvekr6e4kaemqsrv34em6glkbiceo3fcy4si)"
}
},
terms: {
newFreeform: {
// This object remains empty, but is required
},
// Timestamp as Unix time in seconds when voting closes for this proposal,
// constrained by `minClose` and `maxClose` network parameters. (int64 as string})
closingTimestamp: 1710091024,
}
}
- Copy the JSON example below into a text editor.
- Replace the placeholder values with those you want for the market.
- Tip: Use markdown formatting in your proposal's rationale to make for easier community review.
- Submit your proposal on the governance dApp ↗.
- Check you can see your proposal under Open Proposals on the governance dApp ↗.
{
"rationale": {
"title": "An example freeform proposal",
"description": "I propose that everyone evaluate the following IPFS document and vote Yes if they agree. [bafybeigwwctpv37xdcwacqxvekr6e4kaemqsrv34em6glkbiceo3fcy4si](https://dweb.link/ipfs/bafybeigwwctpv37xdcwacqxvekr6e4kaemqsrv34em6glkbiceo3fcy4si)"
},
"terms": {
"newFreeform": {},
"closingTimestamp": 1710091024
}
}
- Copy the command line example below into a text editor.
- Replace the placeholder values with those you want in the proposal.
- Tip: Use markdown formatting in your proposal's rationale to make for easier community review.
- Connect to your Vega wallet and use the command line to submit your proposal.
- Check you can see your proposal under Open Proposals on the governance dApp ↗.
./vegawallet transaction send --wallet YOUR_WALLETNAME --pubkey YOUR_PUBLIC_KEY --network NETWORK_NAME '{
"proposalSubmission": {
"rationale": {
"title": "An example freeform proposal",
"description": "I propose that everyone evaluate the following IPFS document and vote Yes if they agree. [bafybeigwwctpv37xdcwacqxvekr6e4kaemqsrv34em6glkbiceo3fcy4si](https://dweb.link/ipfs/bafybeigwwctpv37xdcwacqxvekr6e4kaemqsrv34em6glkbiceo3fcy4si)"
},
"terms": {
"newFreeform": {},
"closingTimestamp": 1710091024
}
}
}'
- Copy the command line example below into a text editor.
- Replace the placeholder values with those you want in the proposal.
- Tip: Use markdown formatting in your proposal's rationale to make for easier community review.
- Connect to your Vega wallet and use the command line to submit your proposal.
- Check you can see your proposal under Open Proposals on the governance dApp ↗.
vegawallet.exe transaction send --wallet YOUR_WALLETNAME --pubkey YOUR_PUBLIC_KEY --network NETWORK_NAME ^
"{^
\"proposalSubmission\": {^
\"rationale\": {^
\"title\": \"An example freeform proposal\",^
\"description\": \"I propose that everyone evaluate the following IPFS document and vote Yes if they agree. [bafybeigwwctpv37xdcwacqxvekr6e4kaemqsrv34em6glkbiceo3fcy4si](https://dweb.link/ipfs/bafybeigwwctpv37xdcwacqxvekr6e4kaemqsrv34em6glkbiceo3fcy4si)\"^
},^
\"terms\": {^
\"newFreeform\": {},^
\"closingTimestamp\": 1710091024^
}^
}^
}"
Voting
All proposals are voted on by the community.
Building support is down to you. Share your proposal in the Governance section ↗ on the Vega community forum. You may also wish to share on Discord ↗.
To vote, community members need, at a minimum, the larger of 🔗1000000000000000000 tokens or 🔗1000000000000000000 tokens, associated to their Vega key.
Your proposal will need participation of 🔗9% and a voting majority of 🔗66%, so having community support is essential.
Proposers who invite feedback, engage with comments, and make revisions to meet the needs of the community are more likely to be successful.