$npx -y skills add asterdex/aster-skills-hub --skill aster-api-trading-v1Place, cancel, batch, countdown-cancel, and query orders for Aster Futures API v1 (/fapi/v1/). Use when placing/canceling orders or querying open/historical. Signed; see aster-api-auth-v1.
| 1 | # Aster API Trading (v1) |
| 2 | |
| 3 | **Base:** https://fapi.asterdex.com. Signed (TRADE/USER_DATA). POST/DELETE: body application/x-www-form-urlencoded. |
| 4 | |
| 5 | ## New order |
| 6 | |
| 7 | **POST /fapi/v1/order** (W: 1) |
| 8 | |
| 9 | | Parameter | Req | Notes | |
| 10 | |-----------|-----|--------| |
| 11 | | symbol, side, type | Y | side: BUY/SELL; type → see below | |
| 12 | | positionSide | N | BOTH or LONG/SHORT (hedge); req. in Hedge Mode | |
| 13 | | timeInForce | N | GTC, IOC, FOK, GTX, HIDDEN | |
| 14 | | quantity | N | Not with closePosition=true | |
| 15 | | reduceOnly | N | "true"/"false"; not with closePosition/hedge | |
| 16 | | price, stopPrice | N | stopPrice for STOP*/TAKE_PROFIT* | |
| 17 | | closePosition | N | "true"/"false"; STOP_MARKET/TAKE_PROFIT_MARKET only; no quantity/reduceOnly | |
| 18 | | activationPrice, callbackRate | N | TRAILING_STOP_MARKET; callbackRate 0.1–5 (1=1%) | |
| 19 | | workingType | N | MARK_PRICE, CONTRACT_PRICE (default) | |
| 20 | | priceProtect | N | "TRUE"/"FALSE" | |
| 21 | | newClientOrderId | N | Unique; `^[\.A-Z\:/a-z0-9_-]{1,36}$` | |
| 22 | | newOrderRespType | N | ACK (default), RESULT | |
| 23 | |
| 24 | **Type-specific required:** LIMIT → timeInForce, quantity, price. MARKET → quantity. STOP/TAKE_PROFIT → quantity, price, stopPrice. STOP_MARKET/TAKE_PROFIT_MARKET → stopPrice. TRAILING_STOP_MARKET → callbackRate. |
| 25 | |
| 26 | **Trigger rules:** STOP/STOP_MARKET: BUY → latest ≥ stopPrice; SELL → latest ≤ stopPrice. TAKE_PROFIT/TAKE_PROFIT_MARKET: BUY → latest ≤ stopPrice; SELL → latest ≥ stopPrice. TRAILING_STOP_MARKET: BUY → low ≤ activationPrice and latest ≥ low×(1+callbackRate); SELL → high ≥ activationPrice and latest ≤ high×(1-callbackRate). activationPrice: BUY < latest, SELL > latest (else -2021). closePosition=true: close all long (SELL) or short (BUY); no quantity/reduceOnly; hedge: no BUY for LONG / SELL for SHORT. |
| 27 | |
| 28 | ## Batch / Cancel / Countdown / Query |
| 29 | |
| 30 | - **POST /fapi/v1/batchOrders** (W: 5): `batchOrders` array, max 5; same params as order; responses match order. |
| 31 | - **DELETE /fapi/v1/order** (W: 1): symbol + orderId or origClientOrderId. |
| 32 | - **DELETE /fapi/v1/allOpenOrders** (W: 1): symbol. |
| 33 | - **DELETE /fapi/v1/batchOrders** (W: 1): symbol + orderIdList or origClientOrderIdList (max 10). |
| 34 | - **POST /fapi/v1/countdownCancelAll** (W: 10): symbol, countdownTime (ms). Cancel all at countdown end; 0 = cancel timer. Heartbeat to extend (e.g. 30s with 120000 ms). Checks ~10 ms. |
| 35 | - **GET /fapi/v1/order**, **openOrder** (W: 1): symbol + orderId or origClientOrderId. |
| 36 | - **GET /fapi/v1/openOrders** (W: 1 or 40): symbol optional; no symbol = all (40). |
| 37 | - **GET /fapi/v1/allOrders** (W: 5): symbol req.; orderId, startTime, endTime, limit (500 default, 1000 max). Window < 7 days; orderId → orders ≥ that id. CANCELED/EXPIRED >7d with no fills may be missing. |
| 38 | |
| 39 | Payload shapes: [reference.md](reference.md). |