Blockchain.com · Capability

Blockchain.com Exchange REST API — Trading

Blockchain.com Exchange REST API — Trading. 8 operations. Lead operation: Blockchain.com Get Maker/taker Fees. Self-contained Naftiko capability covering one Blockchain.com business surface.

Run with Naftiko Blockchain.comExchange REST APITrading

What You Can Do

GET
Getfees — Blockchain.com Get Maker/taker Fees
/v1/fees
GET
Listorders — Blockchain.com List Orders
/v1/orders
POST
Createorder — Blockchain.com Create a New Order
/v1/orders
DELETE
Cancelallorders — Blockchain.com Cancel All Open Orders
/v1/orders
GET
Getorder — Blockchain.com Get a Single Order
/v1/orders/{orderId}
DELETE
Cancelorder — Blockchain.com Cancel a Single Order
/v1/orders/{orderId}
GET
Listtrades — Blockchain.com List Trades
/v1/trades
GET
Listfills — Blockchain.com List Fills
/v1/fills

MCP Tools

get-maker-taker-fees

Blockchain.com Get Maker/taker Fees

read-only idempotent
list-orders

Blockchain.com List Orders

read-only idempotent
create-new-order

Blockchain.com Create a New Order

cancel-all-open-orders

Blockchain.com Cancel All Open Orders

idempotent
get-single-order

Blockchain.com Get a Single Order

read-only idempotent
cancel-single-order

Blockchain.com Cancel a Single Order

idempotent
list-trades

Blockchain.com List Trades

read-only idempotent
list-fills

Blockchain.com List Fills

read-only idempotent

Capability Spec

exchange-trading.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Blockchain.com Exchange REST API — Trading
  description: |
    Blockchain.com Exchange REST API — Trading. 8 operations. Lead operation: Blockchain.com Get Maker/taker Fees. Self-contained Naftiko capability covering one Blockchain.com business surface.
  tags:
    - Blockchain.com
    - Exchange REST API
    - Trading
  created: '2026-05-30'
  modified: '2026-05-30'
binds:
  - namespace: env
    keys:
      BLOCKCHAIN_EXCHANGE_KEY: BLOCKCHAIN_EXCHANGE_KEY
capability:
  consumes:
    - type: http
      namespace: exchange-trading
      baseUri: https://api.blockchain.com/v3/exchange
      description: Blockchain.com Exchange REST API — Trading business capability. Self-contained, no shared references.
      resources:
        - name: fees
          path: /fees
          operations:
            - name: getFees
              method: GET
              description: Blockchain.com Get Maker/taker Fees
              inputParameters: []
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: orders
          path: /orders
          operations:
            - name: listOrders
              method: GET
              description: Blockchain.com List Orders
              inputParameters:
                - name: symbol
                  in: query
                  type: string
                  required: false
                  description: Trading symbol filter.
                - name: from
                  in: query
                  type: integer
                  required: false
                  description: Filter by orders created on or after this Unix timestamp (ms).
                - name: to
                  in: query
                  type: integer
                  required: false
                  description: Filter by orders created on or before this Unix timestamp (ms).
                - name: status
                  in: query
                  type: string
                  required: false
                  description: Order status filter (e.g. `open`, `filled`, `cancelled`).
                - name: limit
                  in: query
                  type: integer
                  required: false
                  description: Maximum number of results to return.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
            - name: createOrder
              method: POST
              description: Blockchain.com Create a New Order
              inputParameters:
                - name: body
                  in: body
                  type: object
                  required: true
                  description: Request body payload.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
            - name: cancelAllOrders
              method: DELETE
              description: Blockchain.com Cancel All Open Orders
              inputParameters:
                - name: symbol
                  in: query
                  type: string
                  required: false
                  description: If supplied, only cancel orders for this symbol.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: orders-orderid
          path: /orders/{orderId}
          operations:
            - name: getOrder
              method: GET
              description: Blockchain.com Get a Single Order
              inputParameters:
                - name: orderId
                  in: path
                  type: string
                  required: true
                  description: Order identifier.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
            - name: cancelOrder
              method: DELETE
              description: Blockchain.com Cancel a Single Order
              inputParameters:
                - name: orderId
                  in: path
                  type: string
                  required: true
                  description: Order identifier.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: trades
          path: /trades
          operations:
            - name: listTrades
              method: GET
              description: Blockchain.com List Trades
              inputParameters:
                - name: symbol
                  in: query
                  type: string
                  required: false
                  description: ''
                - name: from
                  in: query
                  type: integer
                  required: false
                  description: ''
                - name: to
                  in: query
                  type: integer
                  required: false
                  description: ''
                - name: limit
                  in: query
                  type: integer
                  required: false
                  description: ''
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
        - name: fills
          path: /fills
          operations:
            - name: listFills
              method: GET
              description: Blockchain.com List Fills
              inputParameters:
                - name: symbol
                  in: query
                  type: string
                  required: false
                  description: ''
                - name: from
                  in: query
                  type: integer
                  required: false
                  description: ''
                - name: limit
                  in: query
                  type: integer
                  required: false
                  description: ''
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
      authentication:
        type: apikey
        key: X-API-Token
        value: '{{env.BLOCKCHAIN_EXCHANGE_KEY}}'
        placement: header
  exposes:
    - type: rest
      namespace: exchange-trading-rest
      port: 8080
      description: REST adapter for Blockchain.com Exchange REST API — Trading. One Spectral-compliant resource per consumed operation, prefixed with /v1.
      resources:
        - path: /v1/fees
          name: fees
          description: REST surface for fees.
          operations:
            - method: GET
              name: getFees
              description: Blockchain.com Get Maker/taker Fees
              call: exchange-trading.getFees
              with: {}
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/orders
          name: orders
          description: REST surface for orders.
          operations:
            - method: GET
              name: listOrders
              description: Blockchain.com List Orders
              call: exchange-trading.listOrders
              with:
                symbol: rest.symbol
                from: rest.from
                to: rest.to
                status: rest.status
                limit: rest.limit
              outputParameters:
                - type: object
                  mapping: $.
            - method: POST
              name: createOrder
              description: Blockchain.com Create a New Order
              call: exchange-trading.createOrder
              with:
                body: rest.body
              outputParameters:
                - type: object
                  mapping: $.
            - method: DELETE
              name: cancelAllOrders
              description: Blockchain.com Cancel All Open Orders
              call: exchange-trading.cancelAllOrders
              with:
                symbol: rest.symbol
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/orders/{orderId}
          name: orders-orderid
          description: REST surface for orders-orderid.
          operations:
            - method: GET
              name: getOrder
              description: Blockchain.com Get a Single Order
              call: exchange-trading.getOrder
              with:
                orderId: rest.orderId
              outputParameters:
                - type: object
                  mapping: $.
            - method: DELETE
              name: cancelOrder
              description: Blockchain.com Cancel a Single Order
              call: exchange-trading.cancelOrder
              with:
                orderId: rest.orderId
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/trades
          name: trades
          description: REST surface for trades.
          operations:
            - method: GET
              name: listTrades
              description: Blockchain.com List Trades
              call: exchange-trading.listTrades
              with:
                symbol: rest.symbol
                from: rest.from
                to: rest.to
                limit: rest.limit
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/fills
          name: fills
          description: REST surface for fills.
          operations:
            - method: GET
              name: listFills
              description: Blockchain.com List Fills
              call: exchange-trading.listFills
              with:
                symbol: rest.symbol
                from: rest.from
                limit: rest.limit
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: exchange-trading-mcp
      port: 9090
      transport: http
      description: MCP adapter for Blockchain.com Exchange REST API — Trading. One tool per consumed operation, routed inline through this capability's consumes block.
      tools:
        - name: get-maker-taker-fees
          description: Blockchain.com Get Maker/taker Fees
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: exchange-trading.getFees
          with: {}
          outputParameters:
            - type: object
              mapping: $.
        - name: list-orders
          description: Blockchain.com List Orders
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: exchange-trading.listOrders
          with:
            symbol: tools.symbol
            from: tools.from
            to: tools.to
            status: tools.status
            limit: tools.limit
          outputParameters:
            - type: object
              mapping: $.
        - name: create-new-order
          description: Blockchain.com Create a New Order
          hints:
            readOnly: false
            destructive: false
            idempotent: false
          call: exchange-trading.createOrder
          with:
            body: tools.body
          outputParameters:
            - type: object
              mapping: $.
        - name: cancel-all-open-orders
          description: Blockchain.com Cancel All Open Orders
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: exchange-trading.cancelAllOrders
          with:
            symbol: tools.symbol
          outputParameters:
            - type: object
              mapping: $.
        - name: get-single-order
          description: Blockchain.com Get a Single Order
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: exchange-trading.getOrder
          with:
            orderId: tools.orderId
          outputParameters:
            - type: object
              mapping: $.
        - name: cancel-single-order
          description: Blockchain.com Cancel a Single Order
          hints:
            readOnly: false
            destructive: true
            idempotent: true
          call: exchange-trading.cancelOrder
          with:
            orderId: tools.orderId
          outputParameters:
            - type: object
              mapping: $.
        - name: list-trades
          description: Blockchain.com List Trades
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: exchange-trading.listTrades
          with:
            symbol: tools.symbol
            from: tools.from
            to: tools.to
            limit: tools.limit
          outputParameters:
            - type: object
              mapping: $.
        - name: list-fills
          description: Blockchain.com List Fills
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: exchange-trading.listFills
          with:
            symbol: tools.symbol
            from: tools.from
            limit: tools.limit
          outputParameters:
            - type: object
              mapping: $.