Milestone Escrow Executor
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
Milestone Escrow Executor connects to any EVM-based milestone escrow contract and enables you to release payments for individual milestones as work is completed. The tool reads comprehensive contract state including total payment amount, token address, client address, freelancer/contractor address, the complete milestone list with amounts and descriptions, milestone completion status (pending, completed, approved, disputed), current milestone index, release schedule parameters, deadlines per milestone, dispute status, payment history, and approval signatures or confirmations. It then allows you to review each milestone individually and release payments for completed milestones that are ready for approval. The tool handles multiple release function signatures (releaseMilestone, approveMilestone, completeMilestone) and supports milestone-specific releases so you can pay incrementally as project phases are delivered.
HOW TO USE
Connect your Web3 wallet (MetaMask, WalletConnect, or any EIP-1193 provider). Select the correct network for your milestone escrow contract — the tool supports Ethereum, Polygon, Arbitrum, Optimism, Base, Avalanche C-Chain, and BNB Chain. Paste your escrow contract address into the input field. The tool reads the contract using a default ABI that covers standard milestone escrow 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, client and freelancer addresses, current milestone progress, total milestone count, dispute status, and the detailed milestone list showing each milestone's amount, description, and current status (pending, completed, approved, or disputed). Each milestone has its own release button that becomes enabled only when the milestone is pending or completed and no dispute is active. Click "Release" on any milestone to submit the release transaction for that specific milestone. The tool will show a confirmation dialog, submit the transaction, and wait for confirmation. After successful execution, the contract data refreshes automatically to show the updated milestone status.
THE REAL MECHANISM
This tool does not assume a single milestone structure — it adapts to the contract's actual data model. It first detects the correct release function by testing common names (releaseMilestone, approveMilestone, completeMilestone) through static calls with a zero index, falling back to the user-provided name if none are found. For reading milestones, the tool reads the total milestone count via milestoneCount(), then iterates through each milestone using the milestones(uint256) view function. Each milestone returns a tuple containing the amount, description string, and status code (0=pending, 1=completed, 2=approved, 3=disputed). The tool parses these values into a rich display that shows you exactly what each milestone represents and its current state. The tool also reads currentMilestone() to show which milestone is next in sequence, and disputeStatus() to block releases when a dispute is active. Each milestone's release button is independently enabled or disabled based on its individual status and the overall dispute state. For contracts that use approval signatures or multisig confirmations, the tool reads the current approval count so you know how many signatures are still needed. 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
Milestone Escrow Executor cannot verify that the milestone work is actually completed or satisfactory to the client. It cannot detect off-chain agreement changes, scope creep, or informal modifications to the project requirements. It cannot determine if the milestone deliverables meet the quality standards expected by the client. It cannot guarantee that the client will not dispute the milestone after payment has been released. It cannot ensure that the contract's milestone logic is correctly implemented or free from bugs. It cannot prevent the client from front-running with a dispute transaction. It cannot validate that the milestone descriptions are accurate, complete, or match the actual work performed. It cannot detect if the milestone evaluation mechanism can be manipulated through reentrancy or other attacks. It cannot recover funds if a milestone is released in error, for incomplete work, or due to a malicious contract. It cannot assess the fairness of the milestone payment distribution or the release schedule.
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 milestone escrow contract's implementation and the milestone approval logic defined therein.