I'm new to crypto but I'm attempting to implement a storefront to process bitcoin sending / receiving. In my first test I transferred some BTC from my coinbase account to my personally hosted wallet. The result was what appears to be a combined transaction with several unknown (for all intents and purposes anyway, they are coinbase's (temporary?) wallets) public keys that distribute out to the various output wallets, including the one I was using in my test.
So I received the bitcoin, but I cannot verify that it came from me as coinbase's system obfuscates that detail. The wallet / key they display on the website seems to only be for receiving crypto.
The only solution that has come to mind is to create a different wallet for every transaction in order to verify the amount received is as expected, and thus removes any nonsense with having to trust user input. Is this the standard methodology? Are there better ways to handle this? I figure the cost of then transferring from those small wallets would be a rather large loss.
For this project I'm using NBitcoin + Blockcypher in a .NET Framework environment.
Thank you for any insight or suggestions in advance. This has been an interesting field to dive into.