Migration GuidesNon-EVM and Prefills

Non-EVM and Prefills Migration

Support non-EVM chains and deterministic relay hashes for prefills.

This migration introduces two major features: non-EVM chain support (extending Across beyond EVM-only) and prefills (deterministic relay hashes enabling fills that occur simultaneously with or before deposits).

Contract migration occurred January 23, 2025. Breaking changes took effect on that date.

What Changed

Non-EVM Expansion

Multiple SpokePool functions and events now use bytes32 addresses instead of address, facilitating cross-compatibility between EVM and non-EVM deployments (like Solana).

Prefills

A new unsafeDeposit function enables prefills — fills that occur simultaneously with or before deposits. Deterministic relay hashes ensure deposit inclusion timing on origin chains doesn't affect destination fill correctness.

Event Renaming

Four SpokePool events are renamed and updated:

Old EventNew Event
V3FundsDepositedFundsDeposited
RequestedSpeedUpV3DepositRequestedSpeedUpDeposit
FilledV3RelayFilledRelay
RequestedV3SlowFillRequestedSlowFill

All replacement events convert address types to bytes32 and change depositId from uint32 to uint256.

Repayment Flexibility

The new fillRelay function allows relayers to designate a repayment address different from the fill-executing address.

Who Is Affected

  • Adopt /deposit/status endpoint instead of independently indexing Across events (~60 second latency)
  • Use the new deposit method (not depositV3) for future non-EVM destination support
  • Relayers: migrate toward fillRelay for repayment address selection and non-EVM fill capabilities

On this page