Skip to content

estimateBridge

Quote a bridge/swap before committing — for the swap UI (in-app/public) and send-with-exit-bridge. Returns the SAME plan + carve the portal-broadcaster will execute, so the UI can show an accurate "you send fromAmount → recipient receives at least toAmountMin; bridge cost = carve (+ nativeFeeWei)". Amounts are returned as bigint base units.

Import

ts
import { estimateBridge } from "@0xcurvy/curvy-sdk/actions";

Usage

ts
const q = await estimateBridge({
  fromChainId, toChainId, fromToken, toToken,
  fromAmount: amount.toString(), fromAddress: portalAddress,
});
// q.toAmountMin → minimum the recipient receives

Signature

ts
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.

ts
const result = await estimateBridge({
  fromChainId, 
  toChainId,
  fromToken,
  toToken,
  fromAmount,
  fromAddress,
});

toChainId

  • Type: number
  • Required: yes

The destination chain identifier.

ts
const result = await estimateBridge({
  fromChainId,
  toChainId, 
  fromToken,
  toToken,
  fromAmount,
  fromAddress,
});

fromToken

  • Type: string
  • Required: yes

The source token address.

ts
const result = await estimateBridge({
  fromChainId,
  toChainId,
  fromToken, 
  toToken,
  fromAmount,
  fromAddress,
});

toToken

  • Type: string
  • Required: yes

The destination token address.

ts
const result = await estimateBridge({
  fromChainId,
  toChainId,
  fromToken,
  toToken, 
  fromAmount,
  fromAddress,
});

fromAmount

  • Type: string
  • Required: yes

Gross input amount, decimal string (base units of fromToken).

ts
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).

ts
const result = await estimateBridge({
  fromChainId,
  toChainId,
  fromToken,
  toToken,
  fromAmount,
  fromAddress, 
});

toAddress

  • Type: string
  • Required: no

Destination receiver; defaults to fromAddress when omitted.

ts
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.

ts
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.

Source

packages/@0xcurvy/sdk/src/actions/bridge/estimateBridge.ts