NullRabbit
cohort.v1
← All symptoms
Symptom · search entry

Cross-chain bridge transfer stuck pending source finality: what is actually waiting

A bridge transfer stuck "pending source finality" is waiting for the source chain to make your deposit irreversible. The bridge cannot safely mint or release funds on the destination until the source-side transaction can no longer be reorganised away, so its attestation layer holds the transfer until the source chain reaches finality. The delay is therefore a property of the source chain's health at that moment, not of the bridge contract you are staring at.

Common causes

  • The source chain's finality is genuinely delayed: validators are missing votes, participation has dipped, or the chain is degraded under load, so the finalised checkpoint lags the chain tip.
  • The bridge's attestation set (guardians, oracles or light-client relayers) is itself lagging: enough of its observers must see the finalised state before they sign, and they run on the same class of infrastructure as everyone else.
  • The bridge has paused or raised its confirmation depth in response to perceived risk on the source chain, which lengthens the wait without any visible failure.
  • The destination side is congested, so a transfer that has cleared finality still sits unexecuted in the relay queue.

System-level mechanism

Bridges convert one chain's state into another's only at finality boundaries, because acting on optimistic confirmation would let a reorganisation double-spend the bridge. That makes every bridge a consumer of the source chain's worst-case finality time, and it makes validator infrastructure health a hidden dependency of cross-chain transfers: a chain whose validators are saturated finalises late, and every bridge out of it inherits the delay. The failure surfaces two or more hops away from its cause, which is why it is routinely misdiagnosed as a bridge bug.

What this indicates

A single stuck transfer indicates the source chain's finality lagged at the moment you crossed; many stuck transfers across users indicate source-chain degradation or an attestation set falling behind. In both cases the diagnostic question is the same: what does source-chain finality lag look like right now, and is the chain's validator set healthy.

Related issues

Confirmation times slowing under load on the source chain; validators falling behind and missing votes, which delays finality; partial degradation where the source chain serves reads normally while consensus lags.

Deep references

Related symptoms
Evidence