naftiko: 1.0.0-alpha2 info: label: "Fireblocks Exchange \u2014 Exchange" description: Fireblocks Exchange business capability. 22 operations against the Fireblocks REST API v1. tags: - Fireblocks - Exchange created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: FIREBLOCKS_API_KEY: FIREBLOCKS_API_KEY FIREBLOCKS_API_SECRET: FIREBLOCKS_API_SECRET capability: consumes: - type: http namespace: exchange baseUri: https://api.fireblocks.io/v1 description: Fireblocks Exchange REST capability. JWT-signed using API key + RSA private key. resources: - name: getexchangeaccounts path: /exchange_accounts operations: - name: getexchangeaccounts method: GET description: List exchange accounts outputRawFormat: json outputParameters: - name: result type: object value: $. - name: addexchangeaccount path: /exchange_accounts operations: - name: addexchangeaccount method: POST description: Add an Exchange Account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: getpagedexchangeaccounts path: /exchange_accounts/paged operations: - name: getpagedexchangeaccounts method: GET description: List connected exchange accounts outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getexchangeaccount path: /exchange_accounts/{exchangeAccountId} operations: - name: getexchangeaccount method: GET description: Get a specific exchange account outputRawFormat: json outputParameters: - name: result type: object value: $. - name: internaltransfer path: /exchange_accounts/{exchangeAccountId}/internal_transfer operations: - name: internaltransfer method: POST description: Internal transfer for exchange accounts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: convertassets path: /exchange_accounts/{exchangeAccountId}/convert operations: - name: convertassets method: POST description: Convert exchange account funds outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: getexchangeaccountasset path: /exchange_accounts/{exchangeAccountId}/{assetId} operations: - name: getexchangeaccountasset method: GET description: Get an asset for an exchange account outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getexchangeaccountscredentialspublickey path: /exchange_accounts/credentials_public_key operations: - name: getexchangeaccountscredentialspublickey method: GET description: Get public key to encrypt exchange credentials outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getfiataccounts path: /fiat_accounts operations: - name: getfiataccounts method: GET description: List fiat accounts outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getfiataccount path: /fiat_accounts/{accountId} operations: - name: getfiataccount method: GET description: Find a specific fiat account outputRawFormat: json outputParameters: - name: result type: object value: $. - name: redeemfundstolinkeddda path: /fiat_accounts/{accountId}/redeem_to_linked_dda operations: - name: redeemfundstolinkeddda method: POST description: Redeem funds to DDA outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: depositfundsfromlinkeddda path: /fiat_accounts/{accountId}/deposit_from_linked_dda operations: - name: depositfundsfromlinkeddda method: POST description: Deposit funds from DDA outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: getconnectedaccounts path: /connected_accounts operations: - name: getconnectedaccounts method: GET description: Get connected accounts outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getconnectedaccount path: /connected_accounts/{accountId} operations: - name: getconnectedaccount method: GET description: Get connected account outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getconnectedaccountbalances path: /connected_accounts/{accountId}/balances operations: - name: getconnectedaccountbalances method: GET description: Get balances for an account outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getconnectedaccountrates path: /connected_accounts/{accountId}/rates operations: - name: getconnectedaccountrates method: GET description: Get exchange rates for an account outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getconnectedaccounttradingpairs path: /connected_accounts/{accountId}/manifest/capabilities/trading/pairs operations: - name: getconnectedaccounttradingpairs method: GET description: Get supported trading pairs for an account outputRawFormat: json outputParameters: - name: result type: object value: $. - name: gettradingproviders path: /trading/providers operations: - name: gettradingproviders method: GET description: Get providers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createquote path: /trading/quotes operations: - name: createquote method: POST description: Create a quote outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: createorder path: /trading/orders operations: - name: createorder method: POST description: Create an order outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: getorders path: /trading/orders operations: - name: getorders method: GET description: Get orders outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getorder path: /trading/orders/{orderId} operations: - name: getorder method: GET description: Get order details outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: X-API-Key value: '{{env.FIREBLOCKS_API_KEY}}' placement: header exposes: - type: rest namespace: exchange-rest port: 8080 description: REST adapter for Fireblocks Exchange. resources: - path: /v1/exchange_accounts name: getexchangeaccounts description: List exchange accounts operations: - method: GET name: getexchangeaccounts description: List exchange accounts call: exchange.getexchangeaccounts outputParameters: - type: object mapping: $. - path: /v1/exchange_accounts name: addexchangeaccount description: Add an Exchange Account operations: - method: POST name: addexchangeaccount description: Add an Exchange Account call: exchange.addexchangeaccount outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/exchange_accounts/paged name: getpagedexchangeaccounts description: List connected exchange accounts operations: - method: GET name: getpagedexchangeaccounts description: List connected exchange accounts call: exchange.getpagedexchangeaccounts outputParameters: - type: object mapping: $. - path: /v1/exchange_accounts/{exchangeAccountId} name: getexchangeaccount description: Get a specific exchange account operations: - method: GET name: getexchangeaccount description: Get a specific exchange account call: exchange.getexchangeaccount outputParameters: - type: object mapping: $. - path: /v1/exchange_accounts/{exchangeAccountId}/internal_transfer name: internaltransfer description: Internal transfer for exchange accounts operations: - method: POST name: internaltransfer description: Internal transfer for exchange accounts call: exchange.internaltransfer outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/exchange_accounts/{exchangeAccountId}/convert name: convertassets description: Convert exchange account funds operations: - method: POST name: convertassets description: Convert exchange account funds call: exchange.convertassets outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/exchange_accounts/{exchangeAccountId}/{assetId} name: getexchangeaccountasset description: Get an asset for an exchange account operations: - method: GET name: getexchangeaccountasset description: Get an asset for an exchange account call: exchange.getexchangeaccountasset outputParameters: - type: object mapping: $. - path: /v1/exchange_accounts/credentials_public_key name: getexchangeaccountscredentialspublickey description: Get public key to encrypt exchange credentials operations: - method: GET name: getexchangeaccountscredentialspublickey description: Get public key to encrypt exchange credentials call: exchange.getexchangeaccountscredentialspublickey outputParameters: - type: object mapping: $. - path: /v1/fiat_accounts name: getfiataccounts description: List fiat accounts operations: - method: GET name: getfiataccounts description: List fiat accounts call: exchange.getfiataccounts outputParameters: - type: object mapping: $. - path: /v1/fiat_accounts/{accountId} name: getfiataccount description: Find a specific fiat account operations: - method: GET name: getfiataccount description: Find a specific fiat account call: exchange.getfiataccount outputParameters: - type: object mapping: $. - path: /v1/fiat_accounts/{accountId}/redeem_to_linked_dda name: redeemfundstolinkeddda description: Redeem funds to DDA operations: - method: POST name: redeemfundstolinkeddda description: Redeem funds to DDA call: exchange.redeemfundstolinkeddda outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/fiat_accounts/{accountId}/deposit_from_linked_dda name: depositfundsfromlinkeddda description: Deposit funds from DDA operations: - method: POST name: depositfundsfromlinkeddda description: Deposit funds from DDA call: exchange.depositfundsfromlinkeddda outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/connected_accounts name: getconnectedaccounts description: Get connected accounts operations: - method: GET name: getconnectedaccounts description: Get connected accounts call: exchange.getconnectedaccounts outputParameters: - type: object mapping: $. - path: /v1/connected_accounts/{accountId} name: getconnectedaccount description: Get connected account operations: - method: GET name: getconnectedaccount description: Get connected account call: exchange.getconnectedaccount outputParameters: - type: object mapping: $. - path: /v1/connected_accounts/{accountId}/balances name: getconnectedaccountbalances description: Get balances for an account operations: - method: GET name: getconnectedaccountbalances description: Get balances for an account call: exchange.getconnectedaccountbalances outputParameters: - type: object mapping: $. - path: /v1/connected_accounts/{accountId}/rates name: getconnectedaccountrates description: Get exchange rates for an account operations: - method: GET name: getconnectedaccountrates description: Get exchange rates for an account call: exchange.getconnectedaccountrates outputParameters: - type: object mapping: $. - path: /v1/connected_accounts/{accountId}/manifest/capabilities/trading/pairs name: getconnectedaccounttradingpairs description: Get supported trading pairs for an account operations: - method: GET name: getconnectedaccounttradingpairs description: Get supported trading pairs for an account call: exchange.getconnectedaccounttradingpairs outputParameters: - type: object mapping: $. - path: /v1/trading/providers name: gettradingproviders description: Get providers operations: - method: GET name: gettradingproviders description: Get providers call: exchange.gettradingproviders outputParameters: - type: object mapping: $. - path: /v1/trading/quotes name: createquote description: Create a quote operations: - method: POST name: createquote description: Create a quote call: exchange.createquote outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/trading/orders name: createorder description: Create an order operations: - method: POST name: createorder description: Create an order call: exchange.createorder outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/trading/orders name: getorders description: Get orders operations: - method: GET name: getorders description: Get orders call: exchange.getorders outputParameters: - type: object mapping: $. - path: /v1/trading/orders/{orderId} name: getorder description: Get order details operations: - method: GET name: getorder description: Get order details call: exchange.getorder outputParameters: - type: object mapping: $. - type: mcp namespace: exchange-mcp port: 9090 transport: http description: MCP adapter for Fireblocks Exchange. One tool per consumed operation. tools: - name: fireblocks-getexchangeaccounts description: List exchange accounts hints: readOnly: true destructive: false idempotent: true call: exchange.getexchangeaccounts outputParameters: - type: object mapping: $. - name: fireblocks-addexchangeaccount description: Add an Exchange Account hints: readOnly: false destructive: false idempotent: false call: exchange.addexchangeaccount outputParameters: - type: object mapping: $. with: body: tools.body - name: fireblocks-getpagedexchangeaccounts description: List connected exchange accounts hints: readOnly: true destructive: false idempotent: true call: exchange.getpagedexchangeaccounts outputParameters: - type: object mapping: $. - name: fireblocks-getexchangeaccount description: Get a specific exchange account hints: readOnly: true destructive: false idempotent: true call: exchange.getexchangeaccount outputParameters: - type: object mapping: $. - name: fireblocks-internaltransfer description: Internal transfer for exchange accounts hints: readOnly: false destructive: false idempotent: false call: exchange.internaltransfer outputParameters: - type: object mapping: $. with: body: tools.body - name: fireblocks-convertassets description: Convert exchange account funds hints: readOnly: false destructive: false idempotent: false call: exchange.convertassets outputParameters: - type: object mapping: $. with: body: tools.body - name: fireblocks-getexchangeaccountasset description: Get an asset for an exchange account hints: readOnly: true destructive: false idempotent: true call: exchange.getexchangeaccountasset outputParameters: - type: object mapping: $. - name: fireblocks-getexchangeaccountscredentialspublickey description: Get public key to encrypt exchange credentials hints: readOnly: true destructive: false idempotent: true call: exchange.getexchangeaccountscredentialspublickey outputParameters: - type: object mapping: $. - name: fireblocks-getfiataccounts description: List fiat accounts hints: readOnly: true destructive: false idempotent: true call: exchange.getfiataccounts outputParameters: - type: object mapping: $. - name: fireblocks-getfiataccount description: Find a specific fiat account hints: readOnly: true destructive: false idempotent: true call: exchange.getfiataccount outputParameters: - type: object mapping: $. - name: fireblocks-redeemfundstolinkeddda description: Redeem funds to DDA hints: readOnly: false destructive: false idempotent: false call: exchange.redeemfundstolinkeddda outputParameters: - type: object mapping: $. with: body: tools.body - name: fireblocks-depositfundsfromlinkeddda description: Deposit funds from DDA hints: readOnly: false destructive: false idempotent: false call: exchange.depositfundsfromlinkeddda outputParameters: - type: object mapping: $. with: body: tools.body - name: fireblocks-getconnectedaccounts description: Get connected accounts hints: readOnly: true destructive: false idempotent: true call: exchange.getconnectedaccounts outputParameters: - type: object mapping: $. - name: fireblocks-getconnectedaccount description: Get connected account hints: readOnly: true destructive: false idempotent: true call: exchange.getconnectedaccount outputParameters: - type: object mapping: $. - name: fireblocks-getconnectedaccountbalances description: Get balances for an account hints: readOnly: true destructive: false idempotent: true call: exchange.getconnectedaccountbalances outputParameters: - type: object mapping: $. - name: fireblocks-getconnectedaccountrates description: Get exchange rates for an account hints: readOnly: true destructive: false idempotent: true call: exchange.getconnectedaccountrates outputParameters: - type: object mapping: $. - name: fireblocks-getconnectedaccounttradingpairs description: Get supported trading pairs for an account hints: readOnly: true destructive: false idempotent: true call: exchange.getconnectedaccounttradingpairs outputParameters: - type: object mapping: $. - name: fireblocks-gettradingproviders description: Get providers hints: readOnly: true destructive: false idempotent: true call: exchange.gettradingproviders outputParameters: - type: object mapping: $. - name: fireblocks-createquote description: Create a quote hints: readOnly: false destructive: false idempotent: false call: exchange.createquote outputParameters: - type: object mapping: $. with: body: tools.body - name: fireblocks-createorder description: Create an order hints: readOnly: false destructive: false idempotent: false call: exchange.createorder outputParameters: - type: object mapping: $. with: body: tools.body - name: fireblocks-getorders description: Get orders hints: readOnly: true destructive: false idempotent: true call: exchange.getorders outputParameters: - type: object mapping: $. - name: fireblocks-getorder description: Get order details hints: readOnly: true destructive: false idempotent: true call: exchange.getorder outputParameters: - type: object mapping: $.