I would tell the recruiter you want to see the offer in writing before you make a decision. You need to review the offer and make sure it says, in writing, any salary, bonuses, and other promises that were made which are not expressly described in the new company's employee policies.
Until you have a written offer in your hands, you do not have anything.
Sometimes written offers have an expiration, which tells you how long you have to decide on the offer.
I concur with those who say you don't owe anything to any company. You trade hours for dollars, and move on when it's right for you. If an employer wants you to move on when it's the right time for them, they will not hesitate. Loyalty is dead. Also there are two types of software people.
The first are the ones who are content to stay in one job for 5, 10 years and never really move up, never become an Architect or a Manager, maybe never even get to Senior level. I've worked with many, and they're always surprised how I have time to learn new technologies. These people remain stagnant, and their marketable skillet from 3 years ago is almost worthless today. After 5 years, these people, as another poster mentioned in an example, are practically not employable. If you are not an expert on today's technologies, you are dead in the market, regardless of what your compensation might be after 5 or 10 years of 3% or 5% annual raises. You don't want to be that guy!
The second are the hungry ones. These people apply themselves 110% because it's personal to them to be the best at what they do. These people are constantly increasing their knowledge, practice with the newest technologies while they're in Beta, and are always outgrowing their current position. These are the individuals who are always employable in today's software market. You want to be the second type, not the first. From the sounds of it, you are. The rest falls into place.
Every time I have left a company, I have never asked for a counter offer. I think it puts a certain bad taste in everyone's proverbial mouth.
Bottom line is that if your skills have increased to where they are worth substantially more in the market than what you are being compensated, jumping ship is an excellent option to reposition yourself in the marketplace. If you keep up increasing your skills and knowledge (and stay current with trends and technologies) wherever you work, you will always be able to find a job. At the highest non-managerial Sr. Software Engineer or Software Architect salary ranges, this eventually hits a ceiling, but even at that point you can specialize in certain areas to make your skills worth more to the right employer.
Then you can do consulting, open your own business, etc. It worked for me
Good luck in your new position.