> For the complete documentation index, see [llms.txt](https://docs.native.org/native-dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.native.org/native-dev/build-with-native/swap-aggregators/crosschain-swap-api/get-firm-quote.md).

# GET Firm quote

## /bridge/firm-quote

> Request executable calldata for initiating a bridging request

```json
{"openapi":"3.1.1","info":{"title":"Native Brdige API","version":"1.0.0"},"servers":[{"url":"https://v2.api.native.org"}],"security":[],"paths":{"/swap-api-v2/v1/bridge/firm-quote":{"get":{"summary":"/bridge/firm-quote","deprecated":false,"description":"Request executable calldata for initiating a bridging request","tags":[],"parameters":[{"schema":{"pattern":"^0x[a-fA-F0-9]{40}$","type":"string"},"name":"from_address","in":"query","description":"Effectively recipient. This is the pay out address of the final swapped tokens. Funding address will always be the address calls Native Bridge Contract.","required":true},{"schema":{"type":"string","enum":["ethereum","bsc","arbitrum","base"]},"name":"src_chain","in":"query","description":"Blockchain name of the chain to initiate bridging, eg: ethereum, arbitrum, ... (refer to network name reference)","required":true},{"schema":{"type":"string","enum":["ethereum","bsc","arbitrum","base"]},"name":"dst_chain","in":"query","description":"Blockchain name of the chain to receive bridged tokens, eg: ethereum, arbitrum, ... (refer to network name reference)","required":true},{"schema":{"pattern":"^0x[a-fA-F0-9]{40}$","type":"string"},"name":"token_in","in":"query","description":"Address of the token to be sold/bridge-out","required":true},{"schema":{"pattern":"^0x[a-fA-F0-9]{40}$","type":"string"},"name":"token_out","in":"query","description":"Address of the token to be bought/bridge-in","required":true},{"schema":{"type":"string"},"name":"amount","in":"query","description":"The amount of `token_in` token to pay/sell/bridge-out","required":true},{"schema":{"default":0.5,"type":"number"},"name":"slippage","required":false,"in":"query","description":"Number in percent. For example, passing the value 5 means 5%, 0.1 means 0.1% slippage tolerance. In cross chain swaps, slippage is applied to ensure minimum amount out at dst chain filling, if the amount is not met, the order will fail and user should go through refund or wait for auto-refund."},{"schema":{"pattern":"^0x[a-fA-F0-9]{40}$","type":"string"},"name":"refund_to","in":"query","description":"The address to receive refunded tokens in an event of fail and refund. This MUST be the real user address or any address that can process the refund. Otherwise the fund will stuck.","required":true},{"schema":{"type":"string"},"name":"version","in":"query","description":"The version of Native Swap Router (if bridging includes token swaps). Leave empty or use 4 (latest)","required":false},{"schema":{"type":"string"},"name":"api_key","in":"header","description":"The API key that was assigned to you by Native","required":true}],"responses":{"200":{"description":"Successful response containing executable calldata for initiating a bridging request","headers":{},"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates whether the request was successful"},"orders":{"type":"array","description":"Array of order objects containing swap details","items":{"type":"object","properties":{"pool":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the rfq swap pool"},"signer":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the signer"},"recipient":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address that will receive the swapped tokens"},"sellerToken":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the token being sold"},"buyerToken":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the token being bought"},"effectiveSellerTokenAmount":{"type":"string","description":"Effective amount of seller token (in wei)"},"sellerTokenAmount":{"type":"string","description":"Amount of seller token (in wei)"},"buyerTokenAmount":{"type":"string","description":"Amount of buyer token (in wei)"},"deadlineTimestamp":{"type":"integer","format":"int64","description":"Unix timestamp after which the quote expires. Bridge init tx must execute before this timestamp."},"nonce":{"type":"integer","format":"int64","description":"Nonce for the quote"},"quoteId":{"type":"string","description":"Unique identifier for the quote"},"multiHop":{"type":"boolean","description":"Whether there are subsequent multihop swaps."},"signature":{"type":"string","description":"Signature for the order"},"externalSwapCalldata":{"type":"string","description":"Calldata for external swap operations"},"amountOutMinimum":{"type":"string","description":"Minimum amount out expected (in wei)"},"widgetFee":{"type":"object","description":"Fee configuration for frontend","properties":{"signer":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the fee signer"},"feeRecipient":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address that receives the fee"},"feeRate":{"type":"number","format":"double","description":"Fee rate in bps"}}},"widgetFeeSignature":{"type":"string","description":"Signature for the widget fee"},"confidenceExtractedValueT":{"type":"integer","format":"int64","description":"Confidence extracted value T"},"confidenceExtractedValueE":{"type":"integer","format":"int32","description":"Confidence extracted value E"},"confidenceExtractedValueM":{"type":"integer","format":"int32","description":"Confidence extracted value M"},"confidenceExtractedValueN":{"type":"integer","format":"int32","description":"Confidence extracted value N"}}}},"widgetFee":{"type":"object","description":"Overall widget fee configuration","properties":{"signer":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the fee signer"},"feeRecipient":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address that receives the fee"},"feeRate":{"type":"number","format":"double","description":"Fee rate in bps"}}},"widgetFeeSignature":{"type":"string","description":"Overall widget fee signature"},"recipient":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address that will receive the final tokens"},"amountIn":{"type":"string","description":"Total input amount (in wei)"},"amountOut":{"type":"string","description":"Total output amount after fees (in wei)"},"amountOutBeforeFee":{"type":"string","description":"Output amount before fees are deducted (in wei)"},"fallbackSwapDataArray":{"type":"array","description":"Fallback swap data array for alternative swap paths","items":{"type":"object"}},"tokenTransferFeeOnPercent":{"type":"number","format":"double","description":"Token transfer fee as a percentage"},"txRequest":{"type":"object","description":"Transaction request data to execute the bridge","properties":{"target":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Target contract address to call"},"calldata":{"type":"string","description":"Encoded function call data"},"value":{"type":"string","description":"ETH value to send with the transaction (in wei)"},"function":{"type":"string","description":"Function name to call on the target contract"}}},"source":{"type":"array","description":"Source identifiers for the quote","items":{"type":"integer","format":"int32"}},"quoteSource":{"type":"array","description":"Quote source identifiers","items":{"type":"integer","format":"int32"}},"errorMessage":{"type":"string","description":"Error message if any issues occurred"},"router_version":{"type":"string","description":"Version of the router used"},"toWrap":{"type":"boolean","description":"Whether the operation involves wrapping tokens"},"toUnwrap":{"type":"boolean","description":"Whether the operation involves unwrapping tokens"},"amountInOffset":{"type":"integer","format":"int32","description":"Offset for amountIn in calldata"},"amountOutMinimumOffset":{"type":"integer","format":"int32","description":"Offset for amountOutMinimum in calldata"},"priority":{"type":"string","description":"Transaction priority level (e.g., 'fast')","enum":["fast","standard","slow"]}}}}}}}}}}}
```
