Skip to main content
Cross-chain trading infrastructure with DLN (DeBridge Liquidity Network). Supports limit orders and market makers for cross-chain swaps.

Notes

  • Order-based architecture: users create orders specifying desired outcome, market makers compete to fill
  • Uses EVM chain IDs for destination (unlike LayerZero/Wormhole which use their own IDs)
  • Same DlnSource and DlnDestination addresses deployed across all supported chains
  • takeAmount should be set slightly below market rate to incentivize market makers
  • Supports cross-chain swaps natively (giveToken and takeToken can be different assets)
  • externalCall enables arbitrary contract execution on destination after the fill
  • Finality: typically 1-5 minutes (market maker fills immediately, then settles asynchronously)
  • Requires ERC-20 approval to DlnSource for the give token
  • On Arc (5042) the DLN globalFixedNativeFee() is 1000000000000000000 wei, which is 1 USDC: Arc’s native coin is USDC at 18 decimals, paid from the same balance as the USDC ERC-20 0x3600…0000 (read 2026-09-28)

Its names in a program

On Ethereum, Debridge is a namespace: its contracts need no import.

Deployments

ABI

DlnDestinationABI

import DlnDestinationABI from "./protocols/debridge/DlnDestinationABI.json"; Speaks for: dlnDestination.
  • fulfillOrder((uint64 makerOrderNonce, bytes makerSrc, uint256 giveChainId, bytes giveTokenAddress, uint256 giveAmount, uint256 takeChainId, bytes takeTokenAddress, uint256 takeAmount, bytes receiverDst, bytes givePatchAuthoritySrc, bytes orderAuthorityAddressDst, bytes allowedTakerDst, bytes allowedCancelBeneficiarySrc, bytes externalCall) _order, uint256 _fulFillAmount, bytes32 _orderId, bytes _permitEnvelope, address _unlockAuthority) payable

DlnSourceABI

import DlnSourceABI from "./protocols/debridge/DlnSourceABI.json"; Speaks for: dlnSource.
  • createOrder((address giveTokenAddress, uint256 giveAmount, bytes takeTokenAddress, uint256 takeAmount, uint256 takeChainId, bytes receiverDst, address givePatchAuthoritySrc, bytes orderAuthorityAddressDst, bytes allowedTakerDst, bytes externalCall, bytes allowedCancelBeneficiarySrc) _orderCreation, bytes _affiliateFee, uint32 _referralCode, bytes _permitEnvelope) payable returns (bytes32 orderId)

Next steps