naftiko: 1.0.0-alpha2 info: label: Coinbase Advanced Trade API — Products description: 'Coinbase Advanced Trade API — Products. 4 operations. Lead operation: List products. Self-contained Naftiko capability covering one Coinbase business surface.' tags: - Coinbase - Products created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: COINBASE_API_KEY: COINBASE_API_KEY capability: consumes: - type: http namespace: advanced-trade-products baseUri: https://api.coinbase.com/api/v3/brokerage description: Coinbase Advanced Trade API — Products business capability. Self-contained, no shared references. resources: - name: products path: /products operations: - name: listproducts method: GET description: List products outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: product_type in: query type: string description: Filter by product type - name: offset in: query type: integer description: Number of products to offset before returning - name: products-product_id path: /products/{product_id} operations: - name: getproduct method: GET description: Get product outputRawFormat: json outputParameters: - name: result type: object value: $. - name: products-product_id-candles path: /products/{product_id}/candles operations: - name: getproductcandles method: GET description: Get product candles outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: start in: query type: string description: Start time in UNIX timestamp format required: true - name: end in: query type: string description: End time in UNIX timestamp format required: true - name: granularity in: query type: string description: Time granularity for each candle required: true - name: products-product_id-ticker path: /products/{product_id}/ticker operations: - name: getmarkettrades method: GET description: Get market trades outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: CB-ACCESS-KEY value: '{{env.COINBASE_API_KEY}}' placement: header exposes: - type: rest namespace: advanced-trade-products-rest port: 8080 description: REST adapter for Coinbase Advanced Trade API — Products. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/products name: products description: REST surface for products. operations: - method: GET name: listproducts description: List products call: advanced-trade-products.listproducts with: product_type: rest.product_type offset: rest.offset outputParameters: - type: object mapping: $. - path: /v1/products/{product-id} name: products-product-id description: REST surface for products-product_id. operations: - method: GET name: getproduct description: Get product call: advanced-trade-products.getproduct outputParameters: - type: object mapping: $. - path: /v1/products/{product-id}/candles name: products-product-id-candles description: REST surface for products-product_id-candles. operations: - method: GET name: getproductcandles description: Get product candles call: advanced-trade-products.getproductcandles with: start: rest.start end: rest.end granularity: rest.granularity outputParameters: - type: object mapping: $. - path: /v1/products/{product-id}/ticker name: products-product-id-ticker description: REST surface for products-product_id-ticker. operations: - method: GET name: getmarkettrades description: Get market trades call: advanced-trade-products.getmarkettrades outputParameters: - type: object mapping: $. - type: mcp namespace: advanced-trade-products-mcp port: 9090 transport: http description: MCP adapter for Coinbase Advanced Trade API — Products. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-products description: List products hints: readOnly: true destructive: false idempotent: true call: advanced-trade-products.listproducts with: product_type: tools.product_type offset: tools.offset outputParameters: - type: object mapping: $. - name: get-product description: Get product hints: readOnly: true destructive: false idempotent: true call: advanced-trade-products.getproduct outputParameters: - type: object mapping: $. - name: get-product-candles description: Get product candles hints: readOnly: true destructive: false idempotent: true call: advanced-trade-products.getproductcandles with: start: tools.start end: tools.end granularity: tools.granularity outputParameters: - type: object mapping: $. - name: get-market-trades description: Get market trades hints: readOnly: true destructive: false idempotent: true call: advanced-trade-products.getmarkettrades outputParameters: - type: object mapping: $.