how do i convert seeds into addresses ??
Learnmeabitcoin.com explains nicely how addresses are derived from a seed phrase.
When you have the addresses, you can relatively easily query their balances from your own node or an online service.
Here is a code example in Python, that you could run offline, safely.
from mnemonic import Mnemonic
import bip32utils
mnemon = Mnemonic('english')
#words = mnemon.generate(256)
#print(words)
#mnemon.check(words)
#seed = mnemon.to_seed(words)
seed = mnemon.to_seed(b'lucky labor rally law toss orange weasel try surge meadow type crumble proud slide century')
print(f'BIP39 Seed: {seed.hex()}\n')
root_key = bip32utils.BIP32Key.fromEntropy(seed)
root_address = root_key.Address()
root_public_hex = root_key.PublicKey().hex()
root_private_wif = root_key.WalletImportFormat()
print('Root key:')
print(f'\tAddress: {root_address}')
print(f'\tPublic : {root_public_hex}')
print(f'\tPrivate: {root_private_wif}\n')
child_key = root_key.ChildKey(0).ChildKey(0)
child_address = child_key.Address()
child_public_hex = child_key.PublicKey().hex()
child_private_wif = child_key.WalletImportFormat()
print('Child key m/0/0:')
print(f'\tAddress: {child_address}')
print(f'\tPublic : {child_public_hex}')
print(f'\tPrivate: {child_private_wif}\n')
You would need to loop over different seed phrases and loop through a set number (e.g. 100) of keys for each seed.
Potentially also need to loop through the different derivation paths as well.
seed_phrases = open('seeds.txt', 'r').readlines()
for phrase in seed_phrases:
seed = mnemon.to_seed(phrase)
root_key = bip32utils.BIP32Key.fromEntropy(seed)
[...]
for i in range(100):
child_key = root_key.ChildKey(0).ChildKey(i)
child_address = child_key.Address()