> ## Documentation Index
> Fetch the complete documentation index at: https://developers.fireblocks.com/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://developers.fireblocks.com/feedback

```json
{
  "path": "/api-reference/tokenization/get-deterministic-address-for-contract-deployment",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Get deterministic address for contract deployment

> Get a deterministic address for contract deployment. The address is derived from the contract's bytecode and  provided salt. This endpoint is used to get the address of a contract that will be deployed in the future.



## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml post /tokenization/multichain/deterministic_address
openapi: 3.0.0
info:
  title: Fireblocks 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](https://fireblocks.com)

    - Visit our developer docs: [Fireblocks
    DevPortal](https://developers.fireblocks.com)
  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
security: []
paths:
  /tokenization/multichain/deterministic_address:
    post:
      tags:
        - Tokenization
      summary: Get deterministic address for contract deployment
      description: >-
        Get a deterministic address for contract deployment. The address is
        derived from the contract's bytecode and  provided salt. This endpoint
        is used to get the address of a contract that will be deployed in the
        future.
      operationId: getDeployableAddress
      parameters:
        - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetDeployableAddressRequest'
      responses:
        '200':
          description: Deterministic address for contract deployment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeployableAddressResponse'
        '400':
          description: Invalid parameters or template has no bytecode
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidParamaterValueError'
        '409':
          description: Address is already taken
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressNotAvailableError'
        default:
          $ref: '#/components/responses/Error'
      x-codeSamples:
        - lang: TypeScript
          source: >-
            const response:
            Promise<FireblocksResponse<DeployableAddressResponse>> =
            fireblocks.tokenization.getDeployableAddress(tokenizationApiGetDeployableAddressRequest);
        - lang: Java
          source: >-
            CompletableFuture<ApiResponse<DeployableAddressResponse>> response =
            fireblocks.tokenization().getDeployableAddress(getDeployableAddressRequest,
            idempotencyKey);
        - lang: Python
          source: >-
            response =
            fireblocks.tokenization.get_deployable_address(get_deployable_address_request,
            idempotency_key);
components:
  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
  schemas:
    GetDeployableAddressRequest:
      type: object
      description: Request body for calculating deterministic address
      properties:
        chainDescriptor:
          type: string
          description: >-
            The base asset identifier of the blockchain (legacyId) to calculate
            deterministic address
          example: ETH
        templateId:
          type: string
          format: uuid
          description: The template identifier
          example: b70701f4-d7b1-4795-a8ee-b09cdb5b850d
        initParams:
          type: array
          description: The deploy function parameters and values of the contract template
          items:
            $ref: '#/components/schemas/ParameterWithValue'
          example:
            - internalType: string
              name: name
              type: string
              value: name
            - internalType: string
              name: symbol
              type: string
              value: symbol
            - components:
                - internalType: bool
                  name: _isMintable
                  type: bool
              internalType: struct MyStruct
              value:
                - internalType: bool
                  name: _isMintable
                  type: bool
                  value: false
        salt:
          type: string
          description: >-
            The salt to calculate the deterministic address. Must be a number
            between 0 and 2^256 -1, for it to fit in the bytes32 parameter
          example: '123456789'
      required:
        - chainDescriptor
        - templateId
        - salt
        - initParams
    DeployableAddressResponse:
      type: object
      description: Response DTO containing a deployable address
      properties:
        address:
          type: string
          description: The deployable address
      example:
        address: '0x1234567890abcdef1234567890abcdef12345678'
      required:
        - address
    InvalidParamaterValueError:
      type: object
      properties:
        message:
          type: string
          description: Bad request error message
          example: Invalid initParams.
        code:
          type: number
          description: Error code
          example: 400
      required:
        - message
        - code
    AddressNotAvailableError:
      type: object
      properties:
        message:
          type: string
          description: Conflict error message
          example: Address is already taken
        code:
          type: number
          description: Error code
          example: 409
      required:
        - message
        - code
    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. can also be ParameterWithValue
          type: string
        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
    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
    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
  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

````