On this page

Quote

Transfer quotes

Call the local OFTAdapter or OFT:

  • quoteOFT(sendParam) returns limits, fee details and the OFT receipt amounts.
  • quoteSend(sendParam, false) returns { nativeFee, lzTokenFee }.
  • Set the RPC call's account to the actual sender for the sender-dependent quote.

The native fee includes LayerZero messaging and the asset's flat fee. Pay it once. Use the same parameters for quote and send, refreshing before submission. Gas for the source transaction is additional.

Shared precision is at most six decimals. Untransferable dust stays with the sender. Token fees and the net amount use the protocol's shared-unit rounding. Never calculate financial amounts with JavaScript floating-point numbers.

Router actions through OmniseaLens

ActionLens quote
enableChain (origin), syncAsset, setRemoteCompliancequoteSync(router, assetId, eid, remoteCompliance, extraOptions)
enableChain on a non-origin chainNo quote: it sends no message. Pass no native value
setRemoteFeesquoteSetRemoteFees(router, assetId, eid, flatFee, feeBps, extraOptions)
withdrawRemoteFeesquoteWithdrawRemoteFees(router, assetId, eid, recipient, extraOptions)
restorequoteRestore(router, guid, originalMessage, extraOptions)

For a plain sync use zero compliance. Sync gas grows with the asset's enabled chains, so re-quote after enabling one. Each Lens method returns a native fee to pass as the corresponding router call's value. A Lens quote estimates messaging cost; it does not prove the caller has permission or that destination execution will succeed.