Skip to main content
Blockfront

Crypto markets, protocols and policy

How to Compare Both Records of a Crypto Bridge Transfer

Compare the source deposit with the destination fill using the shared deposit ID, recipient, tokens and amounts; a wallet balance alone cannot prove a bridge transfer completed.

Blockfront Editorial

2 min read

How to Compare Both Records of a Crypto Bridge Transfer

A cross-chain transfer creates separate records on the source and destination chains: one for the deposit and one for the delivery. Compare the transaction details on both chains to confirm that the intended recipient received the expected token and amount.

What does each chain record show?

The source record shows the transaction that initiated the transfer. In Across, the source SpokePool emits a V3FundsDeposited event with fields such as the deposit ID, destination chain, input and output tokens, amounts and recipient.

The destination record shows whether a relayer delivered the funds. Across emits a FilledV3Relay event when an intent is filled; the fill uses the relayer’s tokens, so the destination transaction can have a different sender from the original deposit. For the fee side of that calculation, read why Acrossbridge fees change USDC output.

How do you match the two chain records?

Start with the source transaction hash, then read the deposit ID and destination chain from its event. Find the corresponding destination fill and compare the shared transfer details, rather than expecting the two transaction hashes to match.

  • Check that the destination chain and recipient match the source instructions.
  • Compare the output token and amount with the requested output, allowing for fees specified in the deposit.
  • Confirm the destination transaction succeeded and the fill event identifies the same deposit.
  • Check the source and destination transaction status on their respective chain explorers.

Across also lets users check status by source transaction hash or by origin chain and deposit ID. Its tracking API reports whether a deposit is pending, filled, expired or refunded; an indexer can take time to reflect a confirmed onchain event.

What does a mismatch mean?

A missing destination fill means the source deposit alone does not establish that delivery happened. Check whether the transfer is still pending, expired or refunded, and verify that you are looking at the intended destination chain and recipient.

A balance change is weaker evidence than matching records because tokens can move again after delivery. The useful comparison is the source deposit linked to a successful destination fill, with the recipient, token and amount checked against the original instructions.