Sendtoaddress automatically sending to a new address

Hi, I used zcash-cli sendtoaddress t-address amount to send to another address, but there are always automatically two outputs, one with the amount I wanted to send and another new random address with a tiny amount. And my local account is not seeing the new random account. Is this normal? Thanks!

I’d like to add that this is different from the case that every time you send from a t address, zcash moves the remaining balance to a new address and your wallet would include the new address.

The issue I’m seeing is that

  1. The sending address is not emptied
  2. The newly created output address is not showing up in my wallet/account, it’s like it got lost to an address that I can not acess. I’ve synced all the blocks.

It seems that zcash-cli getinfo will show correct TOTAL balance for the entire account including the amount from the t-addr that is not showing up with zcash-cli getaddressbyaccount command, also I tried to export the wallet and check the backup text file, I couldn’t see those newly generated t-addr from the last send transaction.

So how do I make the t-addr show up in my account information?

The new address that you see when you send funds is the change address: Change - Bitcoin Wiki

You can see all the T addresses that have a balance in them by running listreceivedbyaccount and you can see the total balance of all accounts by running z_gettotalbalance

https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list