naftiko: 1.0.0-alpha2 info: label: Kraken Futures REST API — Account description: 'Kraken Futures REST API — Account. 5 operations. Lead operation: Kraken Get Accounts. Self-contained Naftiko capability covering one Kraken business surface.' tags: - Kraken - Cryptocurrency - Account created: '2026-05-30' modified: '2026-05-30' binds: - namespace: env keys: KRAKEN_FUTURES_API_KEY: KRAKEN_FUTURES_API_KEY capability: consumes: - type: http namespace: futures-rest-account baseUri: https://futures.kraken.com/derivatives/api/v3 description: Kraken Futures REST API — Account business capability. Self-contained, no shared references. authentication: type: apikey key: API-Key value: '{{env.KRAKEN_FUTURES_API_KEY}}' placement: header resources: - name: accounts path: /accounts operations: - name: getAccounts method: GET description: Kraken Get Accounts inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: openpositions path: /openpositions operations: - name: getOpenPositionsFutures method: GET description: Kraken Get Open Positions (Futures) inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: openorders path: /openorders operations: - name: getOpenOrdersFutures method: GET description: Kraken Get Open Orders (Futures) inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: fills path: /fills operations: - name: getFills method: GET description: Kraken Get Fills inputParameters: - name: lastFillTime in: query type: string required: false description: lastFillTime outputRawFormat: json outputParameters: - name: result type: object value: $. - name: notifications path: /notifications operations: - name: getNotifications method: GET description: Kraken Get Notifications inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: futures-rest-account-rest port: 8080 description: REST adapter for Kraken Futures REST API — Account. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/accounts name: accounts description: REST surface for /accounts. operations: - method: GET name: getAccounts description: Kraken Get Accounts call: futures-rest-account.getAccounts with: {} outputParameters: - type: object mapping: $. - path: /v1/openpositions name: openpositions description: REST surface for /openpositions. operations: - method: GET name: getOpenPositionsFutures description: Kraken Get Open Positions (Futures) call: futures-rest-account.getOpenPositionsFutures with: {} outputParameters: - type: object mapping: $. - path: /v1/openorders name: openorders description: REST surface for /openorders. operations: - method: GET name: getOpenOrdersFutures description: Kraken Get Open Orders (Futures) call: futures-rest-account.getOpenOrdersFutures with: {} outputParameters: - type: object mapping: $. - path: /v1/fills name: fills description: REST surface for /fills. operations: - method: GET name: getFills description: Kraken Get Fills call: futures-rest-account.getFills with: lastFillTime: rest.lastFillTime outputParameters: - type: object mapping: $. - path: /v1/notifications name: notifications description: REST surface for /notifications. operations: - method: GET name: getNotifications description: Kraken Get Notifications call: futures-rest-account.getNotifications with: {} outputParameters: - type: object mapping: $. - type: mcp namespace: futures-rest-account-mcp port: 9090 transport: http description: MCP adapter for Kraken Futures REST API — Account. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: kraken-get-accounts description: Kraken Get Accounts hints: readOnly: true destructive: false idempotent: true call: futures-rest-account.getAccounts with: {} outputParameters: - type: object mapping: $. - name: kraken-get-open-positions description: Kraken Get Open Positions (Futures) hints: readOnly: true destructive: false idempotent: true call: futures-rest-account.getOpenPositionsFutures with: {} outputParameters: - type: object mapping: $. - name: kraken-get-open-orders description: Kraken Get Open Orders (Futures) hints: readOnly: true destructive: false idempotent: true call: futures-rest-account.getOpenOrdersFutures with: {} outputParameters: - type: object mapping: $. - name: kraken-get-fills description: Kraken Get Fills hints: readOnly: true destructive: false idempotent: true call: futures-rest-account.getFills with: lastFillTime: tools.lastFillTime outputParameters: - type: object mapping: $. - name: kraken-get-notifications description: Kraken Get Notifications hints: readOnly: true destructive: false idempotent: true call: futures-rest-account.getNotifications with: {} outputParameters: - type: object mapping: $.