fireblocks Deployed Contracts API

The Deployed Contracts API from fireblocks — 5 operation(s) for deployed contracts.

Operations 5

GET /tokenization/contracts List deployed contracts data #
GET /tokenization/contracts/{assetId}/{contractAddress} Return deployed contract data #
GET /tokenization/contracts/{id} Return deployed contract data by id #
POST /tokenization/contracts/abi Save contract ABI #
POST /tokenization/contracts/fetch_abi Fetch the contract ABI #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fireblocks:fireblocks-deployed-contracts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fireblocks-deployed-contracts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Fireblocks Deployed Contracts API
  description: 'Fireblocks provides a suite of applications to manage digital asset operations and a complete development platform to build your business on the blockchain.


    - Visit our website for more information: Fireblocks Website

    - Visit our developer docs: Fireblocks DevPortal'
  version: 1.6.2
  contact:
    email: developers@fireblocks.com
servers:
- url: https://api.fireblocks.io/v1
  description: Fireblocks Production Environment Base URL
- url: https://sandbox-api.fireblocks.io/v1
  description: Fireblocks Sandbox Environment Base URL
tags:
- name: Deployed Contracts
paths:
  /tokenization/contracts:
    get:
      operationId: getDeployedContracts
      summary: List deployed contracts data
      x-rate-limit-category: query
      description: Return a filtered lean representation of the deployed contracts data on all blockchains (paginated)
      parameters:
      - name: pageCursor
        required: false
        in: query
        description: Page cursor to get the next page
        example: MjAyMy0xMi0xMyAyMDozNjowOC4zMDI=:MTEwMA==
        schema:
          type: string
      - name: pageSize
        required: false
        in: query
        description: Number of items per page, requesting more then max will return max items
        example: 10
        schema:
          minimum: 1
          maximum: 100
          type: number
      - name: contractAddress
        required: false
        in: query
        description: The contract's onchain address
        example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
        schema:
          type: string
      - name: baseAssetId
        required: false
        in: query
        schema:
          type: string
      - name: contractTemplateId
        required: false
        in: query
        schema:
          type: string
      x-readme:
        code-samples:
        - language: python
          code: deployed_contracts = fireblocks.get_contracts_by_filter(template_id)
          name: Fireblocks SDK Python example (Legacy)
        - language: javascript
          code: const deployedContracts = await fireblocks.getContractsByFilter(templateId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<DeployedContractsPaginatedResponse>> = fireblocks.deployedContracts.getDeployedContracts(deployedContractsApiGetDeployedContractsRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<DeployedContractsPaginatedResponse>> response = fireblocks.deployedContracts().getDeployedContracts(pageCursor, pageSize, contractAddress, baseAssetId, contractTemplateId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.deployed_contracts.get_deployed_contracts(page_cursor, page_size, contract_address, base_asset_id, contract_template_id);
          name: Fireblocks SDK Python example
      responses:
        '200':
          description: Deployed contracts fetched successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeployedContractsPaginatedResponse'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Deployed Contracts
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<DeployedContractsPaginatedResponse>> = fireblocks.deployedContracts.getDeployedContracts(deployedContractsApiGetDeployedContractsRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<DeployedContractsPaginatedResponse>> response = fireblocks.deployedContracts().getDeployedContracts(pageCursor, pageSize, contractAddress, baseAssetId, contractTemplateId);
      - lang: Python
        source: response = fireblocks.deployed_contracts.get_deployed_contracts(page_cursor, page_size, contract_address, base_asset_id, contract_template_id);
  /tokenization/contracts/{assetId}/{contractAddress}:
    get:
      operationId: getDeployedContractByAddress
      summary: Return deployed contract data
      description: Return deployed contract data by blockchain native asset id and contract address
      x-rate-limit-category: read
      parameters:
      - name: contractAddress
        required: true
        in: path
        description: The contract's onchain address
        example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
        schema:
          type: string
      - name: assetId
        required: true
        in: path
        schema:
          type: string
      x-readme:
        code-samples:
        - language: python
          code: deployed_contract = fireblocks.get_contract_by_address(base_asset_id, contract_address)
          name: Fireblocks SDK Python example (Legacy)
        - language: javascript
          code: const deployedContract = await fireblocks.getContractByAddress(baseAssetId, contractAddress);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<DeployedContractResponseDto>> = fireblocks.deployedContracts.getDeployedContractByAddress(deployedContractsApiGetDeployedContractByAddressRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<DeployedContractResponseDto>> response = fireblocks.deployedContracts().getDeployedContractByAddress(contractAddress, assetId);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.deployed_contracts.get_deployed_contract_by_address(contract_address, asset_id);
          name: Fireblocks SDK Python example
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeployedContractResponseDto'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Deployed Contracts
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<DeployedContractResponseDto>> = fireblocks.deployedContracts.getDeployedContractByAddress(deployedContractsApiGetDeployedContractByAddressRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<DeployedContractResponseDto>> response = fireblocks.deployedContracts().getDeployedContractByAddress(contractAddress, assetId);
      - lang: Python
        source: response = fireblocks.deployed_contracts.get_deployed_contract_by_address(contract_address, asset_id);
  /tokenization/contracts/{id}:
    get:
      operationId: getDeployedContractById
      summary: Return deployed contract data by id
      x-rate-limit-category: read
      parameters:
      - name: id
        required: true
        in: path
        description: The deployed contract data identifier
        example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
        schema:
          type: string
      x-readme:
        code-samples:
        - language: python
          code: deployed_contracts = fireblocks.get_contract_by_id(contract_id)
          name: Fireblocks SDK Python example (Legacy)
        - language: javascript
          code: const deployedContracts = await fireblocks.getContractById(contractId);
          name: Fireblocks SDK Javascript example
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<DeployedContractResponseDto>> = fireblocks.deployedContracts.getDeployedContractById(deployedContractsApiGetDeployedContractByIdRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<DeployedContractResponseDto>> response = fireblocks.deployedContracts().getDeployedContractById(id);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.deployed_contracts.get_deployed_contract_by_id(id);
          name: Fireblocks SDK Python example
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeployedContractResponseDto'
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Deployed Contracts
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<DeployedContractResponseDto>> = fireblocks.deployedContracts.getDeployedContractById(deployedContractsApiGetDeployedContractByIdRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<DeployedContractResponseDto>> response = fireblocks.deployedContracts().getDeployedContractById(id);
      - lang: Python
        source: response = fireblocks.deployed_contracts.get_deployed_contract_by_id(id);
  /tokenization/contracts/abi:
    post:
      operationId: addContractABI
      summary: Save contract ABI
      x-rate-limit-category: write
      description: Save contract ABI for the tenant
      parameters:
      - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddAbiRequestDto'
      responses:
        '200':
          description: Contract ABI created (or updated) for the tenant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractWithAbiDto'
        '409':
          description: Contract ABI already exists.
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Deployed Contracts
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<ContractWithAbiDto>> = fireblocks.deployedContracts.addContractABI(deployedContractsApiAddContractABIRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<ContractWithAbiDto>> response = fireblocks.deployedContracts().addContractABI(addAbiRequestDto, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.deployed_contracts.add_contract_a_b_i(add_abi_request_dto, idempotency_key);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<ContractWithAbiDto>> = fireblocks.deployedContracts.addContractABI(deployedContractsApiAddContractABIRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<ContractWithAbiDto>> response = fireblocks.deployedContracts().addContractABI(addAbiRequestDto, idempotencyKey);
      - lang: Python
        source: response = fireblocks.deployed_contracts.add_contract_a_b_i(add_abi_request_dto, idempotency_key);
  /tokenization/contracts/fetch_abi:
    post:
      operationId: fetchContractAbi
      summary: Fetch the contract ABI
      x-rate-limit-category: read
      description: Fetch the ABI. If not found fetch the ABI from the block explorer
      parameters:
      - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchAbiRequestDto'
      responses:
        '200':
          description: Contract ABI found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractWithAbiDto'
        '404':
          description: Contract ABI not found
        default:
          $ref: '#/components/responses/Error'
      tags:
      - Deployed Contracts
      x-readme:
        code-samples:
        - language: typescript
          code: 'const response: Promise<FireblocksResponse<ContractWithAbiDto>> = fireblocks.deployedContracts.fetchContractAbi(deployedContractsApiFetchContractAbiRequest);'
          name: Fireblocks SDK TypeScript example
        - language: java
          code: CompletableFuture<ApiResponse<ContractWithAbiDto>> response = fireblocks.deployedContracts().fetchContractAbi(fetchAbiRequestDto, idempotencyKey);
          name: Fireblocks SDK Java example
        - language: python
          code: response = fireblocks.deployed_contracts.fetch_contract_abi(fetch_abi_request_dto, idempotency_key);
          name: Fireblocks SDK Python example
      x-codeSamples:
      - lang: TypeScript
        source: 'const response: Promise<FireblocksResponse<ContractWithAbiDto>> = fireblocks.deployedContracts.fetchContractAbi(deployedContractsApiFetchContractAbiRequest);'
      - lang: Java
        source: CompletableFuture<ApiResponse<ContractWithAbiDto>> response = fireblocks.deployedContracts().fetchContractAbi(fetchAbiRequestDto, idempotencyKey);
      - lang: Python
        source: response = fireblocks.deployed_contracts.fetch_contract_abi(fetch_abi_request_dto, idempotency_key);
components:
  schemas:
    ParameterWithValueList:
      type: array
      items:
        $ref: '#/components/schemas/ParameterWithValue'
    DeployedContractResponseDto:
      type: object
      properties:
        id:
          type: string
          description: The deployed contract data identifier
          example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
        contractAddress:
          type: string
          description: The contract's onchain address
          example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
        contractTemplateId:
          type: string
          description: The contract template identifier
          example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
        vaultAccountId:
          type: string
          example: '0'
          description: The vault account id this contract was deploy from
        blockchainId:
          type: string
        baseAssetId:
          type: string
          description: The blockchain base assetId
          example: ETH_TEST5
        gaslessConfig:
          $ref: '#/components/schemas/GasslessStandardConfigurations'
        multichainDeploymentMetadata:
          $ref: '#/components/schemas/MultichainDeploymentMetadata'
        solanaConfig:
          $ref: '#/components/schemas/SolanaConfig'
      required:
      - id
      - contractAddress
      - contractTemplateId
      - blockchainId
    ContractWithAbiDto:
      type: object
      properties:
        contractAddress:
          type: string
          description: The address of the contract
          example: '0xfff9976782d46cc05630d1f6ebab18b2324d6b14'
        baseAssetId:
          type: string
          description: The blockchain base assetId
          example: ETH_TEST6
        name:
          type: string
          description: The name of the contract
          example: WETH9
        abi:
          description: The ABI of the contract
          example:
          - inputs:
            - internalType: address
              name: to
              type: address
            - internalType: uint256
              name: amount
              type: uint256
            stateMutability: nonpayable
            type: function
            name: mint
          type: array
          items:
            $ref: '#/components/schemas/AbiFunction'
        isProxy:
          type: boolean
          description: Whether the contract is a proxy contract
          example: true
        implementation:
          type: string
          description: The implementation contract address
          example: '0xfff9976782d46cc05630d1f6ebab18b2324d6b14'
        isPublic:
          type: boolean
          description: Whether the contract ABI is public
          example: true
      required:
      - contractAddress
      - baseAssetId
      - name
      - abi
      - isPublic
    ParameterWithValue:
      type: object
      properties:
        name:
          type: string
          example: _name
          description: The name of the parameter as it appears in the ABI
        description:
          type: string
          example: The name of the token
          description: A description of the parameter, fetched from the devdoc of this contract
        internalType:
          type: string
          example: string
          description: The  internal type of the parameter as it appears in the ABI
        type:
          type: string
          example: string
          description: The type of the parameter as it appears in the ABI
        components:
          type: array
          items:
            $ref: '#/components/schemas/Parameter'
        value:
          example: 'true'
          description: 'The value of the parameter. The shape follows the ABI `type`: a string for `string`/`address`/`bytes*`, a number for `uint*`/`int*`, a boolean for `bool`, an array for `T[]`, and for `tuple` an array of nested ParameterWithValue objects (one per entry in `components`, in ABI order).'
        functionValue:
          description: The function value of this param (if has one). If this is set, the `value` shouldn`t be. Used for proxies
          allOf:
          - $ref: '#/components/schemas/LeanAbiFunction'
      required:
      - name
      - type
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
    AddAbiRequestDto:
      type: object
      properties:
        contractAddress:
          type: string
          description: The address of deployed contract
          example: '0xfff9976782d46cc05630d1f6ebab18b2324d6b14'
        baseAssetId:
          type: string
          description: The blockchain base assetId
          example: ETH
        abi:
          example:
          - inputs:
            - internalType: address
              name: to
              type: address
            - internalType: uint256
              name: amount
              type: uint256
            stateMutability: nonpayable
            type: function
            name: mint
          description: The ABI of the contract
          type: array
          items:
            $ref: '#/components/schemas/AbiFunction'
        name:
          type: string
          description: The name of the contract
          example: MyContract
      required:
      - contractAddress
      - baseAssetId
      - abi
    DeployedContractsPaginatedResponse:
      type: object
      properties:
        data:
          type: array
          description: The data of the current page
          items:
            $ref: '#/components/schemas/LeanDeployedContractResponseDto'
        next:
          type:
          - string
          - 'null'
          description: The ID of the next page
          example: eJ0eXAiOiJKV1QiLCJhbGcOiJIUzI1NiJ9
      required:
      - data
    MultichainDeploymentMetadata:
      type: object
      description: The multichain deployment metadata
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the deployment metadata
        address:
          type: string
          description: The address of the deployed contract
          example: '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
        templateId:
          type: string
          format: uuid
          description: The unique identifier of the contract template
          example: 0e4f5a3b-924e-7bb9-8e5b-c748270feb38
        deploymentSalt:
          type: string
          description: The salt used for the deployment
          example: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
        initParams:
          $ref: '#/components/schemas/ParameterWithValueList'
        encodedInitParams:
          type: string
          description: The encoded init params
          example: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
    SolanaConfig:
      type: object
      description: The Solana configuration of the contract
      properties:
        extensions:
          type: array
          items:
            type: string
          example:
          - metadataPointer
          - transferHook
          description: The extensions that the contract implements.
        type:
          type: string
          enum:
          - SPL
          - TOKEN2022
          - PROGRAM
          example: TOKEN2022
          description: The type of the contract.
    AbiFunction:
      type: object
      properties:
        name:
          type: string
          example: mint
          description: The name of the contract function as it appears in the ABI
        stateMutability:
          type: string
          example: pure
          enum:
          - pure
          - view
          - nonpayable
          - payable
          description: The state mutability of the contract function as it appears in the ABI
        type:
          type: string
          example: constructor
          description: The type of the function
          enum:
          - constructor
          - function
          - error
          - event
          - receive
          - fallback
        inputs:
          description: The parameters that this function/constructor posses
          items:
            $ref: '#/components/schemas/Parameter'
          type: array
        outputs:
          description: The parameters that this 'read' function returns
          items:
            $ref: '#/components/schemas/Parameter'
          type: array
        description:
          type: string
          description: The documentation of this function (if has any)
      required:
      - type
    FetchAbiRequestDto:
      type: object
      properties:
        baseAssetId:
          type: string
          description: The blockchain base assetId
          example: ETH
        contractAddress:
          type: string
          description: The contract's onchain address
          example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
      required:
      - baseAssetId
      - contractAddress
    Parameter:
      type: object
      properties:
        name:
          type: string
          example: _name
          description: The name of the parameter as it appears in the ABI
        description:
          type: string
          example: The name of the token
          description: A description of the parameter, fetched from the devdoc of this contract
        internalType:
          type: string
          example: string
          description: The internal type of the parameter as it appears in the ABI
        type:
          type: string
          example: string
          description: The type of the parameter as it appears in the ABI
        components:
          type: array
          items:
            $ref: '#/components/schemas/Parameter'
      required:
      - name
      - type
    GasslessStandardConfigurations:
      type: object
      description: The gasless configuration of the contract
      properties:
        gaslessStandardConfigurations:
          type: object
          additionalProperties:
            type: object
            properties:
              lastOnChainCheck:
                type: string
                format: date-time
                example: '2024-09-09T04:17:46.918Z'
              forwarderAddresses:
                type: array
                items:
                  type: string
                  example: '0x2E7B54631e18E9eEcc2eb5219249cc8388586f66'
    LeanDeployedContractResponseDto:
      type: object
      properties:
        id:
          type: string
          description: The deployed contract data identifier
          example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
        contractAddress:
          type: string
          description: The contract's onchain address
          example: '0xC2c4e1Db41F0bB97996D0eD0542D2170d146FB66'
        contractTemplateId:
          type: string
          description: The contract template identifier
          example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
        blockchainId:
          type: string
      required:
      - id
      - contractAddress
      - contractTemplateId
      - blockchainId
    LeanAbiFunction:
      type: object
      properties:
        name:
          type: string
          example: initialize
          description: The function name
        inputs:
          description: The function inputs
          type: array
          items:
            $ref: '#/components/schemas/ParameterWithValue'
        outputs:
          description: The function outputs
          type: array
          items:
            $ref: '#/components/schemas/ParameterWithValue'
        stateMutability:
          type: string
          enum:
          - view
          - pure
          - nonpayable
          - payable
          example: nonpayable
          description: The state mutability of the function (e.g., view, pure, nonpayable, payable)
      required:
      - inputs
  parameters:
    X-Idempotency-Key:
      name: Idempotency-Key
      in: header
      description: A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.
      required: false
      schema:
        type: string
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'
  headers:
    X-Request-ID:
      schema:
        type: string
      description: Unique ID correlated to the API request. Please provide it in any support ticket you create or on Github issues related to Fireblocks SDKs
  securitySchemes:
    bearerTokenAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
x-readme:
  explorer-enabled: false
  samples-languages:
  - curl
  - javascript
  - python
x-provenance:
  method: harvested
  publisher: Fireblocks
  source: https://swagger.fireblocks.com/openapi.yaml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)