Skip to docs content
Home
Reference

Chains and Timelocks

Current chain-family values, hash-function rules, and Fusion's present timelock policy layers.

This page is a snapshot of the current values Fusion uses.

It intentionally calls out a real implementation detail:

there is more than one timelock layer today, and those layers are not identical.

Chain registry

The backend chain registry currently includes:

Chain Chain ID Family Block time Finality time Hash function Native symbol
Arbitrum Sepolia 421614 evm 0.25s 60s keccak256 ETH
Base Sepolia 84532 evm 2s 60s keccak256 ETH
Midnight Preprod 2147483647 midnight 6s 18s sha256 DUST

Hash-function policy

The backend helper logic currently resolves hash function like this:

Route Hash function
Same-family, non-shielded EVM route chain-native behavior, which is keccak256 for the EVM chains in the registry
Cross-family route sha256
Shielded route on any family sha256

This is why the HTLC contracts expose both standard creation methods and _SHA256 variants.

Timelock layer 1: backend route policy

The backend has a route-aware timelock helper with these values:

Route Source seconds Destination seconds
EVM -> EVM 2700 900
EVM -> Midnight 2700 900
Midnight -> EVM 2700 900
Midnight -> Midnight 3600 1200

The backend uses this layer for route guidance such as sourceLockRequirements in the HTLC params response.

Timelock layer 2: EVM HTLC contract constants

The HTLCAtomicSwap contract also hardcodes:

Contract constant Value
SOURCE_CHAIN_TIMEOUT 2700 seconds
DESTINATION_CHAIN_TIMEOUT 900 seconds

Those values are the current EVM contract defaults for HTLC creation.

Why this matters

For routes that touch EVM, these two layers intentionally share the same 45 minute source / 15 minute destination floor. That gives local shielded settlement proof generation enough time to complete before the destination HTLC becomes refundable.

The safest way to read this today is:

  • the backend route policy expresses the coordinator's intended timing budget per route family
  • the EVM HTLC contract constants express the on-chain timeout defaults enforced by the Solidity implementation
  • backend startup validates the deployed EVM HTLC contracts expose at least these timeout values before accepting swaps

If you are integrating or operating Fusion, verify the deployed contract addresses before treating any timeout table as authoritative.

Practical advice

  • Use backend discovery and route APIs for runtime guidance.
  • Read the current contract if you need exact EVM timeout behavior.
  • Reconcile timing assumptions before treating a route as production-ready.

Chain-family notes

EVM family

  • uses 20-byte addresses
  • uses keccak256 by default for same-family routes
  • currently covers Arbitrum Sepolia and Base Sepolia as the live public corridor

Midnight family

  • uses 32-byte canonical hex addresses
  • uses sha256
  • requires extra operational services (sidecar, proof server, indexer)
  • exposes NIGHT as the live swap asset and keeps DUST as the gas/resource token