*Sorry for my English, again...*  
*First I wanted to place this post on Etherium Reddit, if it needs to be there, just close this question...*  

I need to implement this logic:  
<img src="https://i.sstatic.net/YHcub.jpg"></img>  

1. From *Wallet 1* user sends to *Smart Contract* 1000 Ether, by calling function in *Smart Contract*.  
2. *Smart Contract* holds 1000 Ether until some external event will not occur. *Smart Contract* checks this by polling information from *external API*. If this event not occurs a two days e.g. *Smart Contract* revert Ether.  
3. *Smart Contract* sends 1000 Ether to Wallet 2 (if the condition of the previous paragraph is successful).  

**But I need do this for users who can`t have blockchain ("Etherium Wallet" app e.g.) on own computers.**  

And here's the next image...  
<img src="https://i.sstatic.net/Bc7hD.jpg"></img>  

1. Standart authentication - Login/Pass, OAuth, not important...  
2. We identified the user credentials and associate it with a particular Wallet Account (0x123...).
3. Now we sends commands to the Geth with using Wallet Account of the previous paragraph.
4. Finally, end-user has a limited set of possibilities by using UI in own application.  

It's okay to do this server-side layer, and do some authentication?