Hi, I just created a greenaddress.it wallet and played around a bit, overall I am quite impressed with the concept and its execution. Just a few thoughts:
1) nLockTime for user refund is nice and all, but the time-locked refund tx is only provided after the new incoming tx has been broadcast, so your nLockTime solution does not protect me, if for example, if I receive a payment in a state where greenaddress.it keys have already been lost, for example. Of course this is the way the service has been designed, so I'm not sure if there exists a solution. Have you any thoughts about this? Is there a way to design a payment protocol perhaps such that the sender only signs the inbound tx after the nLockTime tx has been provided to the recipient?
2) Micropayments. I notice that the way micropayment channels are set up is very similar to how greenaddress.it works. I wonder if you have given any thought to integrating a micropayment system into your wallet? I have been waiting to see a real solution for receiving off-blockchain, zero-fee transactions which doesn't require the sender to have an account with any specific third party like Coinbase for example.
Good luck with your service!