Gareth Evans says he was ready to sign a new contract at Macclesfield Town until Bradford City came in with an offer.
Bradford have agreed a deal to sign Evans on a two-year contract and will pay an undisclosed fee to their League Two rivals for the striker.
Lincoln City had also shown an interest in Evans and the 21-year-old insists he is not moving to Valley Parade for financial reasons.
"The first thing to say is that I owe a lot to Macclesfield Town Football Club," he told the club's official website. "They were the ones that gave me my first opportunity in the professional game and for that I am truly grateful.
"I know a lot of the fans will be thinking I've just gone for the money. But it wasn't a factor in my decision to move. Macclesfield made me a very good offer and one I was about to sign.
"But when I took the phone call to say that Stuart McCall was interested in taking me to Bradford, it was an opportunity I couldn't let go.
"I am still a young lad and I have aspirations to go as far as I can in the game."