I’m building a cryptocurrency marketplace where users mainly buy and sell small ticket items (worth $10 - $50) using cryptocurrency. Typically, the average user will deposit $100 at a time into a personal/private/dedicated ETH address and we would then keep track of the user's balance internally.

However, since ETH uses account-based model to track transactions, when I try to consolidate all user deposits into a single ETH address I would pay a gas fee for each deposit. I'm trying to consolidate all of the deposits made by our users into a single ETH account without paying a separate miner/gas fees for each one.


My approach to solve this problem is by using a "time slot" -- where every user of the site deposits funds to a single ETH address. In order to track which user to credit for a deposit I plan on dedicating a particular address to a single user for a period of time (“time slot”) and credit any incoming transaction to that user for that period of time.

My question is if a user sends funds to an address under someone else's "time slot" is it possible for him to prove that he was the sender the funds? Using publicly available information such as the amount sent obviously won't cut it because anyone has access to this info.

Is this possible?


1 Answer 1


You could just use a smart contract which collects all the assets inside it.

Because you mentioned fiats I assume the users are storing the fiat in a centralized exchange and then transferring it to their own wallet - since they can't deposit fiat directly to an Ethereum address. When the Ethers are in their own wallet the could interact with your contract.

Then you need some way of identifying your users. Typically this is done by storing the sender address - who sends Ethers to your contract. Another option is to create a custom function which the users need to call with some custom parameters, for example their userId of some sorts. So whenever a user calls that function, with some Ethers and their unique userId the asset is marked to belong to that user.

Your approach about time slots will probably not work. Users can't decide when their transaction gets mined - it may take a few seconds or a month, depending mostly on the used gas price.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.