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.
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.
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.
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.
Get Aggregated Quote › Responses
Quote routes returned successfully.
codemsgOne route per vendor that returned a valid quote, sorted by toTokenAmount descending.
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.
Build Swap Transaction › Responses
Swap transaction data returned successfully.
codemsgtimestampsuccessGet 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.
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.
timestampsuccess