fireblocks · Capability

Fireblocks Contracts — Contracts

Fireblocks Contracts business capability. 20 operations against the Fireblocks REST API v1.

Run with Naftiko FireblocksContracts

What You Can Do

GET
Getcontracttemplates — List all contract templates
/v1/tokenization/templates
POST
Uploadcontracttemplate — Upload contract template
/v1/tokenization/templates
GET
Getcontracttemplatebyid — Return contract template by id
/v1/tokenization/templates/{contractTemplateId}
DELETE
Deletecontracttemplatebyid — Delete a contract template by id
/v1/tokenization/templates/{contractTemplateId}
GET
Getconstructorbycontracttemplateid — Return contract template's constructor
/v1/tokenization/templates/{contractTemplateId}/constructor
GET
Getfunctionabibycontracttemplateid — Return contract template's function
/v1/tokenization/templates/{contractTemplateId}/function
POST
Deploycontract — Deploy contract
/v1/tokenization/templates/{contractTemplateId}/deploy
GET
Getdeployedcontracts — List deployed contracts data
/v1/tokenization/contracts
GET
Getdeployedcontractbyid — Return deployed contract data by id
/v1/tokenization/contracts/{id}
GET
Getdeployedcontractbyaddress — Return deployed contract data
/v1/tokenization/contracts/{assetId}/{contractAddress}
POST
Fetchcontractabi — Fetch the contract ABI
/v1/tokenization/contracts/fetch_abi
POST
Addcontractabi — Save contract ABI
/v1/tokenization/contracts/abi
GET
Getdeployedcontractabi — Return deployed contract's ABI
/v1/contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions
POST
Readcallfunction — Call a read function
/v1/contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions/read
POST
Writecallfunction — Call a write function
/v1/contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions/write
GET
Gettransactionreceipt — Get transaction receipt
/v1/contract_interactions/base_asset_id/{baseAssetId}/tx_hash/{txHash}/receipt
GET
Get — List all open Web3 connections
/v1/connections
POST
Create — Create a new Web3 connection.
/v1/connections/wc
PUT
Submit — Respond to a pending connection
/v1/connections/wc/{id}
DELETE
Remove — Remove an existing Web3 connection
/v1/connections/wc/{id}

MCP Tools

fireblocks-getcontracttemplates

List all contract templates

read-only idempotent
fireblocks-uploadcontracttemplate

Upload contract template

fireblocks-getcontracttemplatebyid

Return contract template by id

read-only idempotent
fireblocks-deletecontracttemplatebyid

Delete a contract template by id

idempotent
fireblocks-getconstructorbycontracttemplateid

Return contract template's constructor

read-only idempotent
fireblocks-getfunctionabibycontracttemplateid

Return contract template's function

read-only idempotent
fireblocks-deploycontract

Deploy contract

fireblocks-getdeployedcontracts

List deployed contracts data

read-only idempotent
fireblocks-getdeployedcontractbyid

Return deployed contract data by id

read-only idempotent
fireblocks-getdeployedcontractbyaddress

Return deployed contract data

read-only idempotent
fireblocks-fetchcontractabi

Fetch the contract ABI

fireblocks-addcontractabi

Save contract ABI

fireblocks-getdeployedcontractabi

Return deployed contract's ABI

read-only idempotent
fireblocks-readcallfunction

Call a read function

fireblocks-writecallfunction

Call a write function

fireblocks-gettransactionreceipt

Get transaction receipt

read-only idempotent
fireblocks-get

List all open Web3 connections

read-only idempotent
fireblocks-create

Create a new Web3 connection.

fireblocks-submit

Respond to a pending connection

idempotent
fireblocks-remove

Remove an existing Web3 connection

idempotent

Capability Spec

contracts.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: "Fireblocks Contracts \u2014 Contracts"
  description: Fireblocks Contracts business capability. 20 operations against the Fireblocks REST API v1.
  tags:
  - Fireblocks
  - Contracts
  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: contracts
    baseUri: https://api.fireblocks.io/v1
    description: Fireblocks Contracts REST capability. JWT-signed using API key + RSA private key.
    resources:
    - name: getcontracttemplates
      path: /tokenization/templates
      operations:
      - name: getcontracttemplates
        method: GET
        description: List all contract templates
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: uploadcontracttemplate
      path: /tokenization/templates
      operations:
      - name: uploadcontracttemplate
        method: POST
        description: Upload contract template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: getcontracttemplatebyid
      path: /tokenization/templates/{contractTemplateId}
      operations:
      - name: getcontracttemplatebyid
        method: GET
        description: Return contract template by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: deletecontracttemplatebyid
      path: /tokenization/templates/{contractTemplateId}
      operations:
      - name: deletecontracttemplatebyid
        method: DELETE
        description: Delete a contract template by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: getconstructorbycontracttemplateid
      path: /tokenization/templates/{contractTemplateId}/constructor
      operations:
      - name: getconstructorbycontracttemplateid
        method: GET
        description: Return contract template's constructor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: getfunctionabibycontracttemplateid
      path: /tokenization/templates/{contractTemplateId}/function
      operations:
      - name: getfunctionabibycontracttemplateid
        method: GET
        description: Return contract template's function
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: deploycontract
      path: /tokenization/templates/{contractTemplateId}/deploy
      operations:
      - name: deploycontract
        method: POST
        description: Deploy contract
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: getdeployedcontracts
      path: /tokenization/contracts
      operations:
      - name: getdeployedcontracts
        method: GET
        description: List deployed contracts data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: getdeployedcontractbyid
      path: /tokenization/contracts/{id}
      operations:
      - name: getdeployedcontractbyid
        method: GET
        description: Return deployed contract data by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: getdeployedcontractbyaddress
      path: /tokenization/contracts/{assetId}/{contractAddress}
      operations:
      - name: getdeployedcontractbyaddress
        method: GET
        description: Return deployed contract data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: fetchcontractabi
      path: /tokenization/contracts/fetch_abi
      operations:
      - name: fetchcontractabi
        method: POST
        description: Fetch the contract ABI
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: addcontractabi
      path: /tokenization/contracts/abi
      operations:
      - name: addcontractabi
        method: POST
        description: Save contract ABI
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: getdeployedcontractabi
      path: /contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions
      operations:
      - name: getdeployedcontractabi
        method: GET
        description: Return deployed contract's ABI
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: readcallfunction
      path: /contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions/read
      operations:
      - name: readcallfunction
        method: POST
        description: Call a read function
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: writecallfunction
      path: /contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions/write
      operations:
      - name: writecallfunction
        method: POST
        description: Call a write function
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: gettransactionreceipt
      path: /contract_interactions/base_asset_id/{baseAssetId}/tx_hash/{txHash}/receipt
      operations:
      - name: gettransactionreceipt
        method: GET
        description: Get transaction receipt
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: get
      path: /connections
      operations:
      - name: get
        method: GET
        description: List all open Web3 connections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: create
      path: /connections/wc
      operations:
      - name: create
        method: POST
        description: Create a new Web3 connection.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: submit
      path: /connections/wc/{id}
      operations:
      - name: submit
        method: PUT
        description: Respond to a pending connection
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: remove
      path: /connections/wc/{id}
      operations:
      - name: remove
        method: DELETE
        description: Remove an existing Web3 connection
        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: contracts-rest
    port: 8080
    description: REST adapter for Fireblocks Contracts.
    resources:
    - path: /v1/tokenization/templates
      name: getcontracttemplates
      description: List all contract templates
      operations:
      - method: GET
        name: getcontracttemplates
        description: List all contract templates
        call: contracts.getcontracttemplates
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tokenization/templates
      name: uploadcontracttemplate
      description: Upload contract template
      operations:
      - method: POST
        name: uploadcontracttemplate
        description: Upload contract template
        call: contracts.uploadcontracttemplate
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/tokenization/templates/{contractTemplateId}
      name: getcontracttemplatebyid
      description: Return contract template by id
      operations:
      - method: GET
        name: getcontracttemplatebyid
        description: Return contract template by id
        call: contracts.getcontracttemplatebyid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tokenization/templates/{contractTemplateId}
      name: deletecontracttemplatebyid
      description: Delete a contract template by id
      operations:
      - method: DELETE
        name: deletecontracttemplatebyid
        description: Delete a contract template by id
        call: contracts.deletecontracttemplatebyid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tokenization/templates/{contractTemplateId}/constructor
      name: getconstructorbycontracttemplateid
      description: Return contract template's constructor
      operations:
      - method: GET
        name: getconstructorbycontracttemplateid
        description: Return contract template's constructor
        call: contracts.getconstructorbycontracttemplateid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tokenization/templates/{contractTemplateId}/function
      name: getfunctionabibycontracttemplateid
      description: Return contract template's function
      operations:
      - method: GET
        name: getfunctionabibycontracttemplateid
        description: Return contract template's function
        call: contracts.getfunctionabibycontracttemplateid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tokenization/templates/{contractTemplateId}/deploy
      name: deploycontract
      description: Deploy contract
      operations:
      - method: POST
        name: deploycontract
        description: Deploy contract
        call: contracts.deploycontract
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/tokenization/contracts
      name: getdeployedcontracts
      description: List deployed contracts data
      operations:
      - method: GET
        name: getdeployedcontracts
        description: List deployed contracts data
        call: contracts.getdeployedcontracts
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tokenization/contracts/{id}
      name: getdeployedcontractbyid
      description: Return deployed contract data by id
      operations:
      - method: GET
        name: getdeployedcontractbyid
        description: Return deployed contract data by id
        call: contracts.getdeployedcontractbyid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tokenization/contracts/{assetId}/{contractAddress}
      name: getdeployedcontractbyaddress
      description: Return deployed contract data
      operations:
      - method: GET
        name: getdeployedcontractbyaddress
        description: Return deployed contract data
        call: contracts.getdeployedcontractbyaddress
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/tokenization/contracts/fetch_abi
      name: fetchcontractabi
      description: Fetch the contract ABI
      operations:
      - method: POST
        name: fetchcontractabi
        description: Fetch the contract ABI
        call: contracts.fetchcontractabi
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/tokenization/contracts/abi
      name: addcontractabi
      description: Save contract ABI
      operations:
      - method: POST
        name: addcontractabi
        description: Save contract ABI
        call: contracts.addcontractabi
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions
      name: getdeployedcontractabi
      description: Return deployed contract's ABI
      operations:
      - method: GET
        name: getdeployedcontractabi
        description: Return deployed contract's ABI
        call: contracts.getdeployedcontractabi
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions/read
      name: readcallfunction
      description: Call a read function
      operations:
      - method: POST
        name: readcallfunction
        description: Call a read function
        call: contracts.readcallfunction
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/contract_interactions/base_asset_id/{baseAssetId}/contract_address/{contractAddress}/functions/write
      name: writecallfunction
      description: Call a write function
      operations:
      - method: POST
        name: writecallfunction
        description: Call a write function
        call: contracts.writecallfunction
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/contract_interactions/base_asset_id/{baseAssetId}/tx_hash/{txHash}/receipt
      name: gettransactionreceipt
      description: Get transaction receipt
      operations:
      - method: GET
        name: gettransactionreceipt
        description: Get transaction receipt
        call: contracts.gettransactionreceipt
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/connections
      name: get
      description: List all open Web3 connections
      operations:
      - method: GET
        name: get
        description: List all open Web3 connections
        call: contracts.get
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/connections/wc
      name: create
      description: Create a new Web3 connection.
      operations:
      - method: POST
        name: create
        description: Create a new Web3 connection.
        call: contracts.create
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/connections/wc/{id}
      name: submit
      description: Respond to a pending connection
      operations:
      - method: PUT
        name: submit
        description: Respond to a pending connection
        call: contracts.submit
        outputParameters:
        - type: object
          mapping: $.
        with:
          body: rest.body
    - path: /v1/connections/wc/{id}
      name: remove
      description: Remove an existing Web3 connection
      operations:
      - method: DELETE
        name: remove
        description: Remove an existing Web3 connection
        call: contracts.remove
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: contracts-mcp
    port: 9090
    transport: http
    description: MCP adapter for Fireblocks Contracts. One tool per consumed operation.
    tools:
    - name: fireblocks-getcontracttemplates
      description: List all contract templates
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: contracts.getcontracttemplates
      outputParameters:
      - type: object
        mapping: $.
    - name: fireblocks-uploadcontracttemplate
      description: Upload contract template
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: contracts.uploadcontracttemplate
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: fireblocks-getcontracttemplatebyid
      description: Return contract template by id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: contracts.getcontracttemplatebyid
      outputParameters:
      - type: object
        mapping: $.
    - name: fireblocks-deletecontracttemplatebyid
      description: Delete a contract template by id
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: contracts.deletecontracttemplatebyid
      outputParameters:
      - type: object
        mapping: $.
    - name: fireblocks-getconstructorbycontracttemplateid
      description: Return contract template's constructor
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: contracts.getconstructorbycontracttemplateid
      outputParameters:
      - type: object
        mapping: $.
    - name: fireblocks-getfunctionabibycontracttemplateid
      description: Return contract template's function
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: contracts.getfunctionabibycontracttemplateid
      outputParameters:
      - type: object
        mapping: $.
    - name: fireblocks-deploycontract
      description: Deploy contract
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: contracts.deploycontract
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: fireblocks-getdeployedcontracts
      description: List deployed contracts data
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: contracts.getdeployedcontracts
      outputParameters:
      - type: object
        mapping: $.
    - name: fireblocks-getdeployedcontractbyid
      description: Return deployed contract data by id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: contracts.getdeployedcontractbyid
      outputParameters:
      - type: object
        mapping: $.
    - name: fireblocks-getdeployedcontractbyaddress
      description: Return deployed contract data
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: contracts.getdeployedcontractbyaddress
      outputParameters:
      - type: object
        mapping: $.
    - name: fireblocks-fetchcontractabi
      description: Fetch the contract ABI
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: contracts.fetchcontractabi
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: fireblocks-addcontractabi
      description: Save contract ABI
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: contracts.addcontractabi
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: fireblocks-getdeployedcontractabi
      description: Return deployed contract's ABI
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: contracts.getdeployedcontractabi
      outputParameters:
      - type: object
        mapping: $.
    - name: fireblocks-readcallfunction
      description: Call a read function
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: contracts.readcallfunction
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: fireblocks-writecallfunction
      description: Call a write function
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: contracts.writecallfunction
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: fireblocks-gettransactionreceipt
      description: Get transaction receipt
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: contracts.gettransactionreceipt
      outputParameters:
      - type: object
        mapping: $.
    - name: fireblocks-get
      description: List all open Web3 connections
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: contracts.get
      outputParameters:
      - type: object
        mapping: $.
    - name: fireblocks-create
      description: Create a new Web3 connection.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: contracts.create
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: fireblocks-submit
      description: Respond to a pending connection
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: contracts.submit
      outputParameters:
      - type: object
        mapping: $.
      with:
        body: tools.body
    - name: fireblocks-remove
      description: Remove an existing Web3 connection
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: contracts.remove
      outputParameters:
      - type: object
        mapping: $.