Issuing New Token via Java SDK Not Working

I’m using the Fireblocks Java SDK (version 10.1.0) and most operations are working fine — I can list vault accounts, create wallets, etc., without any issues.

However, I’m running into a problem when trying to issue a new token:


TokenLinkDto response = fireblocks.tokenization().issueNewToken(createTokenRequestDto, idempotencyKey).join().getData();

The method executes successfully and returns:


{

"id": "ba3b1d03-26bd-4a41-8a37-bf2269eef412",

"displayName": "Unit Test Token",

"status": "PENDING"

}

But I can tell something went wrong based on the console output:

And also from the webhook responses:

{
    "type": "TRANSACTION_STATUS_UPDATED",
    "tenantId": "ef0e5dab-104f-4e03-a63a-5840eb9c1560",
    "timestamp": 1747942275023,
    "data": {
        "id": "2eadc962-fa68-4072-88c5-404ab208cb30",
        "createdAt": 1747942264305,
        "lastUpdated": 1747942265499,
        "assetId": "ETH_TEST5",
        "source": {
            "id": "1",
            "type": "VAULT_ACCOUNT",
            "name": "Conta do Zoran - Console",
            "subType": ""
        },
        "destination": {
            "id": null,
            "type": "ONE_TIME_ADDRESS",
            "name": "N/A",
            "subType": ""
        },
        "amount": 0,
        "networkFee": 0,
        "netAmount": 0,
        "sourceAddress": "",
        "destinationAddress": "",
        "destinationAddressDescription": "",
        "destinationTag": "",
        "status": "FAILED",
        "txHash": "",
        "subStatus": "SMART_CONTRACT_EXECUTION_FAILED",
        "signedBy": [],
        "createdBy": "56b99e3a-75be-41ca-89d4-82afae62312d",
        "rejectedBy": "",
        "amountUSD": 0,
        "addressType": "",
        "note": "Deploy contract from registry",
        "exchangeTxId": "",
        "requestedAmount": 0,
        "feeCurrency": "ETH_TEST5",
        "operation": "CONTRACT_CALL",
        "amountInfo": {
            "amount": "0",
            "requestedAmount": "0",
            "netAmount": "0",
            "amountUSD": "0.00"
        },
        "feeInfo": {
            "networkFee": "0"
        },
        "externalTxId": null,
        "blockInfo": {},
        "errorDescription": "execution reverted: 0xd6bda275",
        "networkRecords": [],
        "signedMessages": [],
        "extraParameters": {
            "contractId": "00000000-0000-0000-0000-000000000003",
            "contractType": "FUNGIBLE_TOKEN",
            "contractCallData": "0x60806040526040516104...  ...8282610037565b50505050610356",
            "contractTemplateName": "Upgradeable ERC-20F"
        },
        "assetType": "BASE_ASSET"
    }
}

I suspect I might be passing incorrect parameters or skipping a required step before calling issueNewToken.

One thing that stood out: I couldn’t find a way to specify the TEST_NET network in the Java SDK. This parameter is required when issuing a token via the Fireblocks console, but I haven’t seen any reference to it in the SDK docs.

I started from this reference:
:backhand_index_pointing_right: Issue New ERC20F Tokens

Here’s the JSON representation of the parameters I’m sending (converted from the Java object):

{
  "blockchainId" : "B75VRLGX",
  "assetId" : "ETH_TEST5",
  "vaultAccountId" : "1",
  "createParams" : {
    "contractId" : "00000000-0000-0000-0000-000000000003",
    "deployFunctionParams" : [ {
      "name" : "implementation",
      "description" : null,
      "internalType" : "address",
      "type" : "address",
      "components" : null,
      "value" : "0x48FD165c640a506d0847266Ce6cA8fF013699311",
      "functionValue" : null
    }, {
      "name" : "_data",
      "description" : null,
      "internalType" : null,
      "type" : "bytes",
      "components" : null,
      "value" : null,
      "functionValue" : {
        "name" : "initialize",
        "inputs" : [ {
          "name" : "_name",
          "description" : null,
          "internalType" : "string",
          "type" : "string",
          "components" : null,
          "value" : "Unit Test Token",
          "functionValue" : null
        }, {
          "name" : "_symbol",
          "description" : null,
          "internalType" : "string",
          "type" : "string",
          "components" : null,
          "value" : "UTT_TEST",
          "functionValue" : null
        }, {
          "name" : "defaultAdmin",
          "description" : null,
          "internalType" : "address",
          "type" : "address",
          "components" : null,
          "value" : "0x66A489c3F3965Dc5C99547d6445352787356c7ac",
          "functionValue" : null
        }, {
          "name" : "minter",
          "description" : null,
          "internalType" : "address",
          "type" : "address",
          "components" : null,
          "value" : "0x66A489c3F3965Dc5C99547d6445352787356c7ac",
          "functionValue" : null
        }, {
          "name" : "pauser",
          "description" : null,
          "internalType" : "address",
          "type" : "address",
          "components" : null,
          "value" : "0x66A489c3F3965Dc5C99547d6445352787356c7ac",
          "functionValue" : null
        } ],
        "outputs" : null,
        "stateMutability" : null
      }
    } ]
  },
  "displayName" : "Unit Test Token",
  "useGasless" : false,
  "fee" : "0.00001",
  "feeLevel" : "MEDIUM"
}   

Any ideas on what might be missing or misconfigured?

Thanks in advance!