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