naftiko: 1.0.0-alpha2 info: label: Blockchain.com Exchange REST API — Market Data description: | Blockchain.com Exchange REST API — Market Data. 6 operations. Lead operation: Blockchain.com List Trading Symbols. Self-contained Naftiko capability covering one Blockchain.com business surface. tags: - Blockchain.com - Exchange REST API - Market Data created: '2026-05-30' modified: '2026-05-30' binds: - namespace: env keys: BLOCKCHAIN_EXCHANGE_KEY: BLOCKCHAIN_EXCHANGE_KEY capability: consumes: - type: http namespace: exchange-market-data baseUri: https://api.blockchain.com/v3/exchange description: Blockchain.com Exchange REST API — Market Data business capability. Self-contained, no shared references. resources: - name: symbols path: /symbols operations: - name: listSymbols method: GET description: Blockchain.com List Trading Symbols inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: symbols-symbol path: /symbols/{symbol} operations: - name: getSymbol method: GET description: Blockchain.com Get a Single Symbol inputParameters: - name: symbol in: path type: string required: true description: Trading pair symbol (e.g. `BTC-USD`). outputRawFormat: json outputParameters: - name: result type: object value: $. - name: tickers path: /tickers operations: - name: listTickers method: GET description: Blockchain.com List Tickers inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: tickers-symbol path: /tickers/{symbol} operations: - name: getTicker method: GET description: Blockchain.com Get a Single Ticker inputParameters: - name: symbol in: path type: string required: true description: Trading pair symbol (e.g. `BTC-USD`). outputRawFormat: json outputParameters: - name: result type: object value: $. - name: l2-symbol path: /l2/{symbol} operations: - name: getL2OrderBook method: GET description: Blockchain.com Get Level-2 Order Book inputParameters: - name: symbol in: path type: string required: true description: Trading pair symbol (e.g. `BTC-USD`). outputRawFormat: json outputParameters: - name: result type: object value: $. - name: l3-symbol path: /l3/{symbol} operations: - name: getL3OrderBook method: GET description: Blockchain.com Get Level-3 Order Book inputParameters: - name: symbol in: path type: string required: true description: Trading pair symbol (e.g. `BTC-USD`). 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-market-data-rest port: 8080 description: REST adapter for Blockchain.com Exchange REST API — Market Data. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/symbols name: symbols description: REST surface for symbols. operations: - method: GET name: listSymbols description: Blockchain.com List Trading Symbols call: exchange-market-data.listSymbols with: {} outputParameters: - type: object mapping: $. - path: /v1/symbols/{symbol} name: symbols-symbol description: REST surface for symbols-symbol. operations: - method: GET name: getSymbol description: Blockchain.com Get a Single Symbol call: exchange-market-data.getSymbol with: symbol: rest.symbol outputParameters: - type: object mapping: $. - path: /v1/tickers name: tickers description: REST surface for tickers. operations: - method: GET name: listTickers description: Blockchain.com List Tickers call: exchange-market-data.listTickers with: {} outputParameters: - type: object mapping: $. - path: /v1/tickers/{symbol} name: tickers-symbol description: REST surface for tickers-symbol. operations: - method: GET name: getTicker description: Blockchain.com Get a Single Ticker call: exchange-market-data.getTicker with: symbol: rest.symbol outputParameters: - type: object mapping: $. - path: /v1/l2/{symbol} name: l2-symbol description: REST surface for l2-symbol. operations: - method: GET name: getL2OrderBook description: Blockchain.com Get Level-2 Order Book call: exchange-market-data.getL2OrderBook with: symbol: rest.symbol outputParameters: - type: object mapping: $. - path: /v1/l3/{symbol} name: l3-symbol description: REST surface for l3-symbol. operations: - method: GET name: getL3OrderBook description: Blockchain.com Get Level-3 Order Book call: exchange-market-data.getL3OrderBook with: symbol: rest.symbol outputParameters: - type: object mapping: $. - type: mcp namespace: exchange-market-data-mcp port: 9090 transport: http description: MCP adapter for Blockchain.com Exchange REST API — Market Data. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-trading-symbols description: Blockchain.com List Trading Symbols hints: readOnly: true destructive: false idempotent: true call: exchange-market-data.listSymbols with: {} outputParameters: - type: object mapping: $. - name: get-single-symbol description: Blockchain.com Get a Single Symbol hints: readOnly: true destructive: false idempotent: true call: exchange-market-data.getSymbol with: symbol: tools.symbol outputParameters: - type: object mapping: $. - name: list-tickers description: Blockchain.com List Tickers hints: readOnly: true destructive: false idempotent: true call: exchange-market-data.listTickers with: {} outputParameters: - type: object mapping: $. - name: get-single-ticker description: Blockchain.com Get a Single Ticker hints: readOnly: true destructive: false idempotent: true call: exchange-market-data.getTicker with: symbol: tools.symbol outputParameters: - type: object mapping: $. - name: get-level-2-order-book description: Blockchain.com Get Level-2 Order Book hints: readOnly: true destructive: false idempotent: true call: exchange-market-data.getL2OrderBook with: symbol: tools.symbol outputParameters: - type: object mapping: $. - name: get-level-3-order-book description: Blockchain.com Get Level-3 Order Book hints: readOnly: true destructive: false idempotent: true call: exchange-market-data.getL3OrderBook with: symbol: tools.symbol outputParameters: - type: object mapping: $.