Democracy on the Blockchain
CoCo now has a built-in voting pallet that makes on-chain voting free, transparent, and easy. Anyone can create an election in seconds. Vote tokens are sub-coins — the same technology that powers company loyalty programs and shareholder equity.
Anyone creates an election for FREE. Set the name, options, voting window, and type — Democratic, Shareholder, Referendum, or Open. The election is created as a sub-coin (pallet-assets) on-chain, giving you verifiable vote tokens instantly.
Upload a CSV of citizens with names and ID numbers, or automatically distribute tokens to shareholders based on their existing share or coin holdings. Each token = 1 vote.
Voters sign with their on-device wallet and cast their ballot. One vote per address. The token is burned on vote — mathematically impossible to vote twice. No crypto knowledge required; voters just sign with their wallet.
After the voting window ends or an admin finalizes it, burning any remaining undistributed tokens and publishing the final tally to the blockchain. The results are immutable and auditable forever.
No payment required to create an election. VoteSessionPrice = 0. Create as many elections as you need at zero cost.
Every ballot is on-chain, verifiable, and immutable. Anyone can audit the entire voting history for any election at any time.
Democratic (1 person = 1 vote), Shareholder (weighted by share coin holdings), Referendum (Yes/No), or Open — choose the right type for your use case.
Upload a citizen CSV with names and ID numbers. Auto-mint tokens linked to verified identities, preventing impersonation.
Auto-distribute vote tokens proportional to existing share coin holdings. Perfect for corporate governance and board elections.
One token burned per vote. Mathematically impossible to vote twice. No double-spend, no double-vote, no fraud.
Anyone can query any ballot, any election, any tally. Complete transparency from creation through finalization.
Voters just sign with their wallet. No seed phrases, no gas fees, no blockchain terminology. Democracy that anyone can use.
Democratic type with citizen CSV upload. Verifiable voter rolls, one vote per citizen, immutable results.
Shareholder type weighted by share coin. Board votes, proxy voting, proportional power based on real holdings.
Referendum type with Yes/No. Quick, verifiable member ballots. No disputed results.
Open type — anyone votes. Transparent allocation of community funds with on-chain proof.
Shareholder type with multiple candidates. Weighted voting that respects equity distribution.
Token-weighted proposals. Seamless integration with existing sub-coin ecosystems and treasuries.
| Pallet | 17th pallet in the CoCo Substrate runtime |
| Extrinsics | 7 total: create_election, mint_vote_tokens, buy_vote_tokens, cast_vote, close_election, finalize_election, cancel_election |
| Creation Cost | VoteSessionPrice = 0 (free creation) |
| Token System | Each election creates a sub-coin (pallet-assets) as the vote token |
| Limits | Max 20 options per election, max 100 recipients per mint batch |
| Test Coverage | 22 unit tests, 10 integration scenarios with 100 voters |
| Vote Types | Democratic, Shareholder, Referendum, Open |
| Runtime | Substrate FRAME pallet, compiled to WASM |
# Create an election
curl -X POST http://localhost:4000/api/voting/create \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TOKEN" \
-d '{"assetId":100,"name":"My Election","voteType":"Democratic","options":["Yes","No"],"startBlock":10,"endBlock":100}'
# Query results
curl http://localhost:4000/api/voting/election/0
Tip: Use the CoCo CLI or API to automate voter registration, token distribution, and result aggregation. Full REST API documentation available in the docs.