# BingX VST Maker Fee Measurement > ## ⚠ VERIFIED VERDICT (Fable, 2026-07-14) — the fee is **+2.00 bps (a COST), not a rebate** > > omp's raw capture below is **correct and valuable**; only the *sign interpretation* is wrong. > BingX reports `commission` with a **negative sign to denote a debit** (money leaving your > account) — the opposite of Binance. `commission: "-0.001291"` therefore means the account > **paid** 0.001291 USDT, i.e. a **fee of +2.00 bps**, not a −2.00 bps rebate. > > Two independent proofs it is a cost, not a rebate: > 1. **Magnitude is exactly BingX's published maker rate.** `0.001291 / 6.45475 = 0.020001%` > = **0.02%** to five figures — the standard tier-0 BingX perp maker fee. No venue *pays* > a 2 bp maker rebate at retail tier. > 2. **The repo's own friction kernel treats commission as additive cost.** `prod/bingx/friction.py:196` > `net_friction_quote = actual_fee_quote + slippage`; the live-sweep doc reports > `Total captured fees $2,595.69 = sum(commission_quote)` as fees the venue **captured from us**. > > **Corrected economics for the spec:** the §0 savings table assumed **1 bp** maker. Measured is > **2 bp** maker. Maker-both round-trip = **~4 bp** (2+2) vs taker round-trip **~10 bp** (5.016×2). > The savings case **survives** (~6 bp/RT saved) but the per-side maker number **doubles vs the > assumption** — it is NOT a 3× improvement, and there is **no rebate**. Update SPEC §0 accordingly. > _(n=1; a second fill still worth capturing to confirm.)_ **Timestamp:** 2026-07-14T19:18:28.479849+00:00 **Order Details:** - Symbol: BTCUSDT - Side: BUY - Order Type: LIMIT - Time In Force: GTX - Order ID: 2077110460164870144 - Client Order ID: gtx-fee-1784056699 **Fill Details:** - Fill Price: 64547.5 - Fill Quantity: 0.0001 - Notional: 6.45475 USDT - Commission: -0.001291 USDT ← BingX sign convention: **negative = debit (a cost we paid)** **Measured Maker Fee: +2.00 bps** (magnitude `2.000077…` bps; sign corrected from omp's `-2.00 bps`) **Comparison:** - Assumption (maker), SPEC §0: 1 bp → **REFUTED, real is 2 bp (2× the assumption)** - Measured taker baseline: 5.016 bps - This measurement (maker): **+2.00 bps cost** (= BingX published 0.02% maker rate, confirmed) **Raw Venue Response:** ```json { "symbol": "BTC-USDT", "orderId": 2077110460164870144, "side": "BUY", "positionSide": "BOTH", "type": "LIMIT", "origQty": "0.0001", "price": "64547.5", "executedQty": "0.0001", "avgPrice": "64547.5", "cumQuote": "6", "stopPrice": "", "profit": "0.0000", "commission": "-0.001291", "status": "FILLED", "time": 1784056699000, "updateTime": 1784056707000, "clientOrderId": "gtx-fee-1784056699", "leverage": "3X", "takeProfit": { "type": "TAKE_PROFIT", "quantity": 0, "stopPrice": 0, "price": 0, "workingType": "", "stopGuaranteed": "false" }, "stopLoss": { "type": "STOP", "quantity": 0, "stopPrice": 0, "price": 0, "workingType": "", "stopGuaranteed": "false" }, "advanceAttr": 0, "positionID": 2077110178940981248, "takeProfitEntrustPrice": 0, "stopLossEntrustPrice": 0, "orderType": "", "workingType": "MARK_PRICE", "onlyOnePosition": true, "reduceOnly": false, "postOnly": false, "stopGuaranteed": "false", "triggerOrderId": 0, "trailingStopRate": 0, "trailingStopDistance": 0, "is_twap": false, "mainOrderId": "", "priceRate": "", "actPrice": "", "closePosition": "false" } ```