blofin-trader
Original:🇺🇸 English
Translated
Execute trades on BloFin exchange — place orders (market, limit, post_only, fok, ioc), cancel orders, batch operations, close positions, and manage TP/SL and algo/trigger orders. Requires authenticated API access with TRADE permission.
7installs
Sourceblofin/blofin-skills-hub
Added on
NPX Install
npx skill4agent add blofin/blofin-skills-hub blofin-traderTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →BloFin Trader
Execute trades on BloFin exchange. Supports market, limit, post-only, FOK, IOC orders, batch operations, TP/SL, and algo/trigger orders.
CRITICAL: Always confirm order details with the user before placing any trade. Display the instrument, side, size, price, and estimated cost/margin before execution.
Order Basics
Order Types
| Type | Description |
|---|---|
| Execute immediately at best available price |
| Execute at specified price or better |
| Limit order that only adds liquidity (maker only); cancelled if it would match immediately |
| Fill or Kill — must fill entirely immediately or cancel |
| Immediate or Cancel — fill what's possible immediately, cancel the rest |
Position Sides
| Side | Position Side | Action |
|---|---|---|
| | Open long / close short |
| | Open short / close long |
| | Close short (in hedge mode) |
| | Close long (in hedge mode) |
Size & Contract Value
- Order is in contracts, not in base currency
size - Each contract has a (check via
contractValue)get_instruments - Example: BTC-USDT contract value is 0.001 BTC, so 100 contracts = 0.1 BTC
- Minimum order size is defined by (e.g., 0.1 contracts for BTC-USDT)
minSize - Size must be a multiple of
lotSize
Available Tools (via blofin-mcp)
place_order — Place a Single Order
Use place_order to submit a new trade. ALWAYS confirm with the user first.Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| String | Yes | Instrument ID, e.g. |
| String | Yes | |
| String | Yes | |
| String | Yes | |
| String | Yes | |
| String | Yes | Order size in contracts |
| String | Conditional | Required for limit/post_only/fok/ioc orders |
| Boolean | No | If true, only reduces existing position |
| String | No | Custom order ID (max 32 chars) |
| String | No | Take-profit trigger price |
| String | No | TP order price (-1 for market) |
| String | No | Stop-loss trigger price |
| String | No | SL order price (-1 for market) |
| String | No | Broker ID if applicable |
Example prompts:
- "Buy 1 BTC-USDT contract at market price"
- "Place a limit buy for 10 ETH-USDT at $3,000"
- "Open a 5x long BTC position with 100 contracts"
- "Short ETH-USDT with a stop loss at $4,000"
Pre-order checklist (always do this before placing):
- Confirm instrument exists and is live ()
get_instruments - Verify user has sufficient balance ()
get_balance - Check current leverage setting ()
get_leverage_info - For limit orders, compare price to current market ()
get_tickers - Calculate estimated cost:
size * contractValue * price / leverage - Display order summary and get explicit user confirmation
cancel_order — Cancel an Order
Use cancel_order to cancel a pending order.Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| String | Yes | Instrument ID |
| String | Conditional | Order ID (either orderId or clientOrderId required) |
| String | Conditional | Client order ID |
batch_orders — Place Multiple Orders
Use batch_orders for placing multiple orders at once. Max 20 orders per batch.All orders in a batch must share the same and .
instIdmarginModeExample prompts:
- "Place a grid of limit orders for BTC-USDT from $60,000 to $65,000"
- "Open both a long and short position on ETH"
cancel_batch_orders — Cancel Multiple Orders
Use cancel_batch_orders to cancel multiple orders at once.All cancellations should use the same identifier type (prefer ).
orderIdclose_position — Close an Entire Position
Use close_position to close a full position on an instrument. Confirm with the user first.Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| String | Yes | Instrument ID |
| String | Yes | |
| String | No | |
| String | No | Custom order ID |
Example prompts:
- "Close my BTC-USDT long position"
- "Close all my ETH positions"
get_open_orders — View Pending Orders
Use get_open_orders to see unfilled or partially filled orders.Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| String | No | Filter by instrument |
| String | No | Filter by order type |
| String | No | |
| String | No | Pagination by orderId |
| String | No | Max 100, default 100 |
get_order_detail — Single Order Details
Use get_order_detail to check the status of a specific order.Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| String | Yes | Instrument ID |
| String | Conditional | Order ID |
| String | Conditional | Client order ID |
get_order_history — Past Orders
Use get_order_history to review filled, cancelled, or expired orders.Take-Profit / Stop-Loss (TP/SL)
place_tpsl — Attach TP/SL to a Position
Use place_tpsl to set take-profit and/or stop-loss on an existing position.
Always confirm trigger prices with the user.Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| String | Yes | Instrument ID |
| String | Yes | |
| String | Yes | |
| String | Conditional | Take-profit trigger price |
| String | No | TP execution price (-1 for market) |
| String | Conditional | Stop-loss trigger price |
| String | No | SL execution price (-1 for market) |
| String | No | Size to close (default: full position) |
TP/SL validation rules:
- Long position: TP trigger > current price, SL trigger < current price
- Short position: TP trigger < current price, SL trigger > current price
- Always verify against current market price before placing
Example prompts:
- "Set a take profit at $70,000 and stop loss at $60,000 for my BTC long"
- "Add a stop loss at $3,200 for my ETH short"
cancel_tpsl — Cancel TP/SL Orders
Use cancel_tpsl to remove existing TP/SL orders.get_pending_tpsl / get_tpsl_history — View TP/SL Orders
Use get_pending_tpsl to see active TP/SL orders.
Use get_tpsl_history to review past TP/SL orders.Algo / Trigger Orders
place_algo_order — Conditional/Trigger Orders
Use place_algo_order for trigger-based orders that execute when a condition is met.Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| String | Yes | Instrument ID |
| String | Yes | |
| String | Yes | |
| String | Yes | |
| String | Yes | Order type for execution |
| String | Yes | Size in contracts |
| String | Yes | Price that triggers the order |
| String | Conditional | Execution price (required for limit) |
| Boolean | No | Only reduces position |
cancel_algo_order / get_pending_algo_orders / get_algo_order_history
Manage and review algo/trigger orders.
Safety Rules
- NEVER place an order without explicit user confirmation — always show a summary first
- Double-check the side (buy/sell) and position side (long/short) — mistakes are costly
- Verify sufficient balance before placing orders
- Validate limit prices against current market to avoid obvious errors
- Warn about high-leverage orders — clearly state the liquidation risk
- For large orders, check order book depth to estimate slippage
- Rate limit awareness: Trading APIs are limited to 30 requests per 10 seconds per user