Is there a way to generate new addresses for someone else's wallet?

by toddmo   Last Updated April 05, 2018 02:27 AM - source

I thought I saw this feature existed somewhere but I can't find the reference.

Use Case: Alice needs to keep sending multiple bitcoin transactions to Bob, and wants to use a different payment address each time, but neither Alice nor Bob wants to trouble Bob with having to send over a new address for Alice to use. Neither Alice nor Bob want Alice to have Bob's private key.

Any service that sends bitcoins in multiple transactions to a client could make use of this feature. Current services that I've seen, like mining, just reuse the same address over and over, which is not recommended.

What is this feature called?

What bitcoin api (if any) facilitates it, or how would I get started using this api feature?

Answers 1

Bob can provide Alice with an extended public key (xpub). This will allow Alice to generate as many addresses as required, all of which will be accessible to Bob via the corresponding extended private key (xpriv), which only he has access to.

There are many tools and libraries around that support address derivation from xpubs, such as BitcoinJS-lib.

As far as I know, is the only explorer with xpub support, and that also only applies to p2pkh addresses. Here's an example:

Raghav Sood
Raghav Sood
April 05, 2018 02:07 AM

Related Questions

How Bitcoin wallets avoid address re-usability?

Updated March 01, 2018 13:27 PM

Managing the bitcoin address gap

Updated August 18, 2017 05:27 AM

How to generate a zcash vanity address?

Updated January 07, 2018 15:27 PM