Cryptocurrency transfer

Is there any way to allow app users to transfer cryptocurrency? I am writing a blockchain application and this question is of great interest to me. I will be grateful for any answer.

if they use metamask then that could be enough to be able to make a transfer

Well, in this case, how to track that the user transferred the required amount and whether he transferred the cryptocurrency at all?

if you want to track that then you can check the transactions for a specific wallet address with web3api