estimateBridge
Quote a bridge/swap before committing — for the swap UI (in-app/public) and send-with-exit-bridge. Uses the broadcaster’s route planner, including its exit-portal carve. The route costs carve + providerFee in fromToken units: nativeFeeWei is already inside carve, and providerFee is what the provider (LiFi, the bridge, the integrator) deducts on the way. toAmount is the expected delivery and toAmountMin the current route's slippage floor. Execution quotes a fresh route, so neither is guaranteed. Amounts are bigint base units. Throws FeeEstimateUnavailableError when the provider's fees could not be priced.
Import
import { estimateBridge } from "@0xcurvy/curvy-sdk/actions";Usage
const q = await estimateBridge({
fromChainId, toChainId, fromToken, toToken,
fromAmount: amount.toString(), fromAddress: portalAddress,
});
// q.toAmount → expected delivery; q.carve + q.providerFee → route cost in fromTokenSignature
function estimateBridge(parameters: EstimateBridgeParameters): Promise<BridgeEstimate>Returns
Promise<BridgeEstimate>
The action resolves or returns the value shown in the signature.
Parameters
fromChainId
- Type:
number - Required: yes
The source chain identifier.
const result = await estimateBridge({
fromChainId,
toChainId,
fromToken,
toToken,
fromAmount,
fromAddress,
});toChainId
- Type:
number - Required: yes
The destination chain identifier.
const result = await estimateBridge({
fromChainId,
toChainId,
fromToken,
toToken,
fromAmount,
fromAddress,
});fromToken
- Type:
string - Required: yes
The source token address.
const result = await estimateBridge({
fromChainId,
toChainId,
fromToken,
toToken,
fromAmount,
fromAddress,
});toToken
- Type:
string - Required: yes
The destination token address.
const result = await estimateBridge({
fromChainId,
toChainId,
fromToken,
toToken,
fromAmount,
fromAddress,
});fromAmount
- Type:
string - Required: yes
Gross input amount, decimal string (base units of fromToken).
const result = await estimateBridge({
fromChainId,
toChainId,
fromToken,
toToken,
fromAmount,
fromAddress,
});fromAddress
- Type:
string - Required: yes
The sender address used for the quote (typically the deterministic portal address).
const result = await estimateBridge({
fromChainId,
toChainId,
fromToken,
toToken,
fromAmount,
fromAddress,
});toAddress
- Type:
string - Required: no
Destination receiver; defaults to fromAddress when omitted.
const result = await estimateBridge({
fromChainId,
toChainId,
fromToken,
toToken,
fromAmount,
fromAddress,
toAddress,
});config
- Type:
CurvyConfig - Required: no
Curvy config to use. Defaults to the ambient config.
const result = await estimateBridge({
fromChainId,
toChainId,
fromToken,
toToken,
fromAmount,
fromAddress,
config,
});Errors
Errors from config resolution and the underlying SDK operation are propagated to the caller.
Related
- Interacting with assets guide
estimateIntent— Select spendable notes and return fees, delivered amount, a sanitized route, and an in-memory handle that can be passed to executeIntent.executeIntent— Execute a handle returned by estimateIntent.getPlanSteps— Return the ordered, sanitized steps an integrator can present to a user.estimateExternalTransfer— Pre-deposit estimate for a swap-public-style external transfer.