Documentation Index
Fetch the complete documentation index at: https://docs.allium.so/llms.txt
Use this file to discover all available pages before exploring further.
crosschain.bridges.matched_transfers pairs outbound bridge transactions on the source chain with their corresponding inbound delivery transactions on the destination chain. Each row represents a single confirmed end-to-end bridge transfer with both legs reconciled, along with hydrated token amounts, USD values, spread, and latency metrics.
Only matched pairs are included — outbound transactions that could not be
matched to an inbound delivery (e.g. in-flight, refunded, or missing data) are
excluded from this view. Query the per-direction tables
(
crosschain.bridges.bridges_outbound_transfers,
crosschain.bridges.messaging_protocols_outbound_messages,
crosschain.bridges.bridge_aggregators_outbound_transfers) if you need to see
unmatched outbound activity.Protocol Coverage
Matched transfers are produced for 17 bridge and messaging protocols, grouped bybridge_type:
| Bridge Type | Protocols |
|---|---|
bridge | across_v3, debridge_dln, debridge_gate, gas_zip_lz_v2, mayan_mctp, mayan_swift, stargate_v2, usdt0 |
messaging_protocol | axelar, chainlink_ccip, circle_cctp_v1, circle_cctp_v2, hyperlane, layerzero_v2, socket_dl_v1, wormhole |
bridge_aggregator | bungee_v3 |
Match Types
Thematch_type column describes how the outbound and inbound legs were paired:
exact: deterministic join on a protocol-native identifier (e.g.deposit_id, LayerZeroguid, CCTP nonce, Wormhole sequence, Axelarcommand_id, order hash).composite: joined on a combination of recipient address, token, amount, and a source→destination chain pair within a time window, for protocols where no single global identifier is emitted on both sides.
Spread & Latency
spread_percentage=(outbound_usd_amount - inbound_usd_amount) / outbound_usd_amount * 100. Nulled out when either USD amount is missing, the outbound amount is zero, or the absolute spread exceeds 25% (usually a sign of a mispriced token or mismatched pair).latency_seconds= seconds elapsed from outbound to inbound block timestamp. Can be negative for intent-based protocols (Across, DeBridge DLN, Mayan Swift) where fillers front funds on the destination chain before the source-side transaction is finalized. Nulled out when outside the-3600sto86400srange.
Sample Queries
Average bridge latency and spread by protocol over the last 7 days.Table Columns
Unique key:unique_id
| Column Name | Data Type | Description |
|---|---|---|
| project | VARCHAR | The project or product name (e.g., across, stargate, layerzero). |
| protocol | VARCHAR | The specific protocol version identifier (e.g., across_v3, stargate_v2, layerzero_v2). |
| match_type | VARCHAR | How the outbound and inbound legs were matched: exact (deterministic ID match) or composite (matched on recipient + amount within a time window). |
| bridge_type | VARCHAR | Classification of the protocol: bridge, messaging_protocol, or bridge_aggregator. |
| source_chain | VARCHAR | The chain where the bridge transfer originates (outbound side). |
| destination_chain | VARCHAR | The chain where the bridge transfer is delivered (inbound side). |
| outbound_token_address | VARCHAR | The contract address of the token sent on the source chain. |
| outbound_token_symbol | VARCHAR | Token ticker symbol on the source chain (e.g., USDC, ETH). |
| outbound_amount_raw | VARCHAR | Raw outbound token amount, not adjusted for decimals. |
| outbound_amount | FLOAT | Decimal-adjusted outbound token amount. |
| outbound_usd_amount | FLOAT | USD value of the outbound transfer at the time of the transaction. NULL if price unavailable or exceeds the $2B cap. |
| inbound_token_address | VARCHAR | The contract address of the token received on the destination chain. |
| inbound_token_symbol | VARCHAR | Token ticker symbol on the destination chain. |
| inbound_amount_raw | VARCHAR | Raw inbound token amount, not adjusted for decimals. |
| inbound_amount | FLOAT | Decimal-adjusted inbound token amount. |
| inbound_usd_amount | FLOAT | USD value of the inbound transfer at the time of the transaction. NULL if price unavailable or exceeds the $2B cap. |
| spread_percentage | FLOAT | Percentage difference between outbound and inbound USD amounts: (outbound - inbound) / outbound * 100. NULL when either USD amount is missing, outbound is zero, or spread exceeds 25%. |
| outbound_block_timestamp | TIMESTAMP_NTZ(9) | Timestamp of the outbound (source chain) transaction. |
| inbound_block_timestamp | TIMESTAMP_NTZ(9) | Timestamp of the inbound (destination chain) transaction. |
| latency_seconds | BIGINT | Time in seconds from outbound to inbound delivery. Can be negative for intent-based protocols where fillers front funds. NULL when outside the -3600 to 86400 second range. |
| outbound_sender_address | VARCHAR | The address that initiated the bridge transfer on the source chain (the user). |
| inbound_recipient_address | VARCHAR | The address that received funds on the destination chain (the user). |
| outbound_transaction_hash | VARCHAR | Transaction hash of the outbound bridge event on the source chain. |
| inbound_transaction_hash | VARCHAR | Transaction hash of the inbound delivery event on the destination chain. |
| outbound_recipient_address | VARCHAR | The bridge contract or relayer address that received the outbound transfer on the source chain. |
| inbound_sender_address | VARCHAR | The bridge contract or relayer address that sent the inbound transfer on the destination chain. |
| outbound_block_number | BIGINT | Block height of the outbound transaction on the source chain. |
| inbound_block_number | BIGINT | Block height of the inbound transaction on the destination chain. |
| outbound_unique_id | VARCHAR | Unique identifier for the outbound leg. Joins back to the unique_id column of the corresponding outbound source table (bridges_outbound_transfers, messaging_protocols_outbound_messages, or bridge_aggregators_outbound_transfers). |
| inbound_unique_id | VARCHAR | Unique identifier for the inbound leg. Joins back to the unique_id column of the corresponding inbound source table (bridges_inbound_transfers, messaging_protocols_inbound_messages, or bridge_aggregators_inbound_transfers). |
| join_key | VARCHAR | The protocol-specific key used to match outbound and inbound legs (e.g., deposit_id, guid, nonce, order_id). |
| unique_id | VARCHAR | A unique identifier for this matched transfer record. |
| _created_at | TIMESTAMP_NTZ(9) | Timestamp when this record was created in Allium. |
| _updated_at | TIMESTAMP_NTZ(9) | Timestamp when this record was last updated in Allium. |