Micro-Grant Application-and-Vote Tool
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Micro-Grant Application & Vote Tool is a DAO tool that enables community members to apply for micro-grants and vote on grant applications. It reads the micro-grant contract address, grant application details (applicant, amount, description, and category), application status (pending/accepted/rejected), vote tally (for/against), voter eligibility, voting period parameters, application history, account nonce, gas estimates for application and vote, and previous records. The tool then guides applicants through submitting a micro-grant application and voters through casting their vote on pending applications.
HOW TO USE
Connect your wallet via the built-in connector. Select the network where the micro-grant contract is deployed. Enter the contract address, application description, requested grant amount, category, 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: contract, description, amount, category, your vote, payment token, application status, current vote tally, voter eligibility, voting period, and estimated gas. Review all details carefully. Click "submit application / vote" to submit your application or cast your vote. The tool will guide you through three steps: submitting the application, casting the vote, and recording the transaction.
TECHNICAL MECHANISM
The tool uses ethers.js v5.7.2 to interact with the micro-grant contract. It reads application details using `getApplication(applicationId)` which returns the applicant, amount, description, category, and status. Application status is read via `getStatus(applicationId)` which returns pending/accepted/rejected. Vote tally is read using `getVoteTally(applicationId)` which returns the number of for and against votes. Voter eligibility is checked via `isEligibleVoter(voter)` which verifies membership or token holding requirements. Voting period parameters are read via `getVotingPeriod()` which returns the start and end times. Application history is scanned using `eth_getLogs` for `ApplicationSubmitted` and `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 application transaction calls `submitApplication(description, amount, category)` on the contract. The vote transaction calls `castVote(applicationId, support)` where support is true for For and false for Against. 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 grant applications are legitimate or accurately represent need. It cannot detect if voters are misrepresenting their preferences. It cannot guarantee that voting results are fair—voting may be influenced by external factors. It cannot prevent front-running of votes. It cannot validate that grant amounts are appropriate. It cannot detect if the micro-grant contract has been modified. It cannot ensure that vote eligibility is correctly enforced. It cannot verify that grant terms are enforced off-chain.
PLEASE NOTE
This tool is EVM-only and supports Ethereum, Polygon, BNB Chain, Arbitrum, Optimism, and Avalanche. Application and vote transactions are signed by the connected wallet, and the user pays gas fees. Micro-grant applications are subject to community voting—ensure your application is clear and meets the community's criteria. The tool does not store or transmit any application or vote data.