ATP-binding cassette (ABC) transporters are ubiquitous integral membrane proteins that facilitate the transbilayer movement of ligands. They comprise, minimally, two transmembrane domains, which impart ligand specificity, and two nucleotide-binding domains (NBDs), which power the transport cycle. Almost 25 years of biochemistry is reviewed in light of the recent structure analyses resulting in the ATP-switch model for function in which the NBDs switch between a dimeric conformation, closed around two molecules of ATP, and a nucleotide-free, dimeric 'open' conformation. The flexibility of this switching mechanism has evolved to provide different kinetic control for different transporters and has also been co-opted to diverse functions other than transmembrane transport.