<p>Since your service will control the wallet it is not necessary to do the actual transfer out of the wallet to the service, just show the user a lower balance and do not let them spend or withdraw more than this. This means that your service will have to maintain strict control of the private keys. Also, if you maintain a backend float BTC balance, you can show the user an increased balance immediately without waiting for a return transaction to process. To do this, effectively you will need to control all addresses used by your service. This amounts to virtual wallets.</p>

<p>A note on security, there have been previously several high profile services which hold a balance for users, which have been hacked so you will need to ensure your entire security regime is "A" Grade across your entire organisation.</p>

CC BY-SA 3.0
2018-02-09T07:40:34.860Z
2018-02-09T07:40:34.860Z
Willtech
<blockquote>
  <p>minimize fees by reducing the amount of transactions</p>
</blockquote>

<p>Exchanges do this by not amalgamating withdrawals into large transactions.</p>

<p>See <a href="https://bitcoin.stackexchange.com/questions/59337/processing-multiple-transactions-very-fast/59354#59354">Processing multiple transactions very fast</a></p>

CC BY-SA 3.0
2017-09-11T16:51:10.397Z
2017-09-11T16:51:10.397Z
weston
<p>i'm working on a Web Application that will allow users to deposit Bitcoin into their own wallet, leading to a service that invests their funds in X(lets say alt-coins).i'm having issues on how to approach this.</p>

<p>So, if i'm not mistaken it will go like this:</p>

<p>Bob deposits BTC to wallet W => W sends to service S => Bob wins money => S sends funds back to W.</p>

<p>Until bob has funds again it takes 2 transactions</p>

<p>If the goal is to minimize fees by reducing the amount of transactions,
Would you create a private key for each of the users? or is there a way to create different public addresses that point to the same private key?
I Thought about initially giving Bob the option to deposit directly to the service S but the whole idea is giving funds to more than one service.</p>

<p>Thanks for any advice.</p>

CC BY-SA 3.0
2017-09-11T16:36:34.643Z
Sounds like you're making an exchange? Or is it different to that?
weston
CC BY-SA 3.0
2017-09-11T16:49:11.740Z
different, its a site where you can choose a well known investor to play with your money for you
Gilad
<transactions><transaction-fees><wallet-security>
How to reduce the amount of transactions with handling wallets?
Gilad
# How to reduce the amount of transactions with handling wallets?

(Asked by: username_0 on 2017-09-11)

i'm working on a Web Application that will allow users to deposit Bitcoin into their own wallet, leading to a service that invests their funds in X(lets say alt-coins).i'm having issues on how to approach this.

So, if i'm not mistaken it will go like this:

Bob deposits BTC to wallet W => W sends to service S => Bob wins money => S sends funds back to W.

Until bob has funds again it takes 2 transactions

If the goal is to minimize fees by reducing the amount of transactions,
Would you create a private key for each of the users? or is there a way to create different public addresses that point to the same private key?
I Thought about initially giving Bob the option to deposit directly to the service S but the whole idea is giving funds to more than one service.

Thanks for any advice.

**Tags:** transactions, transaction-fees, wallet-security

> **Comments:**
> **username_1**: Sounds like you're making an exchange? Or is it different to that?  
> **username_0**: different, its a site where you can choose a well known investor to play with your money for you  

---

## 2 answers

### Answer by username_2 on 2018-02-09. Score: 1

Since your service will control the wallet it is not necessary to do the actual transfer out of the wallet to the service, just show the user a lower balance and do not let them spend or withdraw more than this. This means that your service will have to maintain strict control of the private keys. Also, if you maintain a backend float BTC balance, you can show the user an increased balance immediately without waiting for a return transaction to process. To do this, effectively you will need to control all addresses used by your service. This amounts to virtual wallets.

A note on security, there have been previously several high profile services which hold a balance for users, which have been hacked so you will need to ensure your entire security regime is "A" Grade across your entire organisation.


---

### Answer by username_1 on 2017-09-11. Score: 0

> minimize fees by reducing the amount of transactions

Exchanges do this by not amalgamating withdrawals into large transactions.

See [Processing multiple transactions very fast](https://bitcoin.stackexchange.com/questions/59337/processing-multiple-transactions-very-fast/59354#59354)


---

