Conditional Escrow Explainer
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 Escrow Explainer takes a conditional escrow contract address and an escrow ID, and provides a complete, plain‑language explanation of the escrow's current state. Conditional escrows hold funds until a specific condition is met—such as a price threshold, a timestamp, oracle data, or an on‑chain event. If the condition is not yet met, the escrow cannot be released; if a dispute arises, an arbiter may be needed. This tool reads the contract's state via public view functions—buyer, seller, token, amount, conditionType, conditionValue, conditionMet, releaseTime, disputeStatus, isReleased, isCancelled, isPaused, canRelease, canCancel, arbiter, and fee. It fetches the current block timestamp and determines whether the condition is met, whether the release time has arrived, and whether a dispute is active. Historical conditional escrow events (EscrowCreated, ConditionChecked, EscrowReleased, EscrowCancelled, DisputeRaised, DisputeResolved) are fetched using chunked, backoff‑aware log scanning to provide context on past actions. The output includes the buyer, seller, arbiter, escrowed amount and token, condition type and value, condition met status, release time, current status (Pending, Released, Cancelled, Disputed), dispute status, fee, a risk badge (Low, Medium, High), and a plain‑language explanation of whether the escrow is ready to be released or cancelled.
HOW TO USE
Enter the conditional escrow contract address followed by a colon and the escrow ID (e.g., 0x123...:5), select the network, and click "Explain escrow". The tool connects to your wallet via the EVM bridge (read‑only; it never signs or sends anything) to fetch the escrow state. It attempts multiple common conditional escrow function signatures to maximize compatibility with different implementations. It fetches the current block timestamp for release time and condition calculations. Historical events are fetched in chunks (500 blocks per request) with automatic backoff and halving on failure to avoid public RPC caps. The AI layer generates a plain‑English explanation of the escrow's state: who the parties are, the condition that must be met, whether it is met, the current status, and whether a release or cancellation transaction would succeed. A visual grid organizes the parties, condition, and key parameters. You can click on the contract, buyer, seller, arbiter, or token addresses to view them on the block explorer.
CHUNKED LOG SCANNING WITH BACKOFF FOR CONDITIONAL ESCROW EVENTS
Conditional escrow events (EscrowCreated, ConditionChecked, EscrowReleased, EscrowCancelled, DisputeRaised, DisputeResolved) are essential for confirming escrow history, condition checks, releases, and disputes. However, public RPCs aggressively cap eth_getLogs block ranges; a full‑range request over 10,000 blocks will fail with a "block range too large" error. This tool automatically chunks log requests into 500‑block slices to stay within safe limits for all major RPC providers. If a chunk fails (due to timeout or provider‑specific caps), it halves that chunk and retries recursively—ensuring that even with aggressive caps, the tool reliably retrieves all relevant conditional escrow events. The tool also filters logs by the specific contract address and relevant event topics to minimize data transfer and processing time. This is essential for detecting condition checks, disputes, and releases that affect the escrow's current status.
WHAT IT CANNOT SEE
This tool cannot detect conditional escrow risks that depend on off‑chain state (e.g., conditions that rely on external data sources or oracles that are not yet updated, or off‑chain agreement terms not reflected in the contract). It cannot predict future condition changes or data updates that might occur before the transaction is mined—the risk assessment reflects the current state, not the future. It cannot verify that the sender intended to interact with the escrow—the tool reads what is on‑chain, not the user's intent. It cannot detect risks for conditional escrows that use non‑standard patterns (e.g., custom condition logic not exposed via view functions, or escrows that are managed by a multisig with complex validation). It cannot guarantee that a release or cancellation transaction will succeed even if the condition appears to be met, as other conditions (e.g., paused state, dispute, or time locks) may also need to be met. It cannot detect if the escrow is blacklisted or flagged by external services. It cannot detect if the escrow contract is a proxy pointing to an implementation that may have been upgraded with different logic, which could change the behavior of condition checks or releases. It cannot detect off‑chain agreement terms or the actual delivery of goods/services. It cannot verify the correctness of oracle data or external condition sources—the tool relies on the contract's view functions to report condition status and does not perform independent verification of oracle data. It also cannot detect if the condition value is stale or if the oracle has been compromised.
PLEASE NOTE
This tool works only for EVM‑compatible chains (Ethereum, Polygon, BSC, Arbitrum, Optimism, Avalanche, etc.) and relies on standard conditional escrow function signatures (buyer, seller, token, amount, conditionType, conditionValue, conditionMet, releaseTime, disputeStatus, isReleased, isCancelled, isPaused, canRelease, canCancel, arbiter, fee). It does not support custom escrow logic that does not expose these functions as public view methods. All explanations are AI‑generated from data the app reads on‑chain—the AI synthesizes the escrow state, condition, event history, and transaction context into plain English, but it does not have special access to private contract logic or off‑chain data. Always review what you are actually signing in your wallet before approving any transaction; a conditional escrow explanation does not replace your own verification of the transaction details, including the target contract, the escrow ID, and the function you are calling. This tool is provided free of charge, with no warranty of accuracy or completeness.