fireblocks · Capability

Fireblocks Exchange — Exchange

Fireblocks Exchange business capability. 22 operations against the Fireblocks REST API v1.

Run with Naftiko FireblocksExchange

What You Can Do

GET
Getexchangeaccounts — List exchange accounts
/v1/exchange_accounts
POST
Addexchangeaccount — Add an Exchange Account
/v1/exchange_accounts
GET
Getpagedexchangeaccounts — List connected exchange accounts
/v1/exchange_accounts/paged
GET
Getexchangeaccount — Get a specific exchange account
/v1/exchange_accounts/{exchangeAccountId}
POST
Internaltransfer — Internal transfer for exchange accounts
/v1/exchange_accounts/{exchangeAccountId}/internal_transfer
POST
Convertassets — Convert exchange account funds
/v1/exchange_accounts/{exchangeAccountId}/convert
GET
Getexchangeaccountasset — Get an asset for an exchange account
/v1/exchange_accounts/{exchangeAccountId}/{assetId}
GET
Getexchangeaccountscredentialspublickey — Get public key to encrypt exchange credentials
/v1/exchange_accounts/credentials_public_key
GET
Getfiataccounts — List fiat accounts
/v1/fiat_accounts
GET
Getfiataccount — Find a specific fiat account
/v1/fiat_accounts/{accountId}
POST
Redeemfundstolinkeddda — Redeem funds to DDA
/v1/fiat_accounts/{accountId}/redeem_to_linked_dda
POST
Depositfundsfromlinkeddda — Deposit funds from DDA
/v1/fiat_accounts/{accountId}/deposit_from_linked_dda
GET
Getconnectedaccounts — Get connected accounts
/v1/connected_accounts
GET
Getconnectedaccount — Get connected account
/v1/connected_accounts/{accountId}
GET
Getconnectedaccountbalances — Get balances for an account
/v1/connected_accounts/{accountId}/balances
GET
Getconnectedaccountrates — Get exchange rates for an account
/v1/connected_accounts/{accountId}/rates
GET
Getconnectedaccounttradingpairs — Get supported trading pairs for an account
/v1/connected_accounts/{accountId}/manifest/capabilities/trading/pairs
GET
Gettradingproviders — Get providers
/v1/trading/providers
POST
Createquote — Create a quote
/v1/trading/quotes
POST
Createorder — Create an order
/v1/trading/orders
GET
Getorders — Get orders
/v1/trading/orders
GET
Getorder — Get order details
/v1/trading/orders/{orderId}

MCP Tools

fireblocks-getexchangeaccounts

List exchange accounts

read-only idempotent
fireblocks-addexchangeaccount

Add an Exchange Account

fireblocks-getpagedexchangeaccounts

List connected exchange accounts

read-only idempotent
fireblocks-getexchangeaccount

Get a specific exchange account

read-only idempotent
fireblocks-internaltransfer

Internal transfer for exchange accounts

fireblocks-convertassets

Convert exchange account funds

fireblocks-getexchangeaccountasset

Get an asset for an exchange account

read-only idempotent
fireblocks-getexchangeaccountscredentialspublickey

Get public key to encrypt exchange credentials

read-only idempotent
fireblocks-getfiataccounts

List fiat accounts

read-only idempotent
fireblocks-getfiataccount

Find a specific fiat account

read-only idempotent
fireblocks-redeemfundstolinkeddda

Redeem funds to DDA

fireblocks-depositfundsfromlinkeddda

Deposit funds from DDA

fireblocks-getconnectedaccounts

Get connected accounts

read-only idempotent
fireblocks-getconnectedaccount

Get connected account

read-only idempotent
fireblocks-getconnectedaccountbalances

Get balances for an account

read-only idempotent
fireblocks-getconnectedaccountrates

Get exchange rates for an account

read-only idempotent
fireblocks-getconnectedaccounttradingpairs

Get supported trading pairs for an account

read-only idempotent
fireblocks-gettradingproviders

Get providers

read-only idempotent
fireblocks-createquote

Create a quote

fireblocks-createorder

Create an order

fireblocks-getorders

Get orders

read-only idempotent
fireblocks-getorder

Get order details

read-only idempotent

Capability Spec

exchange.yaml Raw ↑
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: $.