Conditional Multi-Party Payment Splitter
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
Conditional Multi-Party Payment Splitter connects to any EVM-based conditional payment splitter contract and enables you to execute payment distributions when release conditions are met and required confirmations are received. The tool reads comprehensive contract state including total payment amount, token address, payer address, a complete list of recipients with their shares (percentage or fixed amounts), payment schedule, release conditions and their fulfillment status, approval/confirmation status per recipient, current block timestamp, deadline, dispute status, distribution history, and share calculation parameters. It then displays each recipient's address, share amount, and confirmation status in a clear list, shows the overall conditions status, and enables a one-click distribution transaction when conditions are met. The tool handles multiple distribution function signatures (distributePayment, executeSplit, releaseShares) and automatically detects the correct function to call. After submission, the tool displays the transaction hash and refreshes the contract data to show the distributed status. This is ideal for payroll distribution, partnership revenue sharing, grant disbursements, and any scenario where payments need to be split among multiple parties based on conditions.
HOW TO USE
Connect your Web3 wallet (MetaMask, WalletConnect, or any EIP-1193 provider). Select the correct network for your payment splitter contract — the tool supports Ethereum, Polygon, Arbitrum, Optimism, Base, Avalanche C-Chain, and BNB Chain. Paste your splitter contract address into the input field. The tool reads the contract using a default ABI that covers standard payment splitter functions, but you can paste a custom ABI if your contract uses non-standard naming. Review the displayed data carefully: total payment amount, token type, payer address, conditions met status (✅ Met or ❌ Not met), overall split status (Pending, Ready, Distributed, Disputed), and the detailed recipient list showing each recipient's address, their share amount, and whether they have confirmed (✅ Confirmed or ⏳ Pending). When the conditions are met and the status shows "Ready," the "Distribute payment" button becomes enabled. Click it to submit the distribution transaction — the tool will show a confirmation dialog with all details, submit the transaction, and wait for confirmation. After successful execution, the contract data refreshes automatically to show the split as distributed.
THE REAL MECHANISM
This tool does not assume a single distribution structure — it adapts to the contract's actual implementation. It first detects the correct distribution function by testing common names (distributePayment, executeSplit, releaseShares) through static calls, falling back to the user-provided name if none are found. For recipient data, the tool reads recipientCount() to determine how many parties are involved, then iterates through each one using the recipients(uint256) view function to get each recipient's address. For each address, it calls recipientShare(address) to get their allocated amount and hasConfirmed(address) to check if they have confirmed their receipt or approval. This builds a complete picture of the distribution state. The tool also reads conditionsMet() to verify that all release conditions have been satisfied, and splitStatus() to determine the current state (0=pending, 1=ready, 2=distributed, 3=disputed). For the payment details, the tool reads totalAmount() to verify funds are present, token() to identify the payment currency, and payer() to show who initiated the contract. All transaction parameters are estimated using eth_estimateGas and sent with the wallet's preferred gas strategy. The tool monitors the transaction receipt and extracts the effectiveGasPrice to display actual gas cost, not the cap.
WHAT IT CANNOT SEE
Conditional Multi-Party Payment Splitter cannot verify the fairness or accuracy of the share distribution. It cannot detect off-chain agreements, side deals, or informal arrangements between the parties. It cannot guarantee that recipients are entitled to their shares or that the share calculation reflects actual contributions, work performed, or agreed-upon terms. It cannot ensure that the release conditions are correctly implemented in the contract bytecode or that they have been evaluated properly. It cannot prevent the payer from modifying the split parameters before the distribution is executed. It cannot recover funds if the distribution transaction fails due to contract bugs, network issues, or other errors. It cannot detect if recipients are colluding to manipulate the distribution or share calculation. It cannot validate that the shares reflect actual contributions, agreements, or legal entitlements. It cannot verify that the payment schedule has been followed correctly.
PLEASE NOTE — EVM CHAINS ONLY
This tool works exclusively with EVM-compatible blockchains. Non-EVM chains are not supported. The tool does not deploy contracts, manage private keys, or sign anything outside the connected wallet's secure environment. It is a read-and-execute interface that relies entirely on the payment splitter contract's implementation and the distribution logic defined therein. Always verify the recipient list and share allocations directly on-chain before executing a distribution.