Skip to content
Satoshi Gazette
Glossary

User agent

The software name and version a node announces to its peers in its handshake, such as /Satoshi:30.0.0/. It is self-reported: what a node says it runs, not proof of what it runs.

Protocol and network

Definition dated

also UA string · subver

When two nodes connect, each sends a version message naming its protocol version and a free-text user agent. BIP 14 set the format, slash-separated name:version pairs such as /Satoshi:30.0.0/, and Bitcoin Core fills it in from its own release number.

Because it is free text, the user agent is self-reported. Operators can append comments, other implementations can keep the Satoshi prefix and add their own tag, and a node can announce anything at all. It is still the only software census the network offers: crawlers tally the strings, and the shares they publish are shares of what reachable nodes say about themselves.

The Gazette prints user-agent shares with the crawler, the date, the population counted and that caveat.

Common misreadings3

  • People say

    A /Satoshi: string means Bitcoin Core

    Precisely

    Other implementations announce a Satoshi version too; Bitcoin Knots, for one, adds its own Knots tag after it. Counting software means reading the whole string.

  • People say

    The user agent proves what a node runs

    Precisely

    Any operator can change it, with -uacomment or by editing the source. It is a claim the node makes about itself.

  • People say

    A newer version string means newer rules

    Precisely

    The string is a label. The rules a node enforces are whatever its code enforces, whatever it announces.