Het token bucket-algoritme stelt een netwerk in staat verzoeken toe te staan ​​of te weigeren op basis van het huidige verkeer. Elke bucket bevat een bepaald aantal tokens die netwerkverzoeken vertegenwoordigen (bijvoorbeeld een poging om in te loggen op een account of een bericht te verzenden). Telkens wanneer een gebruiker een verzoek verzendt, wordt er een ander token aan de bucket toegevoegd.
Omdat de bucket een vaste limiet heeft voor het aantal tokens dat het kan bevatten, stopt het algoritme de bewerkingen als gebruikers in korte tijd te veel verzoeken indienen. Het netwerk laat alle nieuwe verzoeken vallen totdat een "emmer bijvullen" het aantal toegestane tokens opnieuw instelt.