executeFunction not returning receipts

Sample Code:

const txOptions = {

        contractAddress: "0x67A3C573bE9edca87f5097e3A3F8f1111E51a6cd",

        functionName: "createItem",

        abi: tokenContractAbi,

        params: {

            uri: metadataUrl,

            creator: userAddress,

            royaltyFee: RoyaltyFee,

            referrer: referrerAddress


          awaitReceipt: false


             tx = await Moralis.executeFunction(txOptions);

             tx.on("transactionHash", (hash) => {

                 console.log("hash" + hash);



                 .on("receipt", (receipt) => {

                     console.log("receipt" + receipt);


                .on("confirmation", (confirmationNumber, receipt) => {


                          nftID = receipt.events.Transfer.returnValues.tokenId;

                          loadingProgress.style.width = 80 + "%";

                          loadingStatus.innerText = "Finalizing";

                          if (walletProvider == 'walletconnect') {

                              var symbol =  tokenContract.methods.symbol().call({ provider: walletProvider, chainId: 56, from: user.get('ethAddress') });

                              var name =  tokenContract.methods.name().call({ provider: walletProvider, chainId: 56, from: user.get('ethAddress') });

                          } else {

                              var symbol =  tokenContract.methods.symbol().call({ from: user.get('ethAddress') });

                              var name =  tokenContract.methods.name().call({ from: user.get('ethAddress') });


                          var Item = Moralis.Object.extend("OnlyNFTs");

                          var OnlyNFTs = new Item();

                          OnlyNFTs.set('name', createItemNameField.value);

                          OnlyNFTs.set('description', createItemDescriptionField.value);

                          OnlyNFTs.set('owner_of', creator);

                          OnlyNFTs.set('creator_address', creator);

                          OnlyNFTs.set('royaltyFee', royaltyFee);

                          OnlyNFTs.set('token_address', onftsNSFWAddress);

                          OnlyNFTs.set('token_id', nftId);

                          OnlyNFTs.set('token_uri', nftFileMetadataFilePath);

                          OnlyNFTs.set('token_symbol', symbol);

                          OnlyNFTs.set('token_name', name);

                          OnlyNFTs.set('referrer_address', userReferrerAddress);




                      .on("error", (error) => {


                        document.getElementById("btnCreateItem").disabled = 0;





Logs hash once then keeps saying hash is undefined has returned receipt once out of 20 attempts. Any suggestions on what i have possibly done wrong?

Using walletconnect have not tried/setup metamask yet.

seems somehow similar behaviour as here: Not getting response for walletconnect and Moralis.executeFunction

with metamask should work fine

did you use latest Moralis SDK version?

Yes i have read through this. I added the event handlers today after i noticed the nativeAPI functions were working as intended again assuming maybe this problem might have been fixed too. Sorry for double posting the same error.

I assume the latest SDK is being used through this?

  <script src="https://unpkg.com/moralis/dist/moralis.js"></script>

yes, that mean that you are using latest SDK

what is strange is that you say that you had receipt once in 20 attempts and not always a transaction hash, that sounds like it is a problem with those events