Skip to main content
GET
/
2
/
bridge
/
quote
[Alpha Preview] Get bridge quote
curl --request GET \
  --url https://demo-api.mobula.io/api/2/bridge/quote
{
  "data": {
    "estimatedAmountOut": "<string>",
    "estimatedAmountOutUsd": "<string>",
    "fees": {
      "bridgeFeeBps": 123,
      "gasFeeUsd": "<string>",
      "totalFeeUsd": "<string>"
    },
    "estimatedTimeMs": 123,
    "maxTradeUsd": 123,
    "steps": [
      {
        "type": "approve",
        "description": "<string>",
        "tx": {
          "to": "<string>",
          "data": "<string>",
          "value": "<string>",
          "chainId": 123
        }
      }
    ],
    "deposit": {
      "evm": {
        "to": "<string>",
        "data": "<string>",
        "value": "<string>",
        "chainId": 123
      },
      "solana": {
        "to": "<string>",
        "amount": "<string>",
        "memo": "<string>",
        "mint": "<string>",
        "decimals": 123,
        "type": "<string>"
      }
    }
  }
}
Alpha Preview — This endpoint is in alpha and may change without notice. The API surface, response format, and supported chains may evolve.

Overview

The Bridge Quote endpoint returns a ready-to-sign deposit transaction for cross-chain token transfers. The Mobula solver detects deposits in real-time (via flash blocks on Base, gRPC on Solana) and fills on the destination chain. Typical latency: ~500ms for Base and Solana, ~1-3s for other chains.

Supported Chains

ChainChain IDBridge Contract
Baseevm:84530x867A784039D4842A32Ddd1277729Ad1373301458
BSCevm:560x7C57e0c67dE10cF1697326795326f5c8b073072c
Arbitrumevm:421610x7A0B2640E20a2e21c00E12925BEBD4a791082826
Polygonevm:1370xA28B4FFA97E475a1c584B388351092f4554C0DCC
Solanasolana:solanaSolver address (memo-based)
HyperLiquidhl:mainnetL1 bridge protocol

Token Support

  • Native tokens: ETH, BNB, SOL, MATIC, USDH — use 0x0000000000000000000000000000000000000000 or omit originToken/destinationToken
  • ERC-20 / SPL tokens: Any token with liquidity. For ERC-20 origins on Base, the quote uses an atomic swap+bridge via SwapBridgeHelper (single TX after approval)

Fees & Limits

  • Fee: 10 basis points (0.1%)
  • Max trade: $10,000 USD per transaction
  • Slippage: Default 1%, configurable up to 50%

Integration Flow

  1. Call GET /2/bridge/quote with origin/destination chains, token, amount, and wallet
  2. If steps contains an approve step, send the approval TX first
  3. Send the deposit transaction from deposit.evm or deposit.solana
  4. Poll GET /2/bridge/status/{txHash} until status is filled or settled

SDK Usage

import { Mobula } from "@mobula/sdk";

const mobula = new Mobula({ apiKey: "YOUR_API_KEY" });

// Get bridge quote: 0.1 ETH from Base to Solana
const quote = await mobula.rest.fetchBridgeQuote({
  originChainId: "evm:8453",
  destinationChainId: "solana:solana",
  amount: "0.1",
  walletAddress: "YourSolanaAddress...",
});

console.log(quote.data.estimatedAmountOut); // e.g. "0.68421052"
console.log(quote.data.fees.totalFeeUsd);   // e.g. "0.25"
console.log(quote.data.deposit);            // ready-to-sign TX data

Query Parameters

originChainId
string
required

Origin chain ID (e.g. evm:8453, evm:56, solana:solana, hl:mainnet)

Example:

"evm:8453"

destinationChainId
string
required

Destination chain ID

Example:

"solana:solana"

originToken
string
default:0x0000000000000000000000000000000000000000

Origin token address. Use 0x0000...0000 or omit for native token (ETH, BNB, SOL)

destinationToken
string
default:0x0000000000000000000000000000000000000000

Destination token address. Use 0x0000...0000 or omit for native token

amount
string
required

Human-readable amount to bridge (e.g. 0.1 for 0.1 ETH)

Example:

"0.1"

walletAddress
string
required

Recipient wallet address on the destination chain (EVM 0x format or Solana base58)

slippage
string
default:1

Slippage tolerance in percent (default 1%)

Response

200 - application/json

Bridge quote with deposit transaction data

data
object
required