On-Chain Escrow Multi-Signature Release 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
On-Chain Escrow Multi-Signature Release Tool is a DeFi tool that facilitates the secure release of funds from an escrow contract using multi-signature approvals. It reads the escrow contract address, depositor address, beneficiary address, arbiter/guardian addresses, release threshold (number of signatures required), current deposit balance (token amount), deposit release status, signature history (who has signed), deposit metadata (terms, conditions), account nonce, gas estimates for release, and previous release records. The tool then guides you through submitting a release approval signature as an arbiter, checking the current signature count against the threshold, and executing the fund release to the beneficiary once the threshold is met.
HOW TO USE
Connect your wallet via the built-in connector. Select the network where the escrow contract is deployed. Enter the escrow contract address, depositor address, beneficiary address, the list of arbiter/guardian addresses (one per line), and the release threshold (number of signatures required). The tool will read on-chain data and display a preview including: escrow address, depositor, beneficiary, threshold, current balance, release status, signatures collected (with a per-arbiter breakdown showing who has signed), deposit metadata, and estimated gas. Review all details carefully. If you are an authorized arbiter, click "release escrow" to submit your approval signature. If the signature count reaches the threshold, the tool will automatically execute the fund release and update the escrow status.
TECHNICAL MECHANISM
The tool uses ethers.js v5.7.2 to interact with the escrow contract. It reads the deposit balance using `getBalance()` or `balanceOf()` on the escrow contract. Release status is read via `isReleased()` or `status()` view functions. Signature history is scanned using `eth_getLogs` for `SignatureSubmitted` 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 tool checks if the connected wallet is in the arbiter list and whether that arbiter has already signed. If the threshold has not been met, the tool calls `submitSignature()` which records the arbiter's approval on-chain. After each signature submission, the tool checks the current signature count against the threshold. If the count meets or exceeds the threshold, it calls `releaseFunds()` which transfers the deposited tokens to the beneficiary and updates the status to "released". Gas estimates are calculated using `estimateGas` on both methods 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 off-chain conditions of the escrow have been met—it only checks on-chain signatures. It cannot detect if signers are colluding to release funds prematurely. It cannot guarantee that signatures are not forged off-chain. It cannot prevent signing parties from changing their minds before the threshold is met. It cannot ensure that the release threshold is appropriate for all parties—this is a parameter set by the depositor. It cannot validate that deposit terms are fair or that the metadata is accurate. It cannot detect if the escrow contract has been modified or upgraded after the deposit was made. It cannot verify that the beneficiary address is the intended recipient—you must verify this manually.
PLEASE NOTE
This tool is EVM-only and supports Ethereum, Polygon, BNB Chain, Arbitrum, Optimism, and Avalanche. The release transaction is signed by the connected wallet and will execute on behalf of the signer. Only authorized arbiters can submit signatures. Ensure you are an authorized arbiter before attempting to sign. The tool does not store or transmit any escrow data. Always verify the escrow terms and beneficiary address before signing. Test on testnet before using on mainnet.