the idea is simple, I need the user to have his own address where he could receive the crypt, preferably not limited to one currency and then on the site he could make transactions with other users (transactions on the site, of course, simply by rewriting from one database to another without blockchain
) and then he could withdraw it from main balance of the site, the database will simply keep tabs on how much money this person has.
If you want multiple currencies you should probably look into a payment processor such as coinpayments or btcpayserver.
If you just want BTC, use bitcoin core, assign an address to a user and enable walletnotify. On deposit you will get notified and you can process the deposit however you like.