<p>There are a lot of online tools to generate bitcoin addresses and some of them have APIs. For example <a href="https://www.blockcypher.com/dev/bitcoin/#generate-address-endpoint" rel="nofollow noreferrer">Blockcypher</a>
's one.</p>

<p>But usually such services have their own full node which manages their wallet. In such case they'll generate new addresses using <a href="https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list" rel="nofollow noreferrer">bitcoin-cli</a> tool.</p>

<pre><code>$ bitcoin-cli help getnewaddress
getnewaddress ( "account" )

Returns a new Bitcoin address for receiving payments.
If 'account' is specified (DEPRECATED), it is added to the address 
book 
so payments received with the address will be credited to 'account'.

Arguments:
1. "account"        (string, optional) DEPRECATED. The account name for the address to be linked to. If not provided, the default account "" is used. It can also be set to the empty string "" to represent the default account. The account does not need to exist, it will be created if there is no account by the given name.

Result:
"address"    (string) The new bitcoin address

Examples:
&gt; bitcoin-cli getnewaddress 
&gt; curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/
</code></pre>

<p>As to the other coins, I bet they have alike tools, but looks like there is no "silver bullet" API for every coin out there.</p>

<p>And if you are going to handle big amount of coins, you, maybe, don't want to generate addresses via the third-party services.</p>

CC BY-SA 3.0
2018-03-09T15:58:21.000Z
2018-03-09T15:58:21.000Z
MartinSolie
<p>Services like ShapeShift generate new addresses for each transaction. It is not clear how to they do that. I didn't find any API that supports address generation for such a big amount of coins like on ShapeShift. Or maybe these guys use some crypto exchange to generate the addresses. </p>

<p>How can I implement address generation function? </p>

CC BY-SA 3.0
2018-03-10T07:20:42.107Z
you may want to look at the way, how HD wallets do key handling. You could define extended private and public keys and try to go from there...
pebwindkraft
<address-generation><shapeshift.io>
New address generation on exchange services
marc
# New address generation on exchange services

(Asked by: username_0 on 2018-03-09)

Services like ShapeShift generate new addresses for each transaction. It is not clear how to they do that. I didn't find any API that supports address generation for such a big amount of coins like on ShapeShift. Or maybe these guys use some crypto exchange to generate the addresses.

How can I implement address generation function?

**Tags:** address-generation, shapeshift.io

> **Comments:**
> **username_1**: you may want to look at the way, how HD wallets do key handling. You could define extended private and public keys and try to go from there...  

---

## 1 answers

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

There are a lot of online tools to generate bitcoin addresses and some of them have APIs. For example [Blockcypher](https://www.blockcypher.com/dev/bitcoin/#generate-address-endpoint)
's one.

But usually such services have their own full node which manages their wallet. In such case they'll generate new addresses using [bitcoin-cli](https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list) tool.

```
$ bitcoin-cli help getnewaddress
getnewaddress ( "account" )

Returns a new Bitcoin address for receiving payments.
If 'account' is specified (DEPRECATED), it is added to the address 
book 
so payments received with the address will be credited to 'account'.

Arguments:
1. "account"        (string, optional) DEPRECATED. The account name for the address to be linked to. If not provided, the default account "" is used. It can also be set to the empty string "" to represent the default account. The account does not need to exist, it will be created if there is no account by the given name.

Result:
"address"    (string) The new bitcoin address

Examples:
> bitcoin-cli getnewaddress 
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/

```

As to the other coins, I bet they have alike tools, but looks like there is no "silver bullet" API for every coin out there.

And if you are going to handle big amount of coins, you, maybe, don't want to generate addresses via the third-party services.


---

