Voting with Tokens

Counterparty supports voting through actions taken with user-created tokens, as well as broadcasting information onto the Bitcoin blockchain. This means that you can post the terms and options of your vote as a broadcast, and let users vote on its outcome with full transparency by using tokens.

This Dividends distribution process was described in the Paying Dividents to Token Holders section.

This function has been used successfully in the past, but is less commonly used due to the Bitcoin fees that occur when inviting token holders to vote.

Let explain his process with an example, using a made up token called "EXAMPLE"

  • You create a token named ‘EXAMPLE

  • You distribute the EXAMPLE token to various users (the more tokens they have the more votes they will receive)

  • You can create another token named EXAMPLEVOTE and pay a distribution of exactly 1 EXAMPLEVOTE to all holders of EXAMPLE in one single action.

  • Now all holders of the EXAMPLE token now have 1 vote per EXAMPLE token they hold which is represented by the EXAMPLEVOTE token.

  • From the same address you minted the EXAMPLE token you publish a Counterparty Broadcast that explains the terms and options of voting with EXAMPLEVOTE. For this example, the instructions include sending a certain amount of EXAMPLEVOTE to a specific Bitcoin Address.

  • Within that Broadcast you explain that sending EXAMPLEVOTE to a specific "Bitcoin Address #1" counts as a YES vote, and sending to another specific "Bitcoin Address #2" counts as a NO vote.

  • To cast their votes, holders of EXAMPLE can then send the EXAMPLEVOTE they have received to whichever choice they agree with.

  • The results of the poll will be public and verifiable thanks to the Bitcoin blockchain and will simply be recorded as token sends of EXAMPLEVOTE.

Since you can create whatever rules you would like with a public Counterparty Broadcast transaction that publicly shows the 'choices' or different Bitcoin Addresses to send to for voting, this feature can be used for many purposes.

It may be a good idea to create burn addresses for this purpose (addresses where the private key is not known). This way, the votes cannot be recycled or moved. For more information about creating a “burn address” see below on the topic How do I create a Burn Address for use on Counterparty?

Last updated