Is it safe to use ChaCha20Poly1305 with empty AAD? I tried to implement E2E encryption between two clients in network.
Yes, it is safe. AAD (Additional Authenticated Data) is optional. It's available for you to use when you have data you want authenticated (integrity checked) but do no wish to encrypt. In general, in fact, it's far more common to use AEAD algorithms with only encrypted data and no AAD.