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

On-Chain Public Goods Funding Round Contribution Tool

DeFi · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — nothing to install.
CategoryDeFi
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

This tool connects to your EVM wallet and enables public goods funding round administrators to disburse funds to approved grantees based on allocation parameters. It reads funding round records including fund balances, project proposals, allocation parameters, matching pool data, and governance approval status from on-chain funding contracts across EVM chains. The tool supports weighted distribution where each grantee receives an allocation proportional to their approved share, with a single batch transaction that distributes tokens to all eligible projects.

HOW TO USE

Connect your Web3 wallet using the Connect button. Enter the ERC-20 token address you wish to distribute in the Token Address field. In the Grantees textarea, enter each grantee's address and allocation in the format address:allocation—one per line. For example, "0x742d35Cc6634C0532925a3b844Bc454e4438f44e:100" for a grantee with allocation 100. Enter the total amount to contribute in the Total Amount field (in token units). Click "Load Grantee Data" to validate the grantee list. Review the summary showing grantee count, total allocation, sender fee, sender contract address, and sender owner. Click "Contribute Funds" to execute the batch transfer. The tool calculates each grantee's share proportionally, approves the sender contract for the exact total amount, and distributes tokens in a single transaction.

TECHNICAL MECHANISM: WEIGHTED BATCH DISTRIBUTION WITH BULK SENDER CONTRACT

The tool uses a shared BotGentz sender contract to perform batch ERC-20 transfers. The sender contract is looked up from the BULKSEND registry by chain ID and standard (erc20). For each grantee, the tool calculates their share as: (granteeAllocation / totalAllocation) * totalAmount. The total amount includes both the distribution amount and the sender fee, which is read live from the contract's fee() function. The tool checks the user's balance against the total needed (distribution + fee) before proceeding. The sender contract is approved for the exact total amount (not unlimited), and the distributeERC20 function is called with the recipient addresses and calculated amounts arrays. All operations are performed sequentially with proper error handling.

WHAT IT CANNOT SEE

This tool cannot verify off-chain project impact or public goods value—it only reads on-chain funding records and cannot validate actual project outcomes or public benefit. It cannot validate that funding aligns with community priorities without governance verification—the tool relies on the funding round's recorded allocation parameters. It cannot ensure that project implementation complies with legal or regulatory requirements—the tool does not enforce compliance rules. It relies on funding contract interfaces and may not support all public goods funding mechanisms—if a contract uses a non-standard interface, records may not be detected. It cannot prevent mismanagement if governance controls are insufficient—the tool does not enforce governance rules.

PLEASE NOTE

This tool signs transactions to approve the sender contract and distribute tokens—ensure you trust the sender contract and have verified the token address and grantee list. All state is in-memory and resets on page reload. The tool supports EVM chains only—Ethereum, Polygon, BSC, Arbitrum, Optimism, Avalanche, Base, and Fantom. Always verify that the token address you enter is correct and that the grantee allocations accurately reflect your funding round's distribution rules.

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.