How Torrent Clients Announce Transition to Seeder

When a BitTorrent client finishes downloading the final piece of a file, it transitions from a leech to a seeder through a combination of peer-wire protocol messages, connection management, and tracker updates. To notify currently connected peers of its new status, the client broadcasts a final piece confirmation (HAVE message), updates its internal state, terminates unnecessary connections with other seeders, and reports the completion event to the tracker.

Broadcasting the Final Piece (HAVE Message)

Under the standard BitTorrent protocol, clients do not send a single explicit “I am now a seeder” message over an existing peer connection. Instead, the transition occurs incrementally through piece management:

Terminating Redundant Seeder-to-Seeder Connections

Because seeders only upload data and do not download, two seeders have nothing to share with each other. Once the transition to a seeder is complete:

Tracker Announcement (event=completed)

In addition to communicating directly with connected peers over the peer-wire protocol, the client notifies the central tracker (or DHT network):

Extension Protocols

If the client and its peers support the BitTorrent Fast Extension (BEP 6), seeders connecting to the swarm anew can use the HAVE ALL message during the initial handshake. However, for active connections transitioning mid-transfer, the standard HAVE message for the final piece remains the primary trigger that signals completion to the swarm.