It happened in Bucks County within the span of an hour and a half.
Police say the spree started in Bensalem at 12:15 p.m. Thursday, then moved to Yardley, then on to Morrisville.
"He did use a taxicab," said Bensalem Public Safety Director Fred Harran. "It wasn't till after the third bank robbery that the driver realized he was being used in the commission of these bank robberies."
Police say twice the bank bandit got nervous and ran before getting any money. In the end, he only got $125.
Police have arrested 26-year-old Luke Radick of Howell, New Jersey.
They say he was released on bail from prison two days ago, stemming from previous bank robbery charges.
Police say the demand note in Thursday's bank robbery in Yardley was written on the back of Radick's bail release form.