This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Participatory Budget Vote Executor

DAO · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — nothing to install.
CategoryDAO
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Participatory Budget Vote Executor is a DAO tool that enables community members to vote on budget proposals and execute the allocation of funds. It reads the participatory budget contract address, project proposals and amounts, voter eligibility and voting power, vote tally per project, budget allocation parameters, voting period details, voter participation history, account nonce, gas estimates for voting and execution, and previous execution records. The tool then guides voters through casting their vote on budget proposals, recording the vote on-chain, updating the vote tally, executing the budget allocation after the vote closes, and allocating funds to approved projects.

HOW TO USE

Connect your wallet via the built-in connector. Select the network where the participatory budget contract is deployed. Enter the budget contract address, the project ID you wish to vote on, your vote choice (For or Against), and the payment token address (use address(0) for native token). The tool will read on-chain data and display a preview including: budget contract, project ID, your vote, payment token, voter eligibility, voting power, project list with vote tallies and amounts, voting period, and estimated gas. Review all details carefully. Click "cast vote" to submit your vote. The tool will guide you through two steps: casting the vote and recording the tally.

TECHNICAL MECHANISM

The tool uses ethers.js v5.7.2 to interact with the participatory budget contract. It reads project proposals using `getProposal(projectId)` which returns the project name, amount, and description. Voter eligibility is checked via `isEligibleVoter(voter)` which verifies residency or membership requirements. Voting power is read using `getVotingPower(voter)` which returns the weight of the voter's vote. Vote tally is read using `getVoteTally(projectId)` which returns the number of for and against votes. Voting period parameters are read via `getVotingPeriod()` which returns start and end times. Voter participation history is scanned using `eth_getLogs` for `VoteCast` events, with adaptive chunking (halving chunk size on failure) to handle different RPC limits—the tool walks backward from the current block and continues even if some ranges are rejected. The vote transaction calls `castVote(projectId, support)` on the contract, where support is true for For and false for Against. After the voting period ends, the tool can execute the budget allocation by calling `executeBudget()` which allocates funds to the approved projects. Gas estimates are calculated using `estimateGas` with EIP-1559 fee data from `feeData`. All transactions are built with EIP-1559 fee data, and the tool uses `effectiveGasPrice` from receipts for accurate cost accounting.

WHAT IT CANNOT SEE

This tool cannot verify that proposed projects are legitimate or feasible—it reads only on-chain proposals. It cannot detect if voters are misrepresenting their preferences. It cannot guarantee that budget allocation results are fair. It cannot prevent front-running of votes. It cannot validate that project costs are accurate. It cannot detect if the budget contract has been modified. It cannot ensure that voter eligibility is correctly enforced. It cannot verify that project execution is enforced off-chain.

PLEASE NOTE

This tool is EVM-only and supports Ethereum, Polygon, BNB Chain, Arbitrum, Optimism, and Avalanche. Vote transactions are signed by the connected wallet, and the user pays gas fees. Participatory budgeting is a democratic process—ensure you understand the proposals before voting. The tool does not store or transmit any voting data.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.