I've seen various 'options' that the different DNS seeders support, for example x1, x5, x9, and xd:

vSeeds.emplace_back("seed.bitcoin.sipa.be", true); // Pieter Wuille, only supports x1, x5, x9, and xd
vSeeds.emplace_back("dnsseed.bluematt.me", true); // Matt Corallo, only supports x9
vSeeds.emplace_back("dnsseed.bitcoin.dashjr.org", false); // Luke Dashjr
vSeeds.emplace_back("seed.bitcoinstats.com", true); // Christian Decker, supports x1 - xf
vSeeds.emplace_back("seed.bitcoin.jonasschnelli.ch", true); // Jonas Schnelli, only supports x1, x5, x9, and xd
vSeeds.emplace_back("seed.btc.petertodd.org", true); // Peter Todd, only supports x1, x5, x9, and xd

(from chainparams.cpp)

But I can't find anything which actually explains what these options are. What do these options do and why do only some seeders offer some of the options?


This is 'service bit filtering.'

You can run nslookup seed.bitcoin.sipa.be, and get a list of bitcoin nodes.

You can also run nslookup x1.seed.bitcoin.sipa.be, and get a list of nodes with NODE_NETWORK set.

(source 1. source 2.)

  • So the number following the X is like a bitmask for the service bits? Makes sense, thanks :)
    – MeshCollider
    Oct 7 '17 at 6:50
  • 1
    Exactly, it sets what bits are required in the result. Oct 7 '17 at 9:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.