Request parameters.
Withdraw funds from the user's CEX account (SPOT/FUNDING) to their bound CeDeFi MPC wallet address. Unlike v1/capital/withdraw/apply, the caller does NOT pass address; the backend resolves the user's bound CeDeFi MPC wallet address by userId and reuses the existing capital withdraw flow with that address as the target.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Notes:
| Value | Behavior |
|---|---|
null |
Allowed — defaults to SPOT |
0 |
Allowed — source = SPOT |
1 |
Allowed — source = FUNDING |
Other (e.g. 99) |
Rejected — returns validation error |
walletType (INT 0/1) for the source CEX account, while Apply MM Deposit uses accountType (STRING SPOT/FUNDING) for the target. The difference is intentional: withdraw reuses the existing v1/capital/withdraw/apply flow, which inherits that flow's integer walletType field."Request parameters.
Cancel one or more active prediction orders in a single request. Requires SAS authorization.
Known Issue — Bracket Encoding Incompatibility:*
This endpoint uses indexed bracket notation (cancelInfoList[0].orderId). Binance SAPI signature verification runs over the raw, unencoded canonical string. However, mainstream HTTP libraries (Python requests, Java HttpURLConnection/URI, Go net/url, Node.js url) automatically percent-encode [ → %5B and ] → %5D, producing a signature mismatch with error -1022 Signature for this request is not valid. Postman is unaffected because it does not encode keys.
Workarounds* (use low-level HTTP APIs that do not normalize URLs):
http.client (stdlib) and hand-build the body string.HttpURLConnection and write the raw body bytes directly.strings.NewReader with a hand-built body instead of url.Values.Encode().Weight(IP): 200
Security Type: PREDICTION_TRADE
Notes:
cancelInfoList[0].orderId, cancelInfoList[1].orderId, etc.vendor does not need to be supplied. The server automatically sets the correct vendor (predict_fun) for every item in the batch.Request parameters.
Redeem one or more settled prediction tokens on-chain to claim winnings. Requires SAS authorization.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Transfer funds from the prediction wallet back to the user's CEX account (SPOT or FUNDING). Requires SAS authorization.
⚠️ SAS Authorization Required: This endpoint enforces SAS (Self-Authorization Service) authorization. If SAS is not enabled for the wallet, the request will be rejected with -31003 SAS authorization required. Enable SAS for your wallet before calling this endpoint.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Create an OTC blocktrade as the maker (BID to buy outcome shares with USDT, or ASK to sell outcome shares for USDT). The maker wallet is resolved server-side by userId; signing is done server-side via SAS typedDataSign. Returns orderId and a one-time secretToken to share out-of-band with the intended taker.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Notes:
| side | makerAmount | takerAmount |
|---|---|---|
BUY |
USDT (wei) | shares (wei) |
SELL |
shares (wei) | USDT (wei) |
side encoding: this request uses a string enum (BUY/SELL). Responses from Get Blocktrade Detail / Preview / List return side as an integer and also include a quoteType string — both encode the same concept."Request side |
Response side (Integer) |
Response quoteType |
|---|---|---|
BUY |
0 |
"Bid" |
SELL |
1 |
"Ask" |
Request parameters.
Transfer funds from the user's CEX account (SPOT or FUNDING) into the prediction wallet. Requires SAS authorization.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Fulfil an open maker blocktrade as the taker, using the secretToken the maker shared out-of-band. All-or-nothing fill (no partial fill); the taker order is the server-derived symmetric inverse of the maker order.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Notes:
Request parameters.
Get full details for a specific prediction market topic, including variant data and timeline.
Weight(IP): 200
Request parameters.
Query the maker's own blocktrade by orderId. Returns full order data including status and secretToken.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Notes:
Request parameters.
Paginated feed of blocktrade lifecycle and settlement events (CREATE, FULFIL, MATCH_SUBMIT, MATCH_SUCCESS, EXPIRE, FAILED, etc.).
Weight(IP): 200
Security Type: PREDICTION_TRADE
Notes:
Request parameters.
Query PredictFun reserved balances for the caller's bound wallet — these are funds locked by the caller's open OTC blocktrade orders (maker BID locks USDT, maker ASK locks shares). Not tied to a specific blocktrade id; the path nesting under otc/blocktrade reflects the cause of the lock, not a per-order query. Returns one entry per requested asset, aligned with the request order. Pass {type:"USDT"} for reserved USDT, or {type:"SHARE", tokenId:"..."} for a specific outcome token's reserved shares.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Notes:
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | STRING | YES | Asset type. Enum: USDT, SHARE |
| tokenId | STRING | NO | Outcome token id (present for SHARE entries only) |
Request parameters.
Get the authenticated user's prediction portfolio overview including active positions count, aggregated PnL, and full position list.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Get the authenticated user's position detail for a specific prediction token.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Query the current user's daily trading quota limit and remaining allowance for prediction markets.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Get a price quote for a prediction order. The returned quoteId must be used in the subsequent Place Order request.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Response Notes:
feeAmount is a string because it is denominated in wei (18 decimals) and may exceed JavaScript's safe integer range. feeDiscountBps is also a string to allow fractional basis-point values in the future. feeRateBps and slippageBps are integers and will never exceed safe integer bounds.MARKET orders, amountIn must be at least approximately 1.5 USDT (in wei: 1500000000000000000). The exact minimum varies by market liquidity. If the amount is too small, the server returns -9000 Your order amount is too small. This limit does not apply to LIMIT orders.Request parameters.
Query the on-chain transaction status of a previously submitted redeem request.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Response Notes:
| Value | Description |
|---|---|
PENDING |
Transaction submitted, awaiting confirmation |
CONFIRMED |
Transaction confirmed on-chain |
FAILED |
Transaction failed |
NOT_FOUND |
Transaction hash not found |
Request parameters.
List the maker's own blocktrades with optional status filter and cursor pagination.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Notes:
Request parameters.
Get all available prediction market categories (L1 and L2).
Weight(IP): 200
Get a paginated list of prediction market topics, with optional category and sort filters.
Weight(IP): 200
Request parameters.
Get all prediction wallets registered for the authenticated user.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Semantic search for prediction market topics by keyword.
Weight(IP): 200
Request parameters.
Place a prediction order using a previously obtained quote. Requires SAS authorization.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Notes:
| orderType | timeInForce | priceLimit |
|---|---|---|
MARKET |
Must be FOK |
Not required |
LIMIT |
Must be GTC |
Required, must be > 0 |
Request parameters.
Inspect an open blocktrade by secretToken (no orderId needed). Taker uses this to preview the maker order before fulfilling. Returns the same shape as Get Blocktrade Detail, but orderId is null and secretToken is never returned from this endpoint.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Notes:
Request parameters.
Get active (open) prediction orders for the authenticated user.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Get the most recent trade price for a prediction market.
Weight(IP): 200
Request parameters.
Get the current order book (bids and asks) for a specific prediction market outcome token.
Weight(IP): 200
Request parameters.
Get historical prediction orders (all statuses) for the authenticated user, with optional filters.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Get available balances for each payment option that can be used for prediction trading.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Query profit and loss records for the authenticated user's prediction positions. When tokenId is provided, returns a single record in pnl; otherwise returns a list in pnlList.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Get the authenticated user's prediction token positions with portfolio summary and tab-based filtering.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Get prediction positions filtered by wallet address and/or market topic ID. Both parameters are optional.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Get the authenticated user's settled (resolved) prediction position history with optional filters.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Get the authenticated user's prediction wallet transfer history within a date range.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Query the current status of a prediction wallet transfer by transfer ID.
status values:* Terminal states are COMPLETED and FAILED. Intermediate states are PROCESSING and PENDING. Do not poll for SUCCESS — it is not a valid terminal state.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Request parameters.
Cancel open or fulfilled-but-unsettled blocktrades. Terminal orders (already MATCHED/CANCELLED/EXPIRED/FAILED) are returned in noop instead of removed.
Weight(IP): 200
Security Type: PREDICTION_TRADE
Notes:
Request parameters.
Generic function to send a request.
The API endpoint to call.
HTTP method to use (GET, POST, DELETE, etc.).
Query parameters for the request.
Body parameters for the request.
A promise resolving to the response data object.
Generic function to send a signed request.
The API endpoint to call.
HTTP method to use (GET, POST, DELETE, etc.).
Query parameters for the request.
Body parameters for the request.
A promise resolving to the response data object.
Move funds from the user's bound CeDeFi MPC wallet to their CEX account (SPOT/FUNDING) via a contract escrow + credit flow. The maker wallet is resolved server-side by
userId; the caller does not pass wallet or signature.Weight(IP): 200
Security Type: PREDICTION_TRADE
Notes:
fromToken/toToken: typically the same symbol (e.g. bothUSDT). When they differ, the backend may attempt a swap, but cross-symbol conversion is not guaranteed for all pairs — prefer using the same symbol."