Barry Bonds has the most career bases on balls, with 2,558 walks.

which batter has the most career bases on balls