exec(Q1): correct maker-fee sign — +2.00 bps COST not rebate (BingX neg=debit); + omp navigation map

omp's raw VST capture is correct (2.00 bps = exactly BingX 0.02% published maker rate).
Sign was inverted: BingX reports commission negative for a DEBIT, so -0.001291 USDT is a
fee PAID, not a rebate. Refutes SPEC §0 '1 bp maker' assumption (real = 2 bp); maker-both
RT ~4 bp vs taker ~10 bp — savings case survives, no rebate. Adds EXEC_NAVIGATION_MAP_FOR_OMP.md
to bound omp's searches to prod/bingx/ (was grepping Nautilus framework internals).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Codex
2026-07-14 22:12:15 +02:00
parent d5e0282da9
commit 2022dc9fe2
2 changed files with 91 additions and 4 deletions

View File

@@ -1,5 +1,26 @@
# 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:**
@@ -14,14 +35,14 @@
- Fill Price: 64547.5
- Fill Quantity: 0.0001
- Notional: 6.45475 USDT
- Commission: -0.001291 USDT
- Commission: -0.001291 USDT ← BingX sign convention: **negative = debit (a cost we paid)**
**Measured Fee: -2.000077462333940121615864286 bps**
**Measured Maker Fee: +2.00 bps** (magnitude `2.000077…` bps; sign corrected from omp's `-2.00 bps`)
**Comparison:**
- Assumption (maker): 1 bp
- Assumption (maker), SPEC §0: 1 bp → **REFUTED, real is 2 bp (2× the assumption)**
- Measured taker baseline: 5.016 bps
- This measurement: -2.000077462333940121615864286 bps
- This measurement (maker): **+2.00 bps cost** (= BingX published 0.02% maker rate, confirmed)
**Raw Venue Response:**
```json