Just send the amount Alice agreed to pay along with the request. If the price has increased since Alice sent the request, you send a response indicating that the item could not be purchased at or below that price, and the current price is whatever it is. This is pretty much the same situation as when there's only one item available and, at the time the request to buy reaches you, the item has already been sold. So your message flow would look like: Bob → Server Set item price to $10 Alice → Server Tell me item price. Server → Alice Item price is $10. Bob → Server Set item price to $20. Alice → Server Purchase item for $10. Server → Alice Item not available for $10; current price is $20.