Governance proposals and voting

Introduction

Members of the Vega community can view current governance proposals and choose to vote for them, or against them, using the governance asset of the network. For further background and explanation, please see the section on Market proposals and governance.

If you’re looking specifically for a guide on how to create and propose a new market on Vega, please see the end-to-end API how-to guide on Market Creation.

How do I see a list of proposals?

Connect to a Vega API server, and request a list of proposals:

Gitpod ready-to-code What’s Gitpod?

See also REST API reference for further query detail.

Make sure vegaapiclient is installed (from PyPI):

pip install --upgrade Vega-API-client

This Python snippet code shows how to query for a list of governance proposals:

See also gRPC API reference for further query detail.

Make sure graphqurl is installed (from GitHub):

npm install -g graphqurl

This snippet code shows how to query for a list of proposals:

See also GraphQL API reference for further query detail.

If successful, the response will include:

Field Description
proposals A list of zero or more proposals from the Vega network.
For full example code, please visit the repo on GitHub.

How do I see the status of a specific proposal?

Connect to a Vega API server, and request a proposal by identifier:

Gitpod ready-to-code What’s Gitpod?

See also REST API reference for further query detail.

Make sure vegaapiclient is installed (from PyPI):

pip install --upgrade Vega-API-client

This Python snippet code shows how to query for a proposal by identifier:

See also gRPC API reference for further query detail.

Make sure graphqurl is installed (from GitHub):

npm install -g graphqurl

This snippet code shows how to request a proposal by identifier:

See also GraphQL API reference for further query detail.

If successful, the response will include:

Field Description
proposal A proposal record will be returned if one is found matching the given identifier. Fields including state and [yes/no]votes will be returned for the proposal allowing a user to fully examine the current status.
For full example code, please visit the repo on GitHub.

How do I list proposals for a party (public key)?

Connect to a Vega API server, and request proposals for a party:

Gitpod ready-to-code What’s Gitpod?

See also REST API reference for further query detail.

Make sure vegaapiclient is installed (from PyPI):

pip install --upgrade Vega-API-client

This Python snippet code shows how to query for a list of governance proposals:

See also gRPC API reference for further query detail.

Make sure graphqurl is installed (from GitHub):

npm install -g graphqurl

This snippet code shows how to query for a list of proposals:

See also GraphQL API reference for further query detail.

If successful, the response will include:

Field Description
proposals A list of zero or more proposals from the Vega network.
For full example code, please visit the repo on GitHub.

How do I vote for a proposal?

Voting for a proposal requires the use of staking tokens in the wallet owned by the calling party (public key). The minimum amount required is set in the network parameters (see values ending in minVoterBalance).

At present the Vega testnet uses the tVOTE token for governance.
Additionally, when a Vega testnet network reset occurs, any user proposals including votes will be reset.

For more information on how to check for token balances (including any used for governance/staking), please see the guide to retrieve party positions and balances.

Log in to wallet and get public key

See the section on the Wallet service to learn how to log in, list keys and select a public key.

For a working wallet example used by this how-to guide, please visit the API Samples GitHub repo.

Vote for Proposal

After locating a proposal (proposal_id) using the listing calls shown above, to vote either for (YES) or against (NO), simply connect to a Vega API server and submit a vote for a proposal:

Gitpod ready-to-code What’s Gitpod?

See also REST API reference for further query detail.

If successful, the response will include:

Field Description
signature A signed transaction message containing the vote data. In the same way as the market proposal message, if propagate is set to true, the signed data will be automatically forwarded by the wallet server to a node.

What’s next?