Good job, I like the ingenuity! I see two issues with your script:
1) It only checks if the amount is over 0. You should save the balance at startup (such as initbalance) so users that already have balances can use it.
2) Your abusing the free API access pretty badly, and you might unknowingly run into your 8 hour limit within 3 hours.
From the bottom of
https://blockchain.info/apiRequests in 8 Hours: (Maximum : 10000)
Requests in 5 minutes: (Maximum : 500)
Your making 28800 (if curl responds instantly) api calls in a 8 hour period. I would suggest polling every 3 seconds to barely make it in the limits (9600 requests a day) or 10+ seconds to be nice to blockchain.info for their free api service. I personally don't need to know that second that I received some coins.
Other than that, keep up the great work!