Stargate

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.

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.

Five Route Models Need the Same Comparison Lens
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.