Patronage Dividend Distribution 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
Patronage Dividend Distribution Tool is a DeFi tool that enables cooperatives and mutuals to distribute patronage dividends to members in a single batch transaction. It reads the patronage dividend contract address, member addresses and patronage records, dividend allocation formula, total dividend amount, distribution schedule, member dividend shares, distribution history, account nonce, gas estimates for distribution, and previous distribution records. The tool then guides you through distributing dividends to members, updating member dividend balances, recording the distribution on-chain, and syncing dividend status across chains.
HOW TO USE
Connect your wallet via the built-in connector. Select the network where the patronage dividend contract is deployed. Enter the dividend contract address, the dividend token address, the list of members with their share percentages (one per line, address,share%), the total dividend amount, and the payment token address (use address(0) for native token). The tool will read on-chain data and display a preview including: dividend contract, dividend token, payment token, total dividend, member list with their shares and calculated dividend amounts, the bulk sender contract (from registry), its owner, the sender fee, and estimated gas. Review all details carefully. Click "distribute dividends" to execute the batch distribution in a single transaction. The tool will guide you through three steps: verifying patronage records, preparing the batch, and executing the distribution.
TECHNICAL MECHANISM
The tool uses ethers.js v5.7.2 to interact with the patronage dividend contract and the bulk sender contract. It reads member patronage records using `getPatronage(member)` which returns the member's patronage activity (e.g., purchases or contributions). Dividend allocation formula is read via `getAllocationFormula()` which returns the method used to calculate shares (e.g., proportional to patronage). Distribution schedule is read via `getDistributionSchedule()` which returns the frequency and timing of distributions. Distribution history is scanned using `eth_getLogs` for `DividendPaid` 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 bulk sender contract is looked up from the BULKSEND registry using the current chain ID and the ERC-20 standard. The fee is read live via `fee()`. The distribution transaction calls `distribute()` on the sender contract with the member addresses and amounts. 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. The tool checks the user's balance against the total (amount + fee) before sending and approves the sender contract for the exact total.
WHAT IT CANNOT SEE
This tool cannot verify that patronage records accurately reflect member contributions—it relies on on-chain data. It cannot detect if members are misrepresenting their patronage. It cannot guarantee that dividend amounts are fair. It cannot prevent front-running of distributions. It cannot validate that the allocation formula is correct. It cannot detect if the dividend contract has been modified. It cannot ensure that distribution schedules are appropriate. It cannot verify that dividend terms are enforced off-chain.
PLEASE NOTE
This tool is EVM-only and supports Ethereum, Polygon, BNB Chain, Arbitrum, Optimism, and Avalanche. The bulk sender contract address is automatically looked up from the registry—no manual entry required. The fee is set by the contract owner and is deducted from the total distribution amount. Ensure the cooperative has sufficient dividend token balance to cover the distribution plus fees. The tool does not store or transmit any member data. Always verify patronage records and member shares before distributing.