user87821: I'm looking for a lightweight node package which can handle creating btc receiving addresses on the server using an extended public key (segwit).
Like this one: zpub6nYqvTejCbqMTRTGz9rHkJnrJKbLsx36LqLnUJChDdJ6a5NA7hBumEpn9HTSDgWpNTNCponkPCBL5VKeAaScVxbXa1H4RPmA4j19rzgJPRp 
I tried using https://www.npmjs.com/package/bitcoin-receive-payments
But I don't want an OpenExchangeRates account to use this.
There is this guide on PHP https://freedomnode.com/blog/58/generate-bitcoin-wallet-addresses-from-extended-public-key-with-php
But I can't find any equivalent for JS.
I would also be very thankful if there is any explaination for non Math people, as I am just looking to generate addresses on a server based off an extended address.
Someone knows?

user26873: I would suggest using a library such as the bitcoinjs-lib library.
Here's a very stripped down example usage:
let bitcoin = require("bitcoinjs-lib");

function fromXpub(xpub, acctNumber, keyindex, callback){
    let address = bitcoin.HDNode.fromBase58(xpub).derivePath(acctNumber+"/"+keyindex).getAddress(); 
    callback(address);
}

let myxpub = "xpub6C6RXXtdbxSnfB78Y4WjJSjQuChKqHXh9JCZPeKtdGeWRiptL9oJePPtrYKPWaoem9W3Wvp8eEh8dFFuN7u4zT6x6A1H6D67bVVvufv3uJ1";

fromXpub(myxpub, 0, 0, function(cb){
    console.log(cb);
});



13eX3ohuXCa93YgLCkuQF6NmJk8vUwqa8p



87821: <p>I'm looking for a lightweight node package which can handle creating btc receiving addresses on the server using an extended public key (segwit).</p>

<p>Like this one: zpub6nYqvTejCbqMTRTGz9rHkJnrJKbLsx36LqLnUJChDdJ6a5NA7hBumEpn9HTSDgWpNTNCponkPCBL5VKeAaScVxbXa1H4RPmA4j19rzgJPRp </p>

<p>I tried using <a href="https://www.npmjs.com/package/bitcoin-receive-payments" rel="nofollow noreferrer">https://www.npmjs.com/package/bitcoin-receive-payments</a>
But I don't want an OpenExchangeRates account to use this.</p>

<p>There is this guide on PHP <a href="https://freedomnode.com/blog/58/generate-bitcoin-wallet-addresses-from-extended-public-key-with-php" rel="nofollow noreferrer">https://freedomnode.com/blog/58/generate-bitcoin-wallet-addresses-from-extended-public-key-with-php</a></p>

<p>But I can't find any equivalent for JS.</p>

<p>I would also be very thankful if there is any explaination for non Math people, as I am just looking to generate addresses on a server based off an extended address.</p>

<p>Someone knows?</p>
 26873: <p>I would suggest using a library such as the <a href="https://github.com/bitcoinjs/bitcoinjs-lib" rel="nofollow noreferrer">bitcoinjs-lib</a> library.</p>

<p>Here's a very stripped down example usage:</p>

<pre><code>let bitcoin = require("bitcoinjs-lib");

function fromXpub(xpub, acctNumber, keyindex, callback){
    let address = bitcoin.HDNode.fromBase58(xpub).derivePath(acctNumber+"/"+keyindex).getAddress(); 
    callback(address);
}

let myxpub = "xpub6C6RXXtdbxSnfB78Y4WjJSjQuChKqHXh9JCZPeKtdGeWRiptL9oJePPtrYKPWaoem9W3Wvp8eEh8dFFuN7u4zT6x6A1H6D67bVVvufv3uJ1";

fromXpub(myxpub, 0, 0, function(cb){
    console.log(cb);
});
</code></pre>

<blockquote>
  <blockquote>
    <p>13eX3ohuXCa93YgLCkuQF6NmJk8vUwqa8p</p>
  </blockquote>
</blockquote>
