naftiko: 1.0.0-alpha2 info: label: Blockchain.com Blockchain Data API — Network description: | Blockchain.com Blockchain Data API — Network. 13 operations. Lead operation: Blockchain.com Get Current Difficulty. Self-contained Naftiko capability covering one Blockchain.com business surface. tags: - Blockchain.com - Blockchain Data API - Network created: '2026-05-30' modified: '2026-05-30' capability: consumes: - type: http namespace: data-api-network baseUri: https://blockchain.info description: Blockchain.com Blockchain Data API — Network business capability. Self-contained, no shared references. resources: - name: q-getdifficulty path: /q/getdifficulty operations: - name: getDifficulty method: GET description: Blockchain.com Get Current Difficulty inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: q-getblockcount path: /q/getblockcount operations: - name: getBlockCount method: GET description: Blockchain.com Get Current Block Count inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: q-latesthash path: /q/latesthash operations: - name: getLatestHash method: GET description: Blockchain.com Get the Latest Block Hash inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: q-bcperblock path: /q/bcperblock operations: - name: getBcPerBlock method: GET description: Blockchain.com Get the Current Block Reward inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: q-totalbc path: /q/totalbc operations: - name: getTotalBc method: GET description: Blockchain.com Get Total Bitcoins in Circulation inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: q-probability path: /q/probability operations: - name: getProbability method: GET description: Blockchain.com Get Block Solve Probability inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: q-hashestowin path: /q/hashestowin operations: - name: getHashesToWin method: GET description: Blockchain.com Get Hashes Needed to Solve a Block inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: q-nextretarget path: /q/nextretarget operations: - name: getNextRetarget method: GET description: Blockchain.com Get Next Difficulty Retarget Block inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: q-avgtxsize path: /q/avgtxsize operations: - name: getAverageTxSize method: GET description: Blockchain.com Get Average Transaction Size inputParameters: - name: blocks in: query type: integer required: false description: Number of trailing blocks to average over. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: q-avgtxvalue path: /q/avgtxvalue operations: - name: getAverageTxValue method: GET description: Blockchain.com Get Average Transaction Value inputParameters: - name: blocks in: query type: integer required: false description: Number of trailing blocks to average over (default 1000). outputRawFormat: json outputParameters: - name: result type: object value: $. - name: q-interval path: /q/interval operations: - name: getBlockInterval method: GET description: Blockchain.com Get Average Interval Between Blocks inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: q-eta path: /q/eta operations: - name: getEta method: GET description: Blockchain.com Get ETA of the Next Block inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: q-avgtxnumber path: /q/avgtxnumber operations: - name: getAverageTxNumber method: GET description: Blockchain.com Get Average Transactions Per Block inputParameters: - name: blocks in: query type: integer required: false description: Number of trailing blocks to average over. outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: data-api-network-rest port: 8080 description: REST adapter for Blockchain.com Blockchain Data API — Network. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/q/getdifficulty name: q-getdifficulty description: REST surface for q-getdifficulty. operations: - method: GET name: getDifficulty description: Blockchain.com Get Current Difficulty call: data-api-network.getDifficulty with: {} outputParameters: - type: object mapping: $. - path: /v1/q/getblockcount name: q-getblockcount description: REST surface for q-getblockcount. operations: - method: GET name: getBlockCount description: Blockchain.com Get Current Block Count call: data-api-network.getBlockCount with: {} outputParameters: - type: object mapping: $. - path: /v1/q/latesthash name: q-latesthash description: REST surface for q-latesthash. operations: - method: GET name: getLatestHash description: Blockchain.com Get the Latest Block Hash call: data-api-network.getLatestHash with: {} outputParameters: - type: object mapping: $. - path: /v1/q/bcperblock name: q-bcperblock description: REST surface for q-bcperblock. operations: - method: GET name: getBcPerBlock description: Blockchain.com Get the Current Block Reward call: data-api-network.getBcPerBlock with: {} outputParameters: - type: object mapping: $. - path: /v1/q/totalbc name: q-totalbc description: REST surface for q-totalbc. operations: - method: GET name: getTotalBc description: Blockchain.com Get Total Bitcoins in Circulation call: data-api-network.getTotalBc with: {} outputParameters: - type: object mapping: $. - path: /v1/q/probability name: q-probability description: REST surface for q-probability. operations: - method: GET name: getProbability description: Blockchain.com Get Block Solve Probability call: data-api-network.getProbability with: {} outputParameters: - type: object mapping: $. - path: /v1/q/hashestowin name: q-hashestowin description: REST surface for q-hashestowin. operations: - method: GET name: getHashesToWin description: Blockchain.com Get Hashes Needed to Solve a Block call: data-api-network.getHashesToWin with: {} outputParameters: - type: object mapping: $. - path: /v1/q/nextretarget name: q-nextretarget description: REST surface for q-nextretarget. operations: - method: GET name: getNextRetarget description: Blockchain.com Get Next Difficulty Retarget Block call: data-api-network.getNextRetarget with: {} outputParameters: - type: object mapping: $. - path: /v1/q/avgtxsize name: q-avgtxsize description: REST surface for q-avgtxsize. operations: - method: GET name: getAverageTxSize description: Blockchain.com Get Average Transaction Size call: data-api-network.getAverageTxSize with: blocks: rest.blocks outputParameters: - type: object mapping: $. - path: /v1/q/avgtxvalue name: q-avgtxvalue description: REST surface for q-avgtxvalue. operations: - method: GET name: getAverageTxValue description: Blockchain.com Get Average Transaction Value call: data-api-network.getAverageTxValue with: blocks: rest.blocks outputParameters: - type: object mapping: $. - path: /v1/q/interval name: q-interval description: REST surface for q-interval. operations: - method: GET name: getBlockInterval description: Blockchain.com Get Average Interval Between Blocks call: data-api-network.getBlockInterval with: {} outputParameters: - type: object mapping: $. - path: /v1/q/eta name: q-eta description: REST surface for q-eta. operations: - method: GET name: getEta description: Blockchain.com Get ETA of the Next Block call: data-api-network.getEta with: {} outputParameters: - type: object mapping: $. - path: /v1/q/avgtxnumber name: q-avgtxnumber description: REST surface for q-avgtxnumber. operations: - method: GET name: getAverageTxNumber description: Blockchain.com Get Average Transactions Per Block call: data-api-network.getAverageTxNumber with: blocks: rest.blocks outputParameters: - type: object mapping: $. - type: mcp namespace: data-api-network-mcp port: 9090 transport: http description: MCP adapter for Blockchain.com Blockchain Data API — Network. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-current-difficulty description: Blockchain.com Get Current Difficulty hints: readOnly: true destructive: false idempotent: true call: data-api-network.getDifficulty with: {} outputParameters: - type: object mapping: $. - name: get-current-block-count description: Blockchain.com Get Current Block Count hints: readOnly: true destructive: false idempotent: true call: data-api-network.getBlockCount with: {} outputParameters: - type: object mapping: $. - name: get-latest-block-hash description: Blockchain.com Get the Latest Block Hash hints: readOnly: true destructive: false idempotent: true call: data-api-network.getLatestHash with: {} outputParameters: - type: object mapping: $. - name: get-current-block-reward description: Blockchain.com Get the Current Block Reward hints: readOnly: true destructive: false idempotent: true call: data-api-network.getBcPerBlock with: {} outputParameters: - type: object mapping: $. - name: get-total-bitcoins-circulation description: Blockchain.com Get Total Bitcoins in Circulation hints: readOnly: true destructive: false idempotent: true call: data-api-network.getTotalBc with: {} outputParameters: - type: object mapping: $. - name: get-block-solve-probability description: Blockchain.com Get Block Solve Probability hints: readOnly: true destructive: false idempotent: true call: data-api-network.getProbability with: {} outputParameters: - type: object mapping: $. - name: get-hashes-needed-solve-block description: Blockchain.com Get Hashes Needed to Solve a Block hints: readOnly: true destructive: false idempotent: true call: data-api-network.getHashesToWin with: {} outputParameters: - type: object mapping: $. - name: get-next-difficulty-retarget-block description: Blockchain.com Get Next Difficulty Retarget Block hints: readOnly: true destructive: false idempotent: true call: data-api-network.getNextRetarget with: {} outputParameters: - type: object mapping: $. - name: get-average-transaction-size description: Blockchain.com Get Average Transaction Size hints: readOnly: true destructive: false idempotent: true call: data-api-network.getAverageTxSize with: blocks: tools.blocks outputParameters: - type: object mapping: $. - name: get-average-transaction-value description: Blockchain.com Get Average Transaction Value hints: readOnly: true destructive: false idempotent: true call: data-api-network.getAverageTxValue with: blocks: tools.blocks outputParameters: - type: object mapping: $. - name: get-average-interval-between-blocks description: Blockchain.com Get Average Interval Between Blocks hints: readOnly: true destructive: false idempotent: true call: data-api-network.getBlockInterval with: {} outputParameters: - type: object mapping: $. - name: get-eta-next-block description: Blockchain.com Get ETA of the Next Block hints: readOnly: true destructive: false idempotent: true call: data-api-network.getEta with: {} outputParameters: - type: object mapping: $. - name: get-average-transactions-per-block description: Blockchain.com Get Average Transactions Per Block hints: readOnly: true destructive: false idempotent: true call: data-api-network.getAverageTxNumber with: blocks: tools.blocks outputParameters: - type: object mapping: $.