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.
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
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: $.