Cross-Chain Message Testing Harness
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 Testing Harness lets you test cross-chain message passing between EVM chains using bridge contracts. You configure source and destination chain RPC endpoints, bridge contract addresses, and a message payload. The tool prepares a cross-chain message, sends it via the source bridge contract, and provides a way to check the destination bridge for received messages. This is essential for developers building cross-chain applications, testing bridge integrations, verifying message delivery, or debugging cross-chain communication flows. The tool displays message details, transaction hashes, and destination status, helping you validate that your cross-chain messaging pipeline is working correctly.
HOW TO USE
Connect your wallet to sign transactions. Enter the source chain RPC URL and destination chain RPC URL. Enter the source bridge contract address and destination bridge contract address. Enter a message payload (plain text) or hex data. Click "Prepare Message" to review the message details. Click "Send Cross-Chain Message" to send the message from the source chain. After the transaction is confirmed, you can click "Check Destination" to query the destination bridge for received messages. The tool displays the destination bridge's message count and the last message received. This gives you end-to-end visibility into the cross-chain message flow.
THE REAL MECHANISM
The tool uses a generic bridge ABI with functions typical of cross-chain messaging contracts: sendMessage(address target, bytes message) for sending, and lastMessage() and messageCount() for querying. When you send a message, the tool creates a contract instance on the source chain using the source bridge address and sends the message using the signer's wallet. The message is encoded as hex—if you provide plain text, it is UTF-8 encoded using ethers.utils.toUtf8Bytes and hexlified. When you check the destination, the tool connects to the destination RPC and queries the bridge contract for lastMessage and messageCount. All processing is client-side, with no data sent to external servers. Gas estimation is performed with a 20% buffer to reduce the risk of out-of-gas errors.
WHAT IT CANNOT SEE
This tool cannot test cross-chain messages for non-EVM chains. It cannot automatically verify message delivery without user-configured bridge contracts—you must query the destination manually. It cannot simulate cross-chain message delays or account for relayer latency. It cannot test message failures or relayer failures—it only tests the happy path. It cannot generate messages for arbitrary cross-chain protocols—it uses a generic bridge ABI that may not match all bridges. It cannot handle cross-chain message fees or gas estimation across chains automatically—you must have funds on the source chain. The tool does not automatically wait for message delivery—you must check the destination separately.
PLEASE NOTE
Cross-Chain Message Testing Harness works exclusively with EVM-compatible chains that support standard bridge interfaces. It requires a connected wallet on the source chain with sufficient gas funds. The bridge contracts must implement the generic ABI used by the tool. All processing occurs client-side in your browser; no data is sent to any external server. The tool is free to use and does not require authentication. For best results, test on testnet chains first before using mainnet.