Stargate pricing is a Taxi vs Bus Quote for Cross-Chain Fees
Last updated
Stargate pricing is the total of the token-side protocol adjustment, the LayerZero V2 messaging quote, and source-chain gas for a specific route. Taxi pays for one immediate cross-chain message, while Bus shares messaging work across a batch and delays destination delivery. The quote is route-specific, not a permanent fee card: compare the same asset, amount, source chain, destination chain, receiver, and execution options, then add wallet gas to the quoted native fee.
Key takeaway: It is a cross-chain fee model combining protocol and messaging costs for users comparing routes: Taxi favors speed, while Bus batching delays arrival.
An Incomplete Quote Hides the Real Total
Two distinct quote results price a Stargate transfer without leaving a cost outside the displayed total.
Stargate exposes token economics through
quoteOFT
and message payment through
quoteSend. The first returns transfer limits, fee or reward details, and the amount expected at the destination. The second returns the messaging amount payable with the send call. A wallet then estimates gas for an ERC-20 approval, when required, and for
sendToken. Source gas, LayerZero worker prices, path credits, and Planner-set fees change independently, so a saved screen does not reserve a price. It records one route state.
Execution enforces both sides. Insufficient messaging value reverts the call, while an
amountReceivedLD
below
minAmountLD
triggers
SlippageTooHigh. Requoting with identical parameters restores a usable total.
Taxi and Bus Price Different Delivery Commitments
Two transport modes divide Stargate pricing between immediate delivery and shared messaging work.
Taxi encodes
oftCmd
as empty bytes and sends the transfer in its own LayerZero V2 message. Bus uses a one-byte command, settles the source-side transfer under instant guaranteed finality, and queues destination delivery until the configured batch leaves. A caller may also drive the Bus by purchasing its unfilled tickets. Only Taxi supports destination composition through
composeMsg, so a transfer that must trigger another contract action requires Taxi even when Bus carries the lower messaging quote.
Speed therefore has a defined mechanism: Taxi buys exclusive message transport, while Bus exchanges destination waiting time for shared transport costs.
Four Cost Lines Build the Payable Total
Four cost lines produce a complete Stargate quote: token adjustment, messaging payment, source gas, and auxiliary execution.
Token-Side Protocol Adjustment
One
OFTFeeDetail
carries a signed
int256
amount and a description identifying a fee or reward. A Stargate Pool route charges a treasury fee or returns a reward funded by its treasury fee pool. A Hydra OFT does not return routing rewards, although it may charge a treasury fee. The planning module updates these token-side economics for each pathway, and
quoteOFT
converts the active setting into the destination amount.
Effective basis points remain useful for comparison. One basis point equals 0.01%, while 10,000 basis points equal 100%; calculate that rate from each quote rather than treating it as a permanent tier.
Native-Token Costs
LayerZero Messaging Payment
A
MessagingFee
contains two
uint256
fields:
nativeFee
and
lzTokenFee. The selected payment covers message verification and execution through configured Decentralized Verifier Networks and an Executor. Destination, message size, execution options, and worker configuration set the returned amount.
Source Gas and Auxiliary Actions
Source transaction gas sits outside
MessagingFee. One additional ERC-20 approval transaction enters the total when the Stargate contract lacks sufficient allowance. Native drops, composition, and extra destination execution also enlarge the message quote, producing a larger required wallet balance.
Three Recipients Explain Where Value Goes
Three destinations account for value removed from a wallet during a priced Stargate transfer.
The Stargate contract treasury receives a positive token-side protocol fee. When the path offers a reward, value instead leaves the treasury fee pool and raises the quoted destination amount, subject to the available reward balance.
LayerZero messaging payments compensate the configured Decentralized Verifier Networks and Executor, plus any enabled messaging treasury charge. The Executor sources destination gas and delivers the verified message under the requested execution options.
The source network processes wallet gas through its own fee mechanism. A native drop belongs to the destination recipient rather than protocol revenue. Keeping those flows separate prevents transferred value from being misclassified as a fee.
Unit Arithmetic Prevents Quote Mismatches
Six-decimal USDC accounting keeps one Stargate calculation precise without introducing a volatile fiat conversion.
Consider one hypothetical Ethereum-to-Arbitrum transfer of 1,000 USDC. With six decimals, the input equals 1,000,000,000 subunits. Suppose
quoteOFT
returns
amountReceivedLD
of 999,200,000, leaving a token-side cost of 800,000 subunits, or 0.80 USDC. A Taxi
nativeFee
of 0.003 ETH plus 0.0012 ETH of source gas totals 0.0042 ETH. A Bus
nativeFee
of 0.0008 ETH plus 0.0010 ETH of source gas totals 0.0018 ETH. Bus saves 0.0024 ETH in this calculation, while both routes deliver 999.20 USDC.
Keep the assets separate in the final total. One WETH has 18 decimals, equal to 1,000,000,000,000,000,000 base units, so decimal conversion must precede every subtraction and comparison.
Seven Fields Make Quotes Reproducible
Seven
SendParam
fields make a Stargate quote reproducible across an interface, integration, or direct contract call.
The quoted parameters must match the submitted parameters byte for byte. Changing the receiver, minimum amount, transport command, or execution options creates a different job and therefore a different payable amount.
-
dstEidis a 32-bit destination endpoint identifier. -
tostores the receiver in a 32-byte value. -
amountLDandminAmountLDare 256-bit local-unit amounts. -
extraOptionsandcomposeMsgdescribe destination execution. -
oftCmdselects Taxi, Bus, or a driven Bus.
TaxiParams
contains six fields and represents the shared-decimal amount as
uint64;
RideBusParams
contains five fields and a native-drop flag.
A configured Bus route departs with between 2 and 10 passengers, while one caller may buy the remaining tickets by driving it.
Its ticket records a 56-bit identifier, preserving the exact queue position for later status checks.
Five Route Models Need the Same Comparison Lens
Five route models reveal why a lower bridge quote may represent a different workflow or asset form.
Regardless of the route taken, Stargate Taxi and Bus preserve the same-asset constraint across a supported path, such as USDC to USDC. Across uses destination relayers, Circle CCTP burns and mints native USDC, and Wormhole Wrapped Token Transfers creates a wrapped representation after locking the native asset.
| Route Model | Settlement Workflow | Custody or Control Model |
|---|---|---|
| Stargate Taxi | Same-asset transfer uses one immediate LayerZero V2 message | User signs; Stargate Pool or OFT contracts handle assets, while configured LayerZero workers handle messaging |
| Stargate Bus | Same-asset transfer enters a batch before destination delivery | User signs; Stargate contracts queue tickets, while the Planner configures fare and capacity |
| Across | A relayer fills the user intent before bundled settlement | SpokePool and HubPool contracts manage protocol liquidity; relayers control fill capital, and UMA secures optimistic settlement |
| Circle CCTP | Native USDC burns on the source and mints after attestation | Circle controls attestation, while CCTP contracts control burning and minting without a wrapped claim |
| Wormhole Wrapped Token Transfers | A native asset locks and a wrapped representation mints | Token Bridge contracts custody locked assets, while Guardian-signed VAAs authorize minting or release |
Each workflow exposes different cost drivers. Across prices relayer capital and settlement economics; Circle CCTP prices attestation mode and network execution; Wormhole adds redemption and representation considerations. Match the output asset and control model before ranking the quoted fee.
Three Rules Keep Quote Comparisons Fair
Three comparison rules separate genuine Stargate savings from mismatched inputs and omitted transactions. The mechanics are laid out in practice.
First, hold the source asset, destination asset, amount, chains, receiver, and execution options constant. Second, compare
amountReceivedLD, since the smallest message payment does not guarantee the largest token output. Third, add approval gas, source send gas,
nativeFee, and the token-side adjustment. A USDC-to-USDC Stargate route should not compete directly with a quote that delivers WETH, USDT, or a wrapped representation.
Request Taxi and Bus quotes close together, then refresh the chosen route before signing. The closest parameter and time match captures the cleanest cost difference.
Two Contract Calls Expose the Pricing Engine
Two public quote calls expose Stargate pricing before a wallet submits the transfer.
quoteOFT
returns three output groups: an
OFTLimit, an array of
OFTFeeDetail
records, and an
OFTReceipt. The receipt provides
amountSentLD
and
amountReceivedLD. Its received amount becomes the defensible basis for
minAmountLD, while the limit reveals whether route credits support the requested size.
quoteSend
accepts the final
SendParam
and a payment-token Boolean, then returns the two-field
MessagingFee. Lower-level integrations use
quoteTaxi
or
quoteRideBus. The legacy Stargate quote API is deprecated, leaving direct contract calls and the LayerZero Value Transfer API as the durable integration paths.
A complete saved comparison retains both quote results, the wallet gas estimate, asset decimals, route mode, and exact parameters used for submission.
Stargate pricing: quick answers
Can the bridged token cover every Stargate cost?
The bridged token does not cover every Stargate cost. A treasury fee, when present, is reflected in that asset, while source execution gas requires the source chain native token. LayerZero MessagingFee also exposes nativeFee and lzTokenFee fields, although an interface may support only native-token payment. An ERC-20 transfer with insufficient allowance adds a separate approval transaction, so holding only USDC does not fund every required Ethereum or Arbitrum action.
Why did a Stargate send revert after the fee was quoted?
A Stargate send reverts when execution no longer satisfies the quoted payment or receive conditions. The native messaging value may fall below the refreshed quote, or the token-side adjustment may reduce amountReceivedLD below minAmountLD. Modified extraOptions, composeMsg, oftCmd, receiver, or destination also invalidates the comparison. Rebuild both quotes from the exact final SendParam, update the wallet value, and submit those unchanged parameters.
Is ERC-20 approval gas included in the displayed transfer fee?
ERC-20 approval gas is separate from the Stargate messaging quote. When the existing allowance already covers amountLD, the wallet submits only the transfer transaction. An insufficient allowance requires another source-chain transaction before sendToken, adding its own network gas. Compare total wallet outflow rather than nativeFee alone, especially when one interface uses an unlimited standing allowance and another requests an exact allowance for each transfer.
When does Stargate return a routing reward instead of charging a token fee?
A Stargate Pool route returns a reward when its fee library incentivizes that pathway and the treasury fee pool can fund the payment. The quoteOFT response identifies the adjustment in OFTFeeDetail and incorporates it into amountReceivedLD. Rewards remain bounded by the treasury fee pool. Hydra OFT routes do not return these rewards, although they may charge a treasury fee, and every route still carries source gas and messaging costs.