Skip to main content
GET
/
2
/
bridge
/
quote
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,
    "deposit": {
      "evm": {
        "to": "<string>",
        "data": "<string>",
        "value": "<string>",
        "chainId": 123,
        "approvalAddress": "<string>",
        "approvalToken": "<string>",
        "approvalAmount": "<string>"
      },
      "solana": {
        "to": "<string>",
        "amount": "<string>",
        "memo": "<string>",
        "serializedTx": "<string>"
      },
      "hl": {
        "to": "<string>",
        "token": "<string>",
        "amount": "<string>"
      }
    },
    "steps": [
      {
        "type": "<string>",
        "tx": {
          "to": "<string>",
          "data": "<string>",
          "value": "<string>",
          "chainId": 123,
          "approvalAddress": "<string>",
          "approvalToken": "<string>",
          "approvalAmount": "<string>"
        },
        "description": "<string>"
      }
    ]
  },
  "error": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.mobula.io/llms.txt

Use this file to discover all available pages before exploring further.

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)

Limits

  • 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", "solana:solana", "hl:mainnet")

destinationChainId
string
required

Destination chain ID (e.g., "evm:8453", "solana:solana", "hl:mainnet")

amount
string
required

Human-readable amount of origin token to bridge (e.g., "0.1")

walletAddress
string
required

Recipient wallet address on the destination chain (EVM hex, Solana base58, or HL hex).

originToken
string

Origin token contract/mint address. Omit or pass the zero address for the native token.

destinationToken
string

Destination token contract/mint address. Omit or pass the zero address for the native token.

slippage
string

Slippage tolerance in percent (0-50, default: 1).

senderAddress
string

Origin-chain sender address. Required when bridging an SPL token from Solana (the wallet signing the swap+deposit TX).

Response

200 - application/json

Bridge quote response. Either data is populated with quote + deposit instructions, or error describes why the quote could not be built.

data
object
error
string

Error message when the quote could not be built (missing params, unsupported route, price unavailable, amount over cap, swap failed, …).