Skip to main content
Omnichain liquidity transport protocol built on LayerZero. Provides native asset bridging with unified liquidity pools.

Notes

  • Uses LayerZero endpoint IDs (dstEid) for destination chains, NOT EVM chain IDs
  • Each token has its own pool contract (poolNative for ETH, poolUSDC for USDC, etc.)
  • Native token fees required for LayerZero messaging — sent as msg.value
  • Unified liquidity pools across chains — no wrapped tokens, receives native assets
  • Finality depends on LayerZero verification (typically 1-5 minutes)
  • Use quoteOFT to get fee estimates before sending

Its names in a program

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

Deployments

ABI

StargatePoolABI

import StargatePoolABI from "./protocols/stargate/StargatePoolABI.json"; Speaks for: poolNative, poolUSDC, poolUSDT.
  • send((uint32 dstEid, bytes32 to, uint256 amountLD, uint256 minAmountLD, bytes extraOptions, bytes composeMsg, bytes oftCmd) _sendParam, (uint256 nativeFee, uint256 lzTokenFee) _fee, address _refundAddress) payable returns ((bytes32 guid, uint64 nonce, (uint256 nativeFee, uint256 lzTokenFee) fee) msgReceipt, (uint256 amountSentLD, uint256 amountReceivedLD) oftReceipt)
  • quoteOFT((uint32 dstEid, bytes32 to, uint256 amountLD, uint256 minAmountLD, bytes extraOptions, bytes composeMsg, bytes oftCmd) _sendParam) view returns ((uint256 minAmountLD, uint256 maxAmountLD) oftLimit, (int256 feeAmountLD, string description)[] oftFeeDetails, (uint256 amountSentLD, uint256 amountReceivedLD) oftReceipt)

Next steps