naftiko: 1.0.0-alpha2 info: label: Binance Mining API — Mining description: 'Binance Mining API — Mining. 6 operations. Lead operation: Earnings list. Self-contained Naftiko capability covering one Binance business surface.' tags: - Binance - Mining created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: BINANCE_API_KEY: BINANCE_API_KEY capability: consumes: - type: http namespace: mining-mining baseUri: https://api.binance.com description: Binance Mining API — Mining business capability. Self-contained, no shared references. resources: - name: sapi-v1-mining-payment-list path: /sapi/v1/mining/payment/list operations: - name: getearningslist method: GET description: Earnings list outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: algo in: query type: string required: true - name: userName in: query type: string required: true - name: coin in: query type: string - name: startDate in: query type: string - name: endDate in: query type: string - name: pageIndex in: query type: integer - name: pageSize in: query type: integer - name: recvWindow in: query type: integer - name: timestamp in: query type: integer required: true - name: signature in: query type: string required: true - name: sapi-v1-mining-pub-algoList path: /sapi/v1/mining/pub/algoList operations: - name: getalgorithmlist method: GET description: Acquiring algorithm outputRawFormat: json outputParameters: - name: result type: object value: $. - name: sapi-v1-mining-pub-coinList path: /sapi/v1/mining/pub/coinList operations: - name: getcoinlist method: GET description: Acquiring coin name outputRawFormat: json outputParameters: - name: result type: object value: $. - name: sapi-v1-mining-statistics-user-status path: /sapi/v1/mining/statistics/user/status operations: - name: getstatistics method: GET description: Statistic list outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: algo in: query type: string required: true - name: userName in: query type: string required: true - name: recvWindow in: query type: integer - name: timestamp in: query type: integer required: true - name: signature in: query type: string required: true - name: sapi-v1-mining-worker-detail path: /sapi/v1/mining/worker/detail operations: - name: getworkerdetail method: GET description: Request for detail miner list outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: algo in: query type: string description: Algorithm name, e.g. sha256. required: true - name: userName in: query type: string description: Mining account username. required: true - name: workerName in: query type: string description: Worker/miner name. required: true - name: recvWindow in: query type: integer - name: timestamp in: query type: integer required: true - name: signature in: query type: string required: true - name: sapi-v1-mining-worker-list path: /sapi/v1/mining/worker/list operations: - name: getworkerlist method: GET description: Request for miner list outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: algo in: query type: string required: true - name: userName in: query type: string required: true - name: pageIndex in: query type: integer - name: sort in: query type: integer - name: sortColumn in: query type: integer - name: workerStatus in: query type: integer description: 0=all, 1=valid, 2=invalid, 3=failure. - name: recvWindow in: query type: integer - name: timestamp in: query type: integer required: true - name: signature in: query type: string required: true authentication: type: apikey key: X-MBX-APIKEY value: '{{env.BINANCE_API_KEY}}' placement: header exposes: - type: rest namespace: mining-mining-rest port: 8080 description: REST adapter for Binance Mining API — Mining. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/sapi/v1/mining/payment/list name: sapi-v1-mining-payment-list description: REST surface for sapi-v1-mining-payment-list. operations: - method: GET name: getearningslist description: Earnings list call: mining-mining.getearningslist with: algo: rest.algo userName: rest.userName coin: rest.coin startDate: rest.startDate endDate: rest.endDate pageIndex: rest.pageIndex pageSize: rest.pageSize recvWindow: rest.recvWindow timestamp: rest.timestamp signature: rest.signature outputParameters: - type: object mapping: $. - path: /v1/sapi/v1/mining/pub/algolist name: sapi-v1-mining-pub-algolist description: REST surface for sapi-v1-mining-pub-algoList. operations: - method: GET name: getalgorithmlist description: Acquiring algorithm call: mining-mining.getalgorithmlist outputParameters: - type: object mapping: $. - path: /v1/sapi/v1/mining/pub/coinlist name: sapi-v1-mining-pub-coinlist description: REST surface for sapi-v1-mining-pub-coinList. operations: - method: GET name: getcoinlist description: Acquiring coin name call: mining-mining.getcoinlist outputParameters: - type: object mapping: $. - path: /v1/sapi/v1/mining/statistics/user/status name: sapi-v1-mining-statistics-user-status description: REST surface for sapi-v1-mining-statistics-user-status. operations: - method: GET name: getstatistics description: Statistic list call: mining-mining.getstatistics with: algo: rest.algo userName: rest.userName recvWindow: rest.recvWindow timestamp: rest.timestamp signature: rest.signature outputParameters: - type: object mapping: $. - path: /v1/sapi/v1/mining/worker/detail name: sapi-v1-mining-worker-detail description: REST surface for sapi-v1-mining-worker-detail. operations: - method: GET name: getworkerdetail description: Request for detail miner list call: mining-mining.getworkerdetail with: algo: rest.algo userName: rest.userName workerName: rest.workerName recvWindow: rest.recvWindow timestamp: rest.timestamp signature: rest.signature outputParameters: - type: object mapping: $. - path: /v1/sapi/v1/mining/worker/list name: sapi-v1-mining-worker-list description: REST surface for sapi-v1-mining-worker-list. operations: - method: GET name: getworkerlist description: Request for miner list call: mining-mining.getworkerlist with: algo: rest.algo userName: rest.userName pageIndex: rest.pageIndex sort: rest.sort sortColumn: rest.sortColumn workerStatus: rest.workerStatus recvWindow: rest.recvWindow timestamp: rest.timestamp signature: rest.signature outputParameters: - type: object mapping: $. - type: mcp namespace: mining-mining-mcp port: 9090 transport: http description: MCP adapter for Binance Mining API — Mining. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: earnings-list description: Earnings list hints: readOnly: true destructive: false idempotent: true call: mining-mining.getearningslist with: algo: tools.algo userName: tools.userName coin: tools.coin startDate: tools.startDate endDate: tools.endDate pageIndex: tools.pageIndex pageSize: tools.pageSize recvWindow: tools.recvWindow timestamp: tools.timestamp signature: tools.signature outputParameters: - type: object mapping: $. - name: acquiring-algorithm description: Acquiring algorithm hints: readOnly: true destructive: false idempotent: true call: mining-mining.getalgorithmlist outputParameters: - type: object mapping: $. - name: acquiring-coin-name description: Acquiring coin name hints: readOnly: true destructive: false idempotent: true call: mining-mining.getcoinlist outputParameters: - type: object mapping: $. - name: statistic-list description: Statistic list hints: readOnly: true destructive: false idempotent: true call: mining-mining.getstatistics with: algo: tools.algo userName: tools.userName recvWindow: tools.recvWindow timestamp: tools.timestamp signature: tools.signature outputParameters: - type: object mapping: $. - name: request-detail-miner-list description: Request for detail miner list hints: readOnly: true destructive: false idempotent: true call: mining-mining.getworkerdetail with: algo: tools.algo userName: tools.userName workerName: tools.workerName recvWindow: tools.recvWindow timestamp: tools.timestamp signature: tools.signature outputParameters: - type: object mapping: $. - name: request-miner-list description: Request for miner list hints: readOnly: true destructive: false idempotent: true call: mining-mining.getworkerlist with: algo: tools.algo userName: tools.userName pageIndex: tools.pageIndex sort: tools.sort sortColumn: tools.sortColumn workerStatus: tools.workerStatus recvWindow: tools.recvWindow timestamp: tools.timestamp signature: tools.signature outputParameters: - type: object mapping: $.