Get Aggregator Supported Chains
Return blockchain networks supported by the DEX aggregator. The supported list is dynamically configured server-side and may change over time.
Pass binanceChainId to filter to a single chain; omit it to get the full list.
Get Aggregator Supported Chains › Authorization
Headers
X-OC-APIKEYAPI Key issued by Binance Web3 API for authentication.
X-OC-TIMESTAMPCurrent UTC time in ISO 8601 format with milliseconds, e.g. 2026-05-11T10:08:57.715Z.
X-OC-SIGNRequest signature (Base64-encoded).
X-OC-RECV-WINDOWAllowed time deviation in milliseconds (default: 5000, max: 60000).
X-OC-NONCEUnique request identifier for anti-replay; falls back to X-OC-SIGN if omitted.
Query Parameters
binanceChainIdOptional chain identifier (e.g. "1"=Ethereum, "56"=BSC, "CT_501"=Solana). When set, only that chain is returned.
Get Aggregator Supported Chains › Responses
Supported chains returned successfully.
codeBusiness status code. 0 indicates success; any non-zero value indicates a business error.
msgStatus description message.
List of supported blockchain networks.
binanceChainIdUnique chain identifier (follows EIP-155 chainId for EVM chains; e.g. "1"=Ethereum, "56"=BSC, "CT_501"=Solana).
nameFull chain name.
shortNameShort chain name.
logoUrlChain logo image URL.
timestampServer response timestamp in milliseconds.
successConvenience flag derived from code == 0.
Get ERC-20 Approve Transaction
Build the on-chain transaction data needed to approve the DEX router to spend a user's ERC-20 token before a swap. Calldata is encoded per the ERC-20 ABI standard (approve() selector + spender + amount).
Get ERC-20 Approve Transaction › Authorization
Headers
X-OC-APIKEYAPI Key issued by Binance Web3 API for authentication.
X-OC-TIMESTAMPCurrent UTC time in ISO 8601 format with milliseconds, e.g. 2026-05-11T10:08:57.715Z.
X-OC-SIGNRequest signature (Base64-encoded).
X-OC-RECV-WINDOWAllowed time deviation in milliseconds (default: 5000, max: 60000).
X-OC-NONCEUnique request identifier for anti-replay; falls back to X-OC-SIGN if omitted.
Query Parameters
binanceChainIdUnique chain identifier (e.g. "1"=Ethereum, "56"=BSC).
tokenContractAddressERC-20 token contract address to approve (0x + 40 hex chars).
approveAmountApproval amount in the token's smallest unit (positive integer string). Example "1000000" = 1 USDT (decimals=6).
vendorRFQ vendor name. Required for equity / RWA tokens (Ondo, BStock); pass the vendorName from the /quote response (e.g. InchFusion, CowSwap, PcsXRfq). When provided, the backend returns approve calldata targeting the vendor-specific spender contract (e.g. 1inch Router, PcsX Permit2, CowSwap VaultRelayer) instead of the default DEX router.
For regular (non-RWA) tokens, this parameter is optional. If omitted, the backend uses the standard DEX router. If a valid RFQ vendor is passed, the backend resolves that vendor's spender — used when buying Ondo/BStock with a stablecoin, where the from-token (e.g. USDT) itself is not an RFQ token but must be approved to the RFQ vendor's router.
Get ERC-20 Approve Transaction › Responses
Approve transaction data returned successfully.
codemsgApprove transaction(s) to submit before the swap.
dataABI-encoded calldata for the ERC-20 approve() call. Selector + padded spender + padded amount.
dexContractAddressDEX router contract address (the spender in the approve() call). Configured per chain.
gasLimitGas limit ceiling for the approve transaction (integer string, gas units).
gasPriceGas price for the approve transaction (integer string, wei).
timestampsuccessGet Aggregated Quote
Query multiple DEX vendors in parallel and return the priced routes sorted by toTokenAmount (descending). Each route carries an independent quoteId (TTL ~30s) that the swap endpoint consumes to construct calldata for the chosen route.
Get Aggregated Quote › Authorization
Headers
X-OC-APIKEYAPI Key issued by Binance Web3 API for authentication.
X-OC-TIMESTAMPCurrent UTC time in ISO 8601 format with milliseconds, e.g. 2026-05-11T10:08:57.715Z.
X-OC-SIGNRequest signature (Base64-encoded).
X-OC-RECV-WINDOWAllowed time deviation in milliseconds (default: 5000, max: 60000).
X-OC-NONCEUnique request identifier for anti-replay; falls back to X-OC-SIGN if omitted.
Query Parameters
binanceChainIdUnique chain identifier (e.g. "56"=BSC, "1"=Ethereum, "CT_501"=Solana).
amountSell-token amount in the token's smallest unit (positive integer string, no decimals). Example "1000000" = 1 USDT (decimals=6).
fromTokenAddressSell-token contract address. EVM chains require 0x + 40 hex chars; non-EVM chains use the chain's native address format.
toTokenAddressBuy-token contract address. Must differ from fromTokenAddress.
vendorOptional vendor selector. When provided, only the specified vendor is queried through the single-vendor fast path; the request bypasses the multi-vendor dual-window, early-return, and price-check logic. Values are case-sensitive and must be one of LiquidMesh, Pancake, or Jupiter. The vendor must also support the requested chain. An unsupported value or unavailable vendor/chain returns PARAM_ERROR (40001). When omitted, the API queries all applicable vendors in parallel and returns the aggregated routes.
userWalletAddressUser wallet address. Required when quoting RFQ routes (equity / RWA tokens such as Ondo and BStock). This address is used as the receiver in the RFQ order and must match the wallet that signs rfq.typedDataToSign in the subsequent /swap call.
feePercentCustom fee (referral fee / Add Fee) percentage as a decimal string. Must be paired with feeSource — either both present or both absent.
Range by chain: (0, 5] for EVM chains (BSC, Ethereum, Base, etc.) and (0, 10] for Solana (CT_501) — greater than 0, up to the chain-specific maximum inclusive, max 2 decimal places. "1.5" means 1.5%. Values exceeding 2 decimal places are rejected with INVALID_FEE_PERCENT (40466).
four.meme tokens are not supported — do not pass fee parameters when either side of the pair is a four.meme token.
feeSourceFee deduction direction. FROM_TOKEN = deduct the fee from the sell token (the amount passed to the DEX is reduced to a net amount); TO_TOKEN = deduct the fee from the buy-token output (the user's actual received amount is reduced). Must be paired with feePercent.
Get Aggregated Quote › Responses
Quote routes returned successfully.
codemsgOne route per vendor that returned a valid quote, sorted by toTokenAmount descending.
quoteIdPer-route quote identifier (UUID, no dashes). Pass to the swap endpoint to lock in this route.
vendorNameSource vendor display name. Possible values include LiquidMesh, Lifi, 1inch, Pancake, Jupiter.
binanceChainIdChain identifier echoed from the request.
fromTokenAmountSell amount echoed from the request (smallest unit, integer string).
toTokenAmountEstimated buy-token amount returned by the vendor (smallest unit, integer string).
tradeFeeEstimated network fee for this route in USD. Null when the vendor does not return one. Note: this is an estimate for reference only and may be inaccurate. For accurate gas values, use the Transaction API GET /api/v1/dex/pre-transaction/gas-price and POST /api/v1/dex/pre-transaction/gas-limit.
estimateGasFeeEstimated gas in the chain's smallest unit (e.g. wei). May be null on Solana. Note: this is an estimate for reference only and may be inaccurate. For accurate gas values, use the Transaction API GET /api/v1/dex/pre-transaction/gas-price and POST /api/v1/dex/pre-transaction/gas-limit.
priceImpactPercentEstimated price impact percentage. Null when the vendor does not return one.
routerRouting path description, addresses joined with "--".
Sell-token metadata.
tokenContractAddressToken contract address.
tokenSymbolToken ticker.
tokenUnitPriceToken USD price (decimal string).
decimalToken decimals.
isHoneyPotWhether the token is a honeypot (buyable but not sellable).
taxRateToken tax rate. Range 0–1; "0.01" means 1%.
Buy-token metadata. Same shape as fromToken.
tokenContractAddressToken contract address.
tokenSymbolToken ticker.
tokenUnitPriceToken USD price (decimal string).
decimalToken decimals.
isHoneyPotWhether the token is a honeypot.
taxRateToken tax rate.
Routing path segments. Each segment corresponds to one hop on one DEX protocol; multi-DEX hops are flattened.
DEX protocol used for this segment.
dexNameDEX protocol name.
percentShare of total flow routed through this DEX (2-decimal percentage string).
Segment's sell-token info. Same shape as the top-level fromToken.
tokenContractAddresstokenSymbolfromTokenIndexSell-token index after global de-duplication (string form).
Segment's buy-token info.
tokenContractAddresstokenSymboltoTokenIndexBuy-token index after global de-duplication (string form).
executionModeExecution mode for this route. SWAP = standard on-chain swap (sign the tx object from /swap and broadcast). RFQ = signed order flow (sign rfq.typedDataToSign from /swap with EIP-712, submit via POST /order/submit, poll GET /order/{orderId}). Equity / RWA tokens always return RFQ.
approveTargetThe spender contract address the backend will encode into the approve calldata for this route. To obtain that calldata, call /approve-transaction with vendor=<vendorName> (the string name, e.g. "PcsXRfq") — the backend resolves the spender address internally from the vendor name. This field is provided for informational purposes only (e.g. to call ERC-20 approve() directly without going through /approve-transaction). Null when no approval is needed (e.g. native-token swap or already approved).
isBestWhether this route has the highest toTokenAmount among all routes returned in this response. At most one route per response has isBest=true.
feeAmountFee amount deducted for this route (smallest unit, integer string). Only populated when the request enabled the custom fee (feePercent + feeSource both present); null otherwise. FROM_TOKEN direction = originalFromCoinAmount × feePercent/100 (HALF_UP); TO_TOKEN direction = originalToCoinAmount × feePercent/100 (HALF_DOWN).
feeTokenContract address of the token in which the fee is denominated. FROM_TOKEN direction = sell-token address; TO_TOKEN direction = buy-token address. null when the custom fee is not enabled.
actualSwapAmountActual amount participating in the DEX swap (smallest unit, integer string). FROM_TOKEN direction = net amount after fee deduction (fromTokenAmount − feeAmount, i.e. the amountIn sent to the DEX); TO_TOKEN direction = original input amount (fee is taken from the output side, so the full input participates in the swap). null when the custom fee is not enabled.
timestampsuccessBuild Swap Transaction
Build the on-chain swap calldata for a previously quoted route. The request is matched against the cached quote by quoteId (TTL ~30s); if the entry has expired, QUOTE_EXPIRED (40401) is returned, and if the request parameters disagree with the cached quote, SWAP_QUOTE_MISMATCH (40462) is returned.
Build Swap Transaction › Authorization
Headers
X-OC-APIKEYAPI Key issued by Binance Web3 API for authentication.
X-OC-TIMESTAMPCurrent UTC time in ISO 8601 format with milliseconds, e.g. 2026-05-11T10:08:57.715Z.
X-OC-SIGNRequest signature (Base64-encoded).
X-OC-RECV-WINDOWAllowed time deviation in milliseconds (default: 5000, max: 60000).
X-OC-NONCEUnique request identifier for anti-replay; falls back to X-OC-SIGN if omitted.
Query Parameters
binanceChainIdUnique chain identifier (e.g. "56"=BSC, "1"=Ethereum, "CT_501"=Solana).
amountSell-token amount in the token's smallest unit (positive integer string, no decimals).
fromTokenAddressSell-token contract address.
toTokenAddressBuy-token contract address.
userWalletAddressUser wallet address (transaction sender).
quoteIdquoteId returned from /quote for the route to execute. TTL ~30s; expired entries return QUOTE_EXPIRED (40401).
slippagePercentMaximum slippage tolerance as a percentage string. Required unless autoSlippage=true.
Range by chain:
- EVM chains (BSC, Ethereum, Base, etc.):
0to100(inclusive) - Solana (
CT_501):0to less than100(i.e.< 100)
Range by vendor:
- 1inch, PancakeSwap:
0to50(values above 50 are rejected) - LiFi, LiquidMesh:
0to100(EVM) or0to< 100(Solana) - Jupiter (Solana):
0to less than100; the value is converted to basis points (slippageBps = ceil(slippagePercent × 100)) and applied to the on-chain swap
"0.5" means 0.5% maximum slippage. When autoSlippage=true this field is overridden by the auto-computed value.
approveTransactionWhen "true", signatureData includes the spender address and approve calldata so the client can submit it before the swap. Defaults to false.
approveAmountOverride approve amount (smallest unit, positive integer string). Defaults to the swap amount.
gasLimitGas limit override (positive integer string). EVM only.
gasLevelGas price tier. Defaults to "average".
priceImpactProtectionPercentMaximum allowed price impact percentage (0–100). Defaults to 90; set to 100 to disable.
autoSlippageWhen "true", slippage is auto-derived from market data and overrides slippagePercent. Either slippagePercent or autoSlippage=true must be provided — omitting both returns a parameter error. Defaults to "false".
maxAutoSlippagePercentCap on auto-derived slippage (only applies when autoSlippage=true).
computeUnitLimitSolana only — maximum compute units the transaction may consume (analogous to EVM gasLimit). Applies only when binanceChainId=CT_501.
computeUnitPriceSolana only — priority fee per compute unit (micro-lamports), analogous to EVM gasPrice. When omitted, the platform computes a value dynamically. Applies only when binanceChainId=CT_501.
tipsSolana only — Jito tips in SOL for MEV protection. Valid range [0.000000001, 2] (minimum 1 lamport). When specified, it is recommended to set computeUnitPrice=0. Applies only when binanceChainId=CT_501.
feePercentCustom fee (referral fee / Add Fee) percentage as a decimal string. Must be paired with exactly one of fromTokenReferrerWalletAddress or toTokenReferrerWalletAddress (the two referrer addresses are mutually exclusive).
Range by chain: (0, 5] for EVM chains (BSC, Ethereum, Base, etc.) and (0, 10] for Solana (CT_501) — greater than 0, up to the chain-specific maximum inclusive, max 2 decimal places. "1.5" means 1.5%. Values exceeding 2 decimal places are rejected with INVALID_FEE_PERCENT (40466).
four.meme tokens are not supported — do not pass fee parameters when either side of the pair is a four.meme token.
fromTokenReferrerWalletAddressWallet address that receives the fee deducted from the sell token (FROM_TOKEN direction). Mutually exclusive with toTokenReferrerWalletAddress — providing both returns CONFLICT_REFERRER_PARAMS (40468). Address format depends on the chain: EVM chains require 0x + 40 hex chars; Solana (CT_501) requires a Base58 pubkey. An invalid format returns INVALID_REFERRER_ADDRESS (40467). Must be paired with feePercent.
toTokenReferrerWalletAddressWallet address that receives the fee deducted from the buy-token output (TO_TOKEN direction). Mutually exclusive with fromTokenReferrerWalletAddress — providing both returns CONFLICT_REFERRER_PARAMS (40468). Address format depends on the chain: EVM chains require 0x + 40 hex chars; Solana (CT_501) requires a Base58 pubkey. An invalid format returns INVALID_REFERRER_ADDRESS (40467). Must be paired with feePercent. On Solana, the referrer must already be activated (funded with some SOL) or the request returns REFERRER_NOT_ACTIVATED (40469).
Build Swap Transaction › Responses
Swap transaction data returned successfully.
codemsgRouting result for the chosen vendor.
binanceChainIdChain identifier echoed from the request.
vendorNameVendor that supplied the executed quote (e.g. LiquidMesh, Lifi, 1inch, Pancake, Jupiter).
fromTokenAmountSell-token amount (smallest unit, integer string).
toTokenAmountEstimated buy-token amount (smallest unit, integer string).
tradeFeeEstimated network fee in USD. Note: this is an estimate for reference only and may be inaccurate. For accurate gas values, use the Transaction API GET /api/v1/dex/pre-transaction/gas-price and POST /api/v1/dex/pre-transaction/gas-limit.
estimateGasFeeEstimated gas in the chain's smallest unit (e.g. wei). Note: this is an estimate for reference only and may be inaccurate. For accurate gas values, use the Transaction API GET /api/v1/dex/pre-transaction/gas-price and POST /api/v1/dex/pre-transaction/gas-limit.
routerRouting path description, addresses joined with "--".
priceImpactPercentPrice impact percentage. Formula (received_value − sent_value) / sent_value.
Routing path segments. Same shape as the dexRouterList returned by /quote.
dexNamepercenttokenContractAddresstokenSymbolfromTokenIndextokenContractAddresstokenSymboltoTokenIndexSell-token metadata.
tokenContractAddresstokenSymboltokenUnitPricedecimalisHoneyPottaxRateBuy-token metadata.
tokenContractAddresstokenSymboltokenUnitPricedecimalisHoneyPottaxRatefeeAmountFee amount deducted for this swap (smallest unit, integer string). Only populated when the request enabled the custom fee; null otherwise. FROM_TOKEN direction = originalFromCoinAmount × feePercent/100 (HALF_UP); TO_TOKEN direction = originalToCoinAmount × feePercent/100 (HALF_DOWN).
feeTokenContract address of the token in which the fee is denominated. FROM_TOKEN direction = sell-token address; TO_TOKEN direction = buy-token address. null when the custom fee is not enabled.
actualSwapAmountActual amount participating in the DEX swap (smallest unit, integer string). FROM_TOKEN direction = net amount after fee deduction (fromTokenAmount − feeAmount); TO_TOKEN direction = original input amount (fee is taken from the output side). null when the custom fee is not enabled.
On-chain transaction payload to sign and submit.
fromUser wallet address (transaction sender).
toDEX router contract address (the transaction's to field).
dataABI-encoded calldata.
valueNative-token amount sent with the transaction (wei). "0" for ERC-20 swaps.
gasGas limit estimate. Note: this is an estimate for reference only and may be inaccurate. For accurate gas values, use the Transaction API GET /api/v1/dex/pre-transaction/gas-price and POST /api/v1/dex/pre-transaction/gas-limit.
gasPriceGas price (wei). Note: this is an estimate for reference only and may be inaccurate. For accurate gas values, use the Transaction API GET /api/v1/dex/pre-transaction/gas-price and POST /api/v1/dex/pre-transaction/gas-limit.
maxPriorityFeePerGasEIP-1559 max priority fee per gas (wei). Note: this is an estimate for reference only and may be inaccurate. For accurate gas values, use the Transaction API GET /api/v1/dex/pre-transaction/gas-price and POST /api/v1/dex/pre-transaction/gas-limit.
minReceiveAmountMinimum buy-token amount the user accepts at the slippage limit (smallest unit, integer string).
slippagePercentSlippage value applied to this transaction (percentage string).
signatureDataAuxiliary signature data. When approveTransaction=true was passed, this contains the spender address and approve calldata.
computeUnitPriceSolana priority fee per compute unit (micro-lamports). Echoed when supplied; computed by the platform otherwise. Null on EVM chains.
computeUnitLimitSolana compute-unit ceiling. Echoed when supplied; not returned otherwise. Null on EVM chains.
executionModeExecution mode for this swap. SWAP = sign the tx object and broadcast to the chain. RFQ = sign rfq.typedDataToSign with EIP-712 (eth_signTypedData_v4), then submit via POST /order/submit and poll GET /order/{orderId} for settlement status. Equity / RWA tokens always return RFQ.
rfqRFQ order payload. Present only when executionMode=RFQ. Contains the EIP-712 typed data to sign, the target vendor, the signing scheme, and (when requested) the approve transaction data.
timestampsuccessQuote and Build Swap Transaction (Flash API)
Combines quoting and swap-transaction construction into a single call. Unlike the two-step /quote + /swap flow, this endpoint does not require a prior /quote call or a quoteId — it returns the executable calldata / swapTransaction directly, eliminating one HTTP round-trip.
Use this endpoint for latency-sensitive trading when the vendor is known upfront. The response shape is identical to /swap, so clients can reuse the same response parsing logic for both endpoints.
Quote and Build Swap Transaction (Flash API) › Authorization
Headers
X-OC-APIKEYAPI Key issued by Binance Web3 API for authentication.
X-OC-TIMESTAMPCurrent UTC time in ISO 8601 format with milliseconds, e.g. 2026-05-11T10:08:57.715Z.
X-OC-SIGNRequest signature (Base64-encoded).
X-OC-RECV-WINDOWAllowed time deviation in milliseconds (default: 5000, max: 60000).
X-OC-NONCEUnique request identifier for anti-replay; falls back to X-OC-SIGN if omitted.
Query Parameters
binanceChainIdUnique chain identifier (e.g. "56"=BSC, "1"=Ethereum, "CT_501"=Solana).
amountSell-token amount in the token's smallest unit (positive integer string, no decimals).
fromTokenAddressSell-token contract address.
toTokenAddressBuy-token contract address.
userWalletAddressUser wallet address (transaction sender). For Solana, a Base58 system-account address with sufficient SOL for gas.
vendorSwap vendor to use for this request. Required — case-sensitive; must match one of the enum values. Any other value returns PARAM_ERROR (40001). For multi-vendor aggregation, use /swap with a quoteId instead.
slippagePercentMaximum slippage tolerance as a percentage string. Required unless autoSlippage=true.
Range by chain:
- EVM chains (BSC, Ethereum, Base, etc.):
0to100(inclusive) - Solana (
CT_501):0to less than100(i.e.< 100)
"0.5" means 0.5% maximum slippage. When autoSlippage=true this field is overridden by the auto-computed value.
excludeDexesComma-separated list of DEXes to exclude from routing. Pass the dexName values returned in the response routerResult.dexRouterList as-is (e.g. "Pancakeswap V4,Pancakeswap V3"). On EVM/Sui/Tron chains they are normalized automatically; on Solana the value is case-sensitive and must match the response exactly. Omit or leave empty to exclude nothing.
excludePoolsComma-separated list of liquidity pool identifiers to exclude from routing (block specific pools). Only effective when vendor=LiquidMesh — passed through to the LiquidMesh Flash API excludePools parameter. Pool identifier format: V2/V3 pools use the 0x + 40-hex contract address, V4/Infinity pools use the 0x + 64-hex poolId (0x prefix optional, case-insensitive). Values are trimmed, deduped and passed through as-is; the server only enforces a length cap (2000 chars), invalid values are rejected by the gateway. Omit or leave empty to exclude nothing (behavior unchanged).
enableRFQWhether to enable RFQ liquidity sources for routing. Default depends on the token pair: BStock pairs default to "true" (RFQ enabled); all other tokens default to "false" (RFQ disabled, AMM-only routing). An explicit value always overrides the default. "true" may return better pricing, but the returned calldata may embed RFQ settlements with a short (~30s) deadline.
approveTransactionWhen "true", signatureData includes the spender address and approve calldata so the client can submit it before the swap. Defaults to false.
approveAmountOverride approve amount (smallest unit, positive integer string). Defaults to the swap amount.
gasLimitGas limit override (positive integer string). EVM only.
gasLevelGas price tier. Defaults to "average".
priceImpactProtectionPercentMaximum allowed price impact percentage (0–100). Defaults to 90; set to 100 to disable.
autoSlippageWhen "true", slippage is auto-derived from market data and overrides slippagePercent. Either slippagePercent or autoSlippage=true must be provided — omitting both returns a parameter error. Defaults to "false".
maxAutoSlippagePercentCap on auto-derived slippage (only applies when autoSlippage=true).
computeUnitLimitSolana only — maximum compute units the transaction may consume (analogous to EVM gasLimit). Applies only when binanceChainId=CT_501.
computeUnitPriceSolana only — priority fee per compute unit (micro-lamports), analogous to EVM gasPrice. When omitted, the platform computes a value dynamically. Applies only when binanceChainId=CT_501.
tipsSolana only — Jito tips in SOL for MEV protection. Valid range [0.000000001, 2] (minimum 1 lamport). When specified, it is recommended to set computeUnitPrice=0. Applies only when binanceChainId=CT_501.
feePercentCustom fee (referral fee / Add Fee) percentage as a decimal string. Must be paired with exactly one of fromTokenReferrerWalletAddress or toTokenReferrerWalletAddress (the two referrer addresses are mutually exclusive).
Range by chain: (0, 5] for EVM chains (BSC, Ethereum, Base, etc.) and (0, 10] for Solana (CT_501) — greater than 0, up to the chain-specific maximum inclusive, max 2 decimal places. "1.5" means 1.5%. Values exceeding 2 decimal places are rejected with INVALID_FEE_PERCENT (40466).
four.meme tokens are not supported — do not pass fee parameters when either side of the pair is a four.meme token.
fromTokenReferrerWalletAddressWallet address that receives the fee deducted from the sell token (FROM_TOKEN direction). Mutually exclusive with toTokenReferrerWalletAddress — providing both returns CONFLICT_REFERRER_PARAMS (40468). Address format depends on the chain: EVM chains require 0x + 40 hex chars; Solana (CT_501) requires a Base58 pubkey. An invalid format returns INVALID_REFERRER_ADDRESS (40467). Must be paired with feePercent.
toTokenReferrerWalletAddressWallet address that receives the fee deducted from the buy-token output (TO_TOKEN direction). Mutually exclusive with fromTokenReferrerWalletAddress — providing both returns CONFLICT_REFERRER_PARAMS (40468). Address format depends on the chain: EVM chains require 0x + 40 hex chars; Solana (CT_501) requires a Base58 pubkey. An invalid format returns INVALID_REFERRER_ADDRESS (40467). Must be paired with feePercent. On Solana, the referrer must already be activated (funded with some SOL) or the request returns REFERRER_NOT_ACTIVATED (40469).
Quote and Build Swap Transaction (Flash API) › Responses
Swap transaction data returned successfully.
codemsgRouting result for the chosen vendor.
binanceChainIdChain identifier echoed from the request.
vendorNameVendor that supplied the executed quote (e.g. LiquidMesh, Lifi, 1inch, Pancake, Jupiter).
fromTokenAmountSell-token amount (smallest unit, integer string).
toTokenAmountEstimated buy-token amount (smallest unit, integer string).
tradeFeeEstimated network fee in USD. Note: this is an estimate for reference only and may be inaccurate. For accurate gas values, use the Transaction API GET /api/v1/dex/pre-transaction/gas-price and POST /api/v1/dex/pre-transaction/gas-limit.
estimateGasFeeEstimated gas in the chain's smallest unit (e.g. wei). Note: this is an estimate for reference only and may be inaccurate. For accurate gas values, use the Transaction API GET /api/v1/dex/pre-transaction/gas-price and POST /api/v1/dex/pre-transaction/gas-limit.
routerRouting path description, addresses joined with "--".
priceImpactPercentPrice impact percentage. Formula (received_value − sent_value) / sent_value.
Routing path segments. Same shape as the dexRouterList returned by /quote.
dexNamepercenttokenContractAddresstokenSymbolfromTokenIndextokenContractAddresstokenSymboltoTokenIndexpoolAddressLiquidity pool address/pool ID actually used by this path segment (V2/V3 pools: 0x + 40-hex contract address; V4/Infinity pools: 0x + 64-hex poolId). Pass it to the excludePools parameter to exclude this pool from routing. Null when unavailable.
Sell-token metadata.
tokenContractAddresstokenSymboltokenUnitPricedecimalisHoneyPottaxRateBuy-token metadata.
tokenContractAddresstokenSymboltokenUnitPricedecimalisHoneyPottaxRatefeeAmountFee amount deducted for this swap (smallest unit, integer string). Only populated when the request enabled the custom fee; null otherwise. FROM_TOKEN direction = originalFromCoinAmount × feePercent/100 (HALF_UP); TO_TOKEN direction = originalToCoinAmount × feePercent/100 (HALF_DOWN).
feeTokenContract address of the token in which the fee is denominated. FROM_TOKEN direction = sell-token address; TO_TOKEN direction = buy-token address. null when the custom fee is not enabled.
actualSwapAmountActual amount participating in the DEX swap (smallest unit, integer string). FROM_TOKEN direction = net amount after fee deduction (fromTokenAmount − feeAmount); TO_TOKEN direction = original input amount (fee is taken from the output side). null when the custom fee is not enabled.
On-chain transaction payload to sign and submit.
fromUser wallet address (transaction sender).
toDEX router contract address (the transaction's to field).
dataABI-encoded calldata.
valueNative-token amount sent with the transaction (wei). "0" for ERC-20 swaps.
gasGas limit estimate. Note: this is an estimate for reference only and may be inaccurate. For accurate gas values, use the Transaction API GET /api/v1/dex/pre-transaction/gas-price and POST /api/v1/dex/pre-transaction/gas-limit.
gasPriceGas price (wei). Note: this is an estimate for reference only and may be inaccurate. For accurate gas values, use the Transaction API GET /api/v1/dex/pre-transaction/gas-price and POST /api/v1/dex/pre-transaction/gas-limit.
maxPriorityFeePerGasEIP-1559 max priority fee per gas (wei). Note: this is an estimate for reference only and may be inaccurate. For accurate gas values, use the Transaction API GET /api/v1/dex/pre-transaction/gas-price and POST /api/v1/dex/pre-transaction/gas-limit.
minReceiveAmountMinimum buy-token amount the user accepts at the slippage limit (smallest unit, integer string).
slippagePercentSlippage value applied to this transaction (percentage string).
signatureDataAuxiliary signature data. When approveTransaction=true was passed, this contains the spender address and approve calldata.
computeUnitPriceSolana priority fee per compute unit (micro-lamports). Echoed when supplied; computed by the platform otherwise. Null on EVM chains.
computeUnitLimitSolana compute-unit ceiling. Echoed when supplied; not returned otherwise. Null on EVM chains.
executionModeAlways SWAP for this endpoint — returns executable calldata / swapTransaction to sign and broadcast on-chain (no RFQ mode).
rfqAlways null for this endpoint (only SWAP mode is returned).
timestampsuccessBuild Solana Swap Instructions
Solana-only counterpart to /swap. Shares the full quote → route → vendor buildSwapTx → priceImpact → minReceive → instruction-assembly pipeline; the only difference is the response: instead of returning a signed-and-serialized base64 transaction, this endpoint returns the uncompiled instruction list plus the address-lookup-table (ALT) address list, leaving v0-transaction compilation, signing, and submission to the caller.
Use this when the caller needs to:
-
prepend / append their own instructions (e.g. fee splitting, custom logging) before signing;
-
reuse the platform-curated route, slippage, PS-variant rewriting, ALT injection, ComputeBudget overwrite, and ATA batching while still controlling the final wire format.
Only supports binanceChainId=CT_501 (Solana). Other chains return CHAIN_NOT_SUPPORTED (40411). Parameters mirror the Solana subset of /swap (no EVM-only approveTransaction / approveAmount / gasLimit). Supports the custom-fee (Add Fee / referral fee) parameters (feePercent + fromTokenReferrerWalletAddress / toTokenReferrerWalletAddress), with the same semantics as /swap — the fee instructions are injected into the returned uncompiled instruction list.
Build Solana Swap Instructions › Authorization
Headers
X-OC-APIKEYAPI Key issued by Binance Web3 API for authentication.
X-OC-TIMESTAMPCurrent UTC time in ISO 8601 format with milliseconds, e.g. 2026-05-11T10:08:57.715Z.
X-OC-SIGNRequest signature (Base64-encoded).
X-OC-RECV-WINDOWAllowed time deviation in milliseconds (default: 5000, max: 60000).
X-OC-NONCEUnique request identifier for anti-replay; falls back to X-OC-SIGN if omitted.
Query Parameters
binanceChainIdChain identifier. Only CT_501 (Solana) is accepted; other values return CHAIN_NOT_SUPPORTED (40411).
amountSell-token amount in the token's smallest unit (positive integer string, no decimals).
fromTokenAddressSell-token mint address (Solana Base58, case-sensitive).
toTokenAddressBuy-token mint address (Solana Base58, case-sensitive).
slippagePercentMaximum slippage as a percentage. Solana range 0 to less than 100. "0.5" means 0.5%.
userWalletAddressUser wallet address (Solana Base58); becomes the v0 transaction's feePayer.
quoteIdquoteId returned from /quote for the route to execute. TTL ~30s; expired entries return QUOTE_EXPIRED (40401).
priceImpactProtectionPercentMaximum allowed price impact percentage (0–100). Defaults to 90; set to 100 to disable.
autoSlippageWhen "true", slippage is auto-derived from market data and overrides slippagePercent. Defaults to false.
maxAutoSlippagePercentCap on auto-derived slippage (only applies when autoSlippage=true).
computeUnitLimitMaximum compute units the transaction may consume (analogous to EVM gasLimit). Defaults to the platform value when omitted.
computeUnitPricePriority fee per compute unit (micro-lamports). When omitted, the platform computes a value either from the gasLevel tier or from chain-side defaults.
gasLevelPriority-fee tier; consulted only when computeUnitPrice is omitted. Defaults to "average".
tipsJito tips in SOL for MEV protection. Valid range [0.000000001, 2] (minimum 1 lamport). When specified, it is recommended to set computeUnitPrice=0. The platform picks one of Jito's tip accounts at random per request.
feePercentCustom fee (referral fee / Add Fee) percentage as a decimal string. Must be paired with exactly one of fromTokenReferrerWalletAddress or toTokenReferrerWalletAddress (the two referrer addresses are mutually exclusive). Same semantics as /swap.
Range (Solana): (0, 10] — greater than 0, up to 10 inclusive, max 2 decimal places. "1.5" means 1.5%. Values exceeding 2 decimal places are rejected with INVALID_FEE_PERCENT (40466).
four.meme tokens are not supported — do not pass fee parameters when either side of the pair is a four.meme token.
fromTokenReferrerWalletAddressWallet address that receives the fee deducted from the sell token (FROM_TOKEN direction). Mutually exclusive with toTokenReferrerWalletAddress — providing both returns CONFLICT_REFERRER_PARAMS (40468). Solana requires a Base58 pubkey; an invalid format returns INVALID_REFERRER_ADDRESS (40467). Must be paired with feePercent.
toTokenReferrerWalletAddressWallet address that receives the fee deducted from the buy-token output (TO_TOKEN direction). Mutually exclusive with fromTokenReferrerWalletAddress — providing both returns CONFLICT_REFERRER_PARAMS (40468). Solana requires a Base58 pubkey; an invalid format returns INVALID_REFERRER_ADDRESS (40467). Must be paired with feePercent. The referrer must already be activated (funded with some SOL) or the request returns REFERRER_NOT_ACTIVATED (40469).
Build Solana Swap Instructions › Responses
Uncompiled Solana instruction list and ALT addresses returned successfully.
codemsgaddressLookupTableAccountAddress Lookup Table addresses (Base58) referenced by the transaction, including the platform-injected custom ALT. The caller must fetch each ALT account (getAccountInfo) and pass the parsed lookup data when compiling the v0 message.
Ordered uncompiled instructions to assemble into the v0 transaction.
programIdProgram that owns the instruction (Base58).
dataInstruction data, Base64-encoded. May be an empty string for instructions without data.
Accounts referenced by the instruction, in ABI order.
pubkeyAccount public key (Base58).
isSignerWhether the account must sign the transaction.
isWritableWhether the account is writable.
Routing result (same shape and semantics as /swap's routerResult).
binanceChainIdChain identifier (always CT_501).
vendorNameVendor that supplied the executed quote (Solana vendors include Jupiter, LiquidMesh).
fromTokenAmountSell-token amount (smallest unit, integer string).
toTokenAmountEstimated buy-token amount (smallest unit, integer string).
tradeFeeEstimated network fee in USD.
estimateGasFeeEstimated compute units for the transaction (echoes computeUnitLimit).
routerRouting path description, mints joined with "--".
priceImpactPercentPrice impact percentage.
Routing path segments (same shape as /quote's dexRouterList).
dexNamepercenttokenContractAddresstokenSymbolfromTokenIndextokenContractAddresstokenSymboltoTokenIndexSell-token metadata.
tokenContractAddresstokenSymboldecimalBuy-token metadata.
tokenContractAddresstokenSymboldecimalfeeAmountFee amount deducted for this swap (smallest unit, integer string). Only populated when the request enabled the custom fee; null otherwise. FROM_TOKEN direction = originalFromCoinAmount × feePercent/100 (HALF_UP); TO_TOKEN direction = originalToCoinAmount × feePercent/100 (HALF_DOWN).
feeTokenContract address of the token in which the fee is denominated. FROM_TOKEN direction = sell-token address; TO_TOKEN direction = buy-token address. null when the custom fee is not enabled.
actualSwapAmountActual amount participating in the DEX swap (smallest unit, integer string). FROM_TOKEN direction = net amount after fee deduction (fromTokenAmount − feeAmount); TO_TOKEN direction = original input amount (fee is taken from the output side). null when the custom fee is not enabled.
Transaction summary (no data field — replaced by instructionLists). Contains the fields the caller needs to display or audit before signing.
fromUser wallet address (transaction sender / fee payer).
toPlatform Router program address (the swap target program).
minReceiveAmountMinimum buy-token amount the user accepts at the slippage limit (smallest unit, integer string).
slippagePercentSlippage value applied to this transaction (percentage string).
timestampsuccessGet Transaction Status
Look up the on-chain status of a DEX swap by binanceChainId + txHash.
Response semantics:
-
Transaction not found:
dataisnull(not HTTP 404). -
Transaction failed:
status=failedwitherrorMsg; aggregator business fields (txType,dexRouter,fromTokenDetails,toTokenDetails) arenull. -
Transaction succeeded:
status=successwith full token details when an aggregator event is present.
Get Transaction Status › Authorization
Headers
X-OC-APIKEYAPI Key issued by Binance Web3 API for authentication.
X-OC-TIMESTAMPCurrent UTC time in ISO 8601 format with milliseconds, e.g. 2026-05-11T10:08:57.715Z.
X-OC-SIGNRequest signature (Base64-encoded).
X-OC-RECV-WINDOWAllowed time deviation in milliseconds (default: 5000, max: 60000).
X-OC-NONCEUnique request identifier for anti-replay; falls back to X-OC-SIGN if omitted.
Query Parameters
binanceChainIdUnique chain identifier (e.g. "56"=BSC, "1"=Ethereum, "CT_501"=Solana).
txHashOn-chain transaction hash.
Get Transaction Status › Responses
Transaction details. data is null when no record is found.
codemsgdataTransaction details. Null when the transaction is not found in any source table.
timestampsuccessSubmit RFQ Order
Submit a signed RFQ order to the backend for on-chain settlement via the corresponding vendor relayer. Only used when executionMode=RFQ (equity / RWA tokens such as Ondo and BStock).
Flow: GET /quote → pick an RFQ route → GET /swap → sign rfq.typedDataToSign with EIP-712 (eth_signTypedData_v4) → call this endpoint → poll GET /order/{orderId} until FILLED or FAILED.
Idempotency: Submitting with the same requestId within 30 minutes returns the original result without re-calling the vendor. Use a new UUID for each distinct order; reuse the same UUID when retrying.
Submit RFQ Order › Authorization
Headers
X-OC-APIKEYAPI Key issued by Binance Web3 API for authentication.
X-OC-TIMESTAMPCurrent UTC time in ISO 8601 format with milliseconds, e.g. 2026-05-11T10:08:57.715Z.
X-OC-SIGNRequest signature (Base64-encoded).
X-OC-RECV-WINDOWAllowed time deviation in milliseconds (default: 5000, max: 60000).
X-OC-NONCEUnique request identifier for anti-replay; falls back to X-OC-SIGN if omitted.
Submit RFQ Order › Request Body
requestIdIdempotency key (UUID v4). Within 30 minutes, re-submitting with the same requestId returns the original result without re-calling the vendor. Generate a new UUID for each new order; reuse the same UUID when retrying the same attempt.
userSignatureEIP-712 signature of rfq.typedDataToSign from the /swap response. Must be a hex string with 0x prefix (132 chars = 0x + 65 bytes). The signing wallet must match userWalletAddress used in /quote. The backend automatically corrects Ethereum v values 00/01 to 1b/1c.
vendorRFQ vendor name — must match rfq.vendor from the /swap response. The backend validates this against quoteId to prevent misrouted submissions.
quoteIdrfq.orderId from the /swap response. The backend uses this to look up the vendor and chain context required to forward the signed order.
signingSchemeSigning scheme from rfq.signingScheme in the /swap response. Optional — when omitted the backend infers the default per vendor.
Submit RFQ Order › Responses
RFQ order submitted successfully.
codemsgSubmitted order details.
orderIdPlatform-generated order ID. Use this to poll GET /order/{orderId} for the final settlement status.
statusInitial order status after submission. Typical value: PENDING_VENDOR (forwarded to vendor, awaiting settlement).
createdAtOrder creation timestamp (Unix epoch milliseconds).
timestampsuccessGet RFQ Order Status
Query the settlement status of an RFQ order by its platform orderId (returned by POST /order/submit). Poll this endpoint until status reaches a terminal state: FILLED (settled on-chain) or FAILED (settlement failed).
Get RFQ Order Status › Authorization
Path Parameters
orderIdPlatform order ID returned by POST /order/submit.
Headers
X-OC-APIKEYAPI Key issued by Binance Web3 API for authentication.
X-OC-TIMESTAMPCurrent UTC time in ISO 8601 format with milliseconds, e.g. 2026-05-11T10:08:57.715Z.
X-OC-SIGNRequest signature (Base64-encoded).
X-OC-RECV-WINDOWAllowed time deviation in milliseconds (default: 5000, max: 60000).
X-OC-NONCEUnique request identifier for anti-replay; falls back to X-OC-SIGN if omitted.
Get RFQ Order Status › Responses
Order status returned successfully.
codemsgOrder status details.
orderIdPlatform order ID.
statusCurrent order status.
-
Terminal:
FILLED(settled on-chain),FAILED(settlement failed),EXPIRED(vendor could not settle before the order deadline),CANCELLED(cancelled by the user or vendor). -
Intermediate:
PENDING_VENDOR(forwarded to vendor, awaiting settlement),PENDING_ONCHAIN(vendor has broadcast the on-chain transaction, awaiting block confirmation).
txHashOn-chain transaction hash. Present only when status=FILLED.
fromAmountActual sell-token amount settled (smallest unit, integer string). Present when filled.
toAmountActual buy-token amount received (smallest unit, integer string). Present when filled.
filledAtSettlement timestamp (Unix epoch milliseconds). Present when filled.
createdAtOrder creation timestamp (Unix epoch milliseconds).
timestampsuccess