I thought I'd give the newbies a chance first, and they can't post in other forums.
With InstaWallet, that would be done using the /payment API method (with use_green_address=true).
- https://www.instawallet.org/static/api.html ]
Nearly.
There would be no hosted wallet and no database on the server. All transaction would go over the Bitcoin network.
So let's say I have BitBump.com/gfgfweriwrysjjkf randomly generated for me.
Using "gfgfweriwrysjjkf" as a private key (SHA2) I get 1Hu5MmBMni7VE5p2y8H1boGQzAuoyyxYAL as a public key. All this can be done in Javascript (BitcoinJS).
I can send coins to that address and the page (BitBump.com/gfgfweriwrysjjkf) can update it's balance by accessing blockchain.info API i.e. https://blockchain.info/q/getreceivedbyaddress/1Hu5MmBMni7VE5p2y8H1boGQzAuoyyxYAL
Now, if a payment is to be sent, the page can create the transaction in Javascript and send it onto the network via Strongcoin (I have a non public API for sending TX's).
So the serverside waits for transfer requests (i.e. a bump) when it does it uses the bump api to see who's phone is nearby waiting to receive. All the server side needs is the destination public address of the nearby phone and the web page can create the TX.