---
title: "Get deterministic address for contract deployment"
method: POST
path: "/tokenization/multichain/deterministic_address"
tags: ["Tokenization"]
---

# Get deterministic address for contract deployment

`POST /tokenization/multichain/deterministic_address`

## Request

- Base URL: `https://api.fireblocks.io/v1`
- URL: `https://api.fireblocks.io/v1/tokenization/multichain/deterministic_address`
- Auth: none declared
- TypeScript: <https://skmtc.dev/fireblocks/apis/fireblocks-api/docs/tokenization/multichain/deterministic_address/post.ts> (a function with typed inputs; its response is checked against the schema)

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.

## Headers

- `Idempotency-Key` string

## Request body

- GetDeployableAddressRequest: Request body for calculating deterministic address
  - `chainDescriptor` string, required: The base asset identifier of the blockchain (legacyId) to calculate deterministic address
  - `templateId` string, uuid, required: The template identifier
  - `initParams` ParameterWithValue[], required: The deploy function parameters and values of the contract template
    - `name` string, required: The name of the parameter as it appears in the ABI
    - `description` string: A description of the parameter, fetched from the devdoc of this contract
    - `internalType` string: The internal type of the parameter as it appears in the ABI
    - `type` string, required: The type of the parameter as it appears in the ABI
    - `components` Parameter[]
      - `name` string, required: The name of the parameter as it appears in the ABI
      - `description` string: A description of the parameter, fetched from the devdoc of this contract
      - `internalType` string: The internal type of the parameter as it appears in the ABI
      - `type` string, required: The type of the parameter as it appears in the ABI
      - `components` Parameter[]
    - `value` string: 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` LeanAbiFunction
      - `name` string: The function name
      - `inputs` ParameterWithValue[], required: The function inputs
      - `outputs` ParameterWithValue[]: The function outputs
      - `stateMutability` 'view' | 'pure' | 'nonpayable' | 'payable': The state mutability of the function (e.g., view, pure, nonpayable, payable)
  - `salt` string, required: 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

## Response `200`

Deterministic address for contract deployment

- DeployableAddressResponse: Response DTO containing a deployable address
  - `address` string, required: The deployable address

## Other responses

- `400`: Invalid parameters or template has no bytecode
- `409`: Address is already taken
- `default`: Error Response

---

[API](https://skmtc.dev/fireblocks/apis/fireblocks-api.md) - [All operations](https://skmtc.dev/fireblocks/apis/fireblocks-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fireblocks/apis/fireblocks-api/revisions/4eba9965659a?raw)
