Cross-Chain Message Verifier
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
Cross-Chain Message Verifier lets you verify the validity of cross-chain messages against a bridge or oracle contract. You provide the bridge contract address on the current chain, source and target chain IDs, the message hash (keccak256 of the message), and the proof data (such as a Merkle proof), and the tool queries the bridge contract to check if the message is valid. It attempts to call common verification functions (verify, verifyMessage, isValidMessage) to determine if the proof is correct and the message was indeed emitted on the source chain. This is essential for developers building cross-chain applications, auditing bridge operations, or debugging failed message deliveries. It reads the current network chain ID from your wallet provider to ensure queries are directed to the correct chain.
HOW TO USE
Connect your wallet using the "Connect" button (required for RPC access). Select the target network (Ethereum Mainnet, Sepolia, Polygon, BSC, Arbitrum, Optimism, and testnets are supported). Enter the bridge/verifier contract address on the current chain, the source chain ID, target chain ID, the message hash (as a 0x-prefixed hex string), and the proof data (as a hex string or comma-separated bytes32 array). Click "Verify message" — the tool will call the bridge contract to verify the message. Results show whether the message is valid, along with details about the verification method used. The entire operation is read-only — no transactions are signed or sent.
TECHNICAL MECHANISM
The tool builds a contract interface with common verification function signatures: verify(bytes32,bytes,uint256,uint256), verifyMessage(bytes32,bytes), and isValidMessage(bytes32,bytes). It attempts to call each function in order until one succeeds. The proof data can be provided as a hex string (0x-prefixed) or as comma-separated bytes32 values, which are then encoded into bytes. The tool uses ethers.js v5.7.2 to interact with the contract via the wallet's provider. It does not require the full contract ABI — it uses a minimal interface that covers the most common verification patterns. The tool displays the method used and the verification result, allowing users to confirm the message's validity. No transactions are sent; all calls are view functions.
WHAT IT CANNOT SEE
The tool cannot verify the correctness of the proof data without the corresponding bridge contract ABI — it assumes the bridge contract supports one of the common verification signatures. It cannot validate that the bridge contract is the correct one for the given source/target chain pair. It cannot detect if the message was tampered with before proof generation. It is limited by RPC provider availability and the specific bridge implementation's verification logic. It cannot verify messages from non-EVM chains or bridges that use custom verification schemas (e.g., zk-proofs, light client proofs). It cannot read the original message content — only the hash.
PLEASE NOTE
This tool is for educational and analytical purposes. Always verify the bridge contract address and ABI before using the tool. The accuracy of the verification depends on the bridge contract's implementation and the correctness of the proof data. The tool does not persist any data; all state is lost on page reload. EVM chains only.