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
With your wallet
Draft, vote and withdraw
Drafting works today and never touches your wallet. Voting, withdrawing and creating proposals use your wallet.
Checking the published program. Drafting works now and never touches your wallet.
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
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.
- Each vote adds its coins to one side
yes += amount or no += amountVote weight is the coins you lock, not your balance. - Nothing is decided before the deadline
open while slot < deadlineThe page’s own TenureGovernance.result reads the record exactly like the program. - Then the rule is fixed
approved = (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)
- 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.
- You lock 30,000 Yes; B locks 50,000 Yes.Yes 80,000. Turnout 80,000: below quorum so far.
- 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. - 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. - 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.