Binance · Capability

Binance USD-S Margined Futures API — Trading

Binance USD-S Margined Futures API — Trading. 5 operations. Lead operation: Place multiple orders. Self-contained Naftiko capability covering one Binance business surface.

Run with Naftiko BinanceTrading

What You Can Do

POST
Createbatchorders — Place multiple orders
/v1/fapi/v1/batchorders
GET
Getopenorders — Current all open orders
/v1/fapi/v1/openorders
POST
Createorder — New order
/v1/fapi/v1/order
GET
Getorder — Query order
/v1/fapi/v1/order
DELETE
Cancelorder — Cancel order
/v1/fapi/v1/order

MCP Tools

place-multiple-orders

Place multiple orders

current-all-open-orders

Current all open orders

read-only idempotent
new-order

New order

query-order

Query order

read-only idempotent
cancel-order

Cancel order

idempotent

Capability Spec

usds-margined-futures-trading.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Binance USD-S Margined Futures API — Trading
  description: 'Binance USD-S Margined Futures API — Trading. 5 operations. Lead operation: Place multiple orders. Self-contained
    Naftiko capability covering one Binance business surface.'
  tags:
  - Binance
  - Trading
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    BINANCE_API_KEY: BINANCE_API_KEY
capability:
  consumes:
  - type: http
    namespace: usds-margined-futures-trading
    baseUri: https://fapi.binance.com
    description: Binance USD-S Margined Futures API — Trading business capability. Self-contained, no shared references.
    resources:
    - name: fapi-v1-batchOrders
      path: /fapi/v1/batchOrders
      operations:
      - name: createbatchorders
        method: POST
        description: Place multiple orders
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: batchOrders
          in: query
          type: string
          description: JSON array of order parameters. Max 5 orders.
          required: true
    - name: fapi-v1-openOrders
      path: /fapi/v1/openOrders
      operations:
      - name: getopenorders
        method: GET
        description: Current all open orders
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: fapi-v1-order
      path: /fapi/v1/order
      operations:
      - name: createorder
        method: POST
        description: New order
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: side
          in: query
          type: string
          description: Order side.
          required: true
        - name: positionSide
          in: query
          type: string
          description: Position side for hedge mode. BOTH for one-way mode.
        - name: type
          in: query
          type: string
          description: Order type.
          required: true
        - name: timeInForce
          in: query
          type: string
          description: Time in force. Required for LIMIT orders.
        - name: quantity
          in: query
          type: string
          description: Order quantity.
        - name: reduceOnly
          in: query
          type: boolean
          description: Reduce only flag. Cannot be sent with closePosition.
        - name: price
          in: query
          type: string
          description: Order price.
        - name: newClientOrderId
          in: query
          type: string
          description: A unique ID among open orders.
        - name: stopPrice
          in: query
          type: string
          description: Stop price for stop orders.
        - name: closePosition
          in: query
          type: boolean
          description: Close all positions when triggered.
        - name: activationPrice
          in: query
          type: string
          description: Activation price for TRAILING_STOP_MARKET orders.
        - name: callbackRate
          in: query
          type: string
          description: Callback rate for TRAILING_STOP_MARKET orders.
        - name: workingType
          in: query
          type: string
          description: Stop price working type.
        - name: priceProtect
          in: query
          type: boolean
          description: Price protection flag.
        - name: newOrderRespType
          in: query
          type: string
          description: Response type. ACK or RESULT.
      - name: getorder
        method: GET
        description: Query order
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderId
          in: query
          type: integer
          description: Order ID.
        - name: origClientOrderId
          in: query
          type: string
          description: Client order ID.
      - name: cancelorder
        method: DELETE
        description: Cancel order
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orderId
          in: query
          type: integer
          description: Order ID.
        - name: origClientOrderId
          in: query
          type: string
          description: Client order ID.
    authentication:
      type: apikey
      key: X-MBX-APIKEY
      value: '{{env.BINANCE_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: usds-margined-futures-trading-rest
    port: 8080
    description: REST adapter for Binance USD-S Margined Futures API — Trading. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/fapi/v1/batchorders
      name: fapi-v1-batchorders
      description: REST surface for fapi-v1-batchOrders.
      operations:
      - method: POST
        name: createbatchorders
        description: Place multiple orders
        call: usds-margined-futures-trading.createbatchorders
        with:
          batchOrders: rest.batchOrders
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/fapi/v1/openorders
      name: fapi-v1-openorders
      description: REST surface for fapi-v1-openOrders.
      operations:
      - method: GET
        name: getopenorders
        description: Current all open orders
        call: usds-margined-futures-trading.getopenorders
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/fapi/v1/order
      name: fapi-v1-order
      description: REST surface for fapi-v1-order.
      operations:
      - method: POST
        name: createorder
        description: New order
        call: usds-margined-futures-trading.createorder
        with:
          side: rest.side
          positionSide: rest.positionSide
          type: rest.type
          timeInForce: rest.timeInForce
          quantity: rest.quantity
          reduceOnly: rest.reduceOnly
          price: rest.price
          newClientOrderId: rest.newClientOrderId
          stopPrice: rest.stopPrice
          closePosition: rest.closePosition
          activationPrice: rest.activationPrice
          callbackRate: rest.callbackRate
          workingType: rest.workingType
          priceProtect: rest.priceProtect
          newOrderRespType: rest.newOrderRespType
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getorder
        description: Query order
        call: usds-margined-futures-trading.getorder
        with:
          orderId: rest.orderId
          origClientOrderId: rest.origClientOrderId
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: cancelorder
        description: Cancel order
        call: usds-margined-futures-trading.cancelorder
        with:
          orderId: rest.orderId
          origClientOrderId: rest.origClientOrderId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: usds-margined-futures-trading-mcp
    port: 9090
    transport: http
    description: MCP adapter for Binance USD-S Margined Futures API — Trading. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: place-multiple-orders
      description: Place multiple orders
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: usds-margined-futures-trading.createbatchorders
      with:
        batchOrders: tools.batchOrders
      outputParameters:
      - type: object
        mapping: $.
    - name: current-all-open-orders
      description: Current all open orders
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: usds-margined-futures-trading.getopenorders
      outputParameters:
      - type: object
        mapping: $.
    - name: new-order
      description: New order
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: usds-margined-futures-trading.createorder
      with:
        side: tools.side
        positionSide: tools.positionSide
        type: tools.type
        timeInForce: tools.timeInForce
        quantity: tools.quantity
        reduceOnly: tools.reduceOnly
        price: tools.price
        newClientOrderId: tools.newClientOrderId
        stopPrice: tools.stopPrice
        closePosition: tools.closePosition
        activationPrice: tools.activationPrice
        callbackRate: tools.callbackRate
        workingType: tools.workingType
        priceProtect: tools.priceProtect
        newOrderRespType: tools.newOrderRespType
      outputParameters:
      - type: object
        mapping: $.
    - name: query-order
      description: Query order
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: usds-margined-futures-trading.getorder
      with:
        orderId: tools.orderId
        origClientOrderId: tools.origClientOrderId
      outputParameters:
      - type: object
        mapping: $.
    - name: cancel-order
      description: Cancel order
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: usds-margined-futures-trading.cancelorder
      with:
        orderId: tools.orderId
        origClientOrderId: tools.origClientOrderId
      outputParameters:
      - type: object
        mapping: $.