Impact Bond Outcome Verification-and-Payout 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
This tool connects to your EVM wallet and scans impact bond contracts across different EVM chains to fetch outcome records, verification data, outcome metrics, and payout schedules. It reads outcome provider attestations, verified outcome status, and bond performance data from on-chain impact bond registries. The tool enables you to verify impact outcomes, trigger payouts based on verified outcomes, update bond performance metrics, and release funds to bondholders when outcomes are confirmed.
HOW TO USE
Connect your Web3 wallet using the Connect button. In the Impact Bond Configurations textarea, enter each impact bond contract you want to query in the format name:contract:chain—one per line. For example, "ImpactBond:0x4b8a4D1F6a2Ff6b9A6B0F4A9A8F0A9A8F0A9A8F0:1" for an impact bond on Ethereum mainnet or "OutcomeRegistry:0x...:137" for a registry on Polygon. Enter the bond ID or address you wish to look up in the Bond ID field. Click "Check Bond Status" to fetch bond data, outcome status, and payout information. Click "Verify Outcome" to submit an outcome metric attestation. Click "Trigger Payout" to initiate payout based on verified outcomes. Results appear in the Results card with a summary of bonds found, verified outcomes, and total payout, followed by a detailed breakdown of each bond. Click "Release Payout" to execute the fund release.
TECHNICAL MECHANISM: MULTI-CONTRACT IMPACT BOND VERIFICATION AND PAYOUT
The tool uses ethers.js to interact with impact bond contracts through a tiered ABI detection system. For bond data, it attempts getBond(uint256) or getBond(address) and falls back to bond(uint256), each returning issuer, amount, timestamp, and redemption status. For outcome data, it attempts getOutcome(uint256) and verifiedOutcome(uint256). Payout amounts are read from payoutAmount(uint256). Verification attempts verifyOutcome(uint256, uint256) and falls back to attestOutcome(uint256, uint256). Payout triggering attempts triggerPayout(uint256) and falls back to releasePayout(uint256). Fund release attempts release(uint256) and falls back to redeem(uint256). All operations are executed sequentially with proper error handling for each contract.
WHAT IT CANNOT SEE
This tool cannot verify off-chain impact data or outcome measurement quality—it only reads on-chain verification records and cannot validate the actual impact data. It cannot validate that outcome metrics accurately reflect real-world impact—the tool trusts the submitted outcome data and cannot independently verify its accuracy. It cannot ensure that outcome providers are credible or independent—the tool relies on the attestation registry's recorded data. It relies on impact bond contract interfaces and may not support all bond structures—if a contract uses a non-standard interface, bonds may not be detected. It cannot predict future outcomes or ensure bond performance—the tool only processes current on-chain status.
PLEASE NOTE
This tool signs transactions to verify outcomes and trigger payouts—ensure you trust the impact bond contracts you configure. 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 contract addresses you enter are correct and correspond to the impact bond contracts you intend to query.