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: $.