Pre-launch · drafting works today

Token voting

Holders lock your coin to vote Yes or No on a proposal; after the deadline everyone takes their coins back and the result stays on record.

  • Weightthe coins you lock
  • Passesquorum and more Yes
  • VEYDUCT fee0.01 SOL per proposal
  • Coinsback after the deadline
A live yes and no tally crossing the quorum lineExample with the same numbers as Try it: quorum 100,000, voting for 24 hours (216,000 slots). Yes 80,000 (you 30,000, holder B 50,000), No 55,000 (holder C 45,000, holder D 10,000). Turnout 135,000 passes the quorum and Yes is more than No, so the proposal is approved when voting closes. Every voter takes their coins back after the deadline. Proposal · example Fund a community art contest Coins locked to vote · result is a record 24 h Turnout135,000 Quorum 100,000 reached Yes 80,000You 30,000 · B 50,000 No 55,000C 45,000 · D 10,000 Approved when voting closes
Example · same numbers as Try it

With your wallet

Draft, vote and withdraw

Drafting works today and never touches your wallet. Voting, withdrawing and creating proposals use your wallet.

Pre-launch

Checking the published program. Drafting works now and never touches your wallet.

Draft a proposal

Works today

One line holders read first, up to 160 characters. Example: Fund a community art contest.

Say what happens, what it costs and why. Example: Spend 2 SOL from the project wallet on prizes for the best fan art. Only its SHA-256 fingerprint goes on chain, so the text can’t be swapped later.

Voting coin: the coin’s mint address, from Pump or DEX Screener. Decimals: Pump coins use 6. Creating the proposal checks both against the live mint.

Quorum: total Yes plus No coins needed for the result to count, for example 100,000. Set it high enough that a few wallets can’t decide alone.

Solana adds about 9,000 slots an hour (216,000 a day). Look up the current slot on any Solana explorer and add the voting time.

Proposal identity

A different nonce creates a different proposal. Draft decimals are what you type; creating the proposal checks them against the live mint.

What happens next: Review draft shows the fingerprint and settings below. Export saves them as unsigned JSON. Neither opens your wallet.

Vote on a proposal

Review now · approve at launch

Voting signs with your wallet. Nothing is read until you click; before launch, connecting only reads your balance.

The proposal’s address, shared by whoever created it (not the coin’s mint). Read proposal shows its votes, quorum and deadline before you lock anything.

Coins to lock behind your vote, for example 30,000. Your weight is what you lock. They stay locked until the deadline slot, then come back in full.

What happens next: the review lists custody, deadline, amount and fees. Your wallet opens only after you tick the check and approve.

Practice run · simulated · nothing is sent

Practice run

The practice run loads with the page. It needs JavaScript; nothing is signed or sent.

Everything the voting program does, and does not do

Checked against the program’s source and this page’s own code.

Vote weight
The coins you lock, one side only
Passes if
Quorum reached and more Yes than No
VEYDUCT fee
0.01 SOL to create a proposal. Nothing else
Coins
Pump coins (Token-2022) and classic SPL
Example

Accounts the program creates

Every account has an address derived from fixed seeds (a Program-derived address: an address worked out from fixed words and inputs, with no private key. Only the program can sign for it, so nobody can swap in a look-alike.), so the page can find it and nobody can swap in a look-alike.

Proposal

The question’s fingerprint (A one-way fingerprint of the text. Change a single character and it changes completely, so anyone can check the text they read is the one voted on. of title and text), the voting coin, quorum, deadline slot and the Yes, No and still-locked totals.

Seeds
"tenure-governance", creator, nonce
Size
187 bytes
Created by
The proposer

Vote vault

A token account owned by the proposal address that holds every locked vote until the deadline.

Seeds
"vote-vault", proposal
Size
170 bytes (Token-2022), 165 classic
Created by
The proposer

Your vote receipt

One per wallet per proposal: how much you locked, which side, and whether you have withdrawn.

Seeds
"vote", proposal, your wallet
Size
84 bytes
Created by
Your first vote

The proposal text itself stays off chain: the page shows it and its hash, and anyone can check the text against the stored fingerprint.

Who can do what

  • ActionWho signsRules the program enforces
  • Create a proposalAny wallet; it becomes the proposerQuorum above zero, a text fingerprint, a deadline after now and at most 1,000,000 slots ahead. The coin has no freeze authority and is not wrapped SOL.
  • VoteAny holder of the coinBefore the deadline slot. Coins move from the voter’s own account into the vote vault. Later votes must be on the same side.
  • WithdrawThe voter onlyFrom the deadline slot on. The whole deposit, once, back to the voter’s own account.
  • Change, cancel or closeNobodyThe question, coin, quorum and deadline are fixed. There is no edit, cancel, rescue or sweep instruction.
  • Spend moneyNobodyThe result is a record only. To let holders approve a payment, use Treasury voting.

Anyone can create a proposal for any coin. Being the proposer does not prove you created the coin; check who proposed before you vote.

Counting the vote, with a worked example

Amounts on chain are whole token units; 1 coin with 6 How many digits a coin has after the point. Pump coins use 6, so 1 coin is 1,000,000 units on chain. is 1,000,000 units.

  1. Each vote adds its coins to one sideyes += amount or no += amountVote weight is the coins you lock, not your balance.
  2. Nothing is decided before the deadlineopen while slot < deadlineThe page’s own TenureGovernance.result reads the record exactly like the program.
  3. Then the rule is fixedapproved = (yes + no ≥ quorum) and (yes > no)A tie fails, and so does a turnout below The minimum number of coins that must vote in total, Yes plus No, for a result to count at all..

Example (same numbers as Try it)

  1. Quorum 100,000; voting for 24 hours (216,000 slots).Proposal cost: 0.01 SOL fee + 0.00311404 SOL rent + 0.000005 SOL network fee = 0.01311904 SOL.
  2. You lock 30,000 Yes; B locks 50,000 Yes.Yes 80,000. Turnout 80,000: below quorum so far.
  3. C locks 45,000 No; D locks 10,000 No.80,000 + 55,000 = 135,000 ≥ 100,000 and 80,000 > 55,000When the deadline passes: Approved.
  4. If D had locked 30,000 No instead.80,000 + 75,000 = 155,000; 80,000 > 75,000Still approved. With 35,000 No it would be 80,000 to 80,000: tied, not approved.
  5. After the deadlineEveryone withdraws exactly what they locked: you get your 30,000 back.

Costs

VEYDUCT fee to create a proposalPaid once by the proposer, in the same transaction, to VEYDUCT’s fee wallet. Shown in the review.
0.01 SOL
Account rent for a proposalProposal (187 bytes) and vote vault, at mainnet rent of 5,080 lamports per byte plus 128 bytes per account.
0.00311404 SOL (Token-2022) · 0.00308864 SOL (classic)
Account rent for your vote receiptOnce per wallet per proposal, on your first vote.
0.00107696 SOL
Network feePer transaction, one signature.
0.000005 SOL
Percentage feesVoting and withdrawing carry no VEYDUCT fee, and the program takes no cut.
None

Rent stays in the program’s accounts: there is no close instruction, so it is not refunded. If your token account for the coin was closed, the page re-creates it when you withdraw and shows that rent in the review.

Deadlines and lockups

  • The deadline is a Solana Solana’s clock tick. A slot passes about every 0.4 seconds (about 9,000 an hour). Deadlines on chain are slot numbers, not minutes.. About 9,000 slots pass an hour (216,000 a day); the page suggests one day from now when you connect. The longest vote is 1,000,000 slots, about 111 hours.
  • Locked until the deadline. Coins in a vote cannot be withdrawn, sold or used on another proposal before the deadline slot.
  • Withdraw once, in full. From the deadline slot on, any time; there is no expiry. Your vote still counts after you withdraw.

Edge cases and what can go wrong

No snapshot

Weight is what is locked now, not what was held earlier. Someone can buy coins during the vote and lock them.

Live mint authority

If the coin Its mint authority is still set, so new supply can be created at any time. Pump coins have it removed., new supply could outvote holders. Pump coins have no mint authority; check other coins first.

Switching sides

Refused. A wallet’s first vote fixes its side; it can only add more to it.

Missed quorum or tie

Not approved. Coins still come back to everyone after the deadline.

Unsupported coins

Coins with a freeze authority, wrapped SOL, and Solana’s newer token program. Pump coins use it with metadata only, which works here; coins that add transfer fees, hooks or other extensions are refused. coins with transfer fees, hooks or other extensions are refused.

Stale review

The page re-reads the proposal and your balances when you approve; if anything changed, it asks you to review again.

FAQ

Does an approved proposal spend anything?

No. Token voting records a decision only. Treasury voting is the tool where an approved proposal pays out SOL.#

Can the proposer take the locked coins?

No. Only each voter can withdraw their own deposit, and only after the deadline.#

Can I change my vote?

No. You can add more coins to the side you chose first, but not switch.#

Can I vote on two proposals at once?

Yes, with different coins. Coins locked in one proposal stay there until its deadline.#

What does drafting do?

“Draft a proposal” builds the question and its fingerprint in your browser and never touches your wallet. You can export it as unsigned JSON.#

Does it work with Pump coins?

Yes. Pump coins are Token-2022 with metadata only, which is supported, whether they trade on the curve or on PumpSwap.#

Can the program be changed after launch?

The release only switches voting on for a program with no upgrade authority (nobody can change its code), and the page checks the exact program bytes before every wallet action.#

Is the practice run real?

No. It runs on this page with a practice wallet and simulated holders; nothing is signed or sent. It follows the program’s rules (quorum, deadline, one side per wallet) and uses the same VEYDUCT fee, so its numbers match a real proposal.#

Tested in this release

Test results are published with each release

Every release build runs the voting program’s exact pinned bytes and this page’s own code in an isolated Solana runtime (LiteSVM), with mainnet token programs and a real Pump coin captured read-only. This copy of the site has no build results attached; Release status lists the latest release.

  • Create a proposal with the exact 0.01 SOL VEYDUCT fee, vote, add weight and withdraw after the deadline, on a Pump (Token-2022) coin and on a classic SPL coin.
  • Switching sides, voting after the deadline, withdrawing early, withdrawing twice and taking someone else’s coins are all refused.
  • Quorum and majority read exactly like the program: a tie or a missed quorum does not pass.