There are 2 options:
2) (Not recommended) Each user has an unique ID and new addresses are generated via seed, so they are actually pre-generated and easy to recover if you now the seed. Then it goes like that:
[seed]-> [Purpose][Coin][Account][External / Internal][address id]
m/44'/0'/111'/0/1 -> Bitcoin address, user_id 112, second address
m/44'/145'/48271'/0/3 -> Bitcoin Cash address, user_id 48271, fourth address
m/49'/0'/54'/0/0 -> Bitcoin SegWit address, user_id 55, first address
What are these seed? m/44'/0'/111'/0/1, m/44'/145'/48271'/0/3 , m/49'/0'/54'/0/0
I just thought made bunch of address from one bitcoin daemon.
Where is seed and how to know what seed used from above?