I'm working on creating a menu that will ask a player for confirmation before making any purchases on the network. This is how the inventory will look: The Redstone block cancels the purchase, and the Emerald block confirms the purchase. I have no problems with cancelling a transaction through the use of the Redstone block, but the issues lie when a player confirms their purchase. When I initiate a transaction, I call my "Transaction" class which takes basic information such as the player buying, the item, price, and the creation of a callback. When the Emerald block is clicked, I make sure that the player has the required amount of funds for the payment. If not, the transaction will fail for "Insufficient funds". If they do however have enough funds, the transaction is accepted, the money is deducted, and the callback is called (to allow me to make any changes after completion such as giving the player the item, etc). Now, you're probably wondering... What is the problem then? The problem lies when a player tries to purchase an item that has been already purchased by another player. For example: If Player1 tries to buy a Diamond, but takes too long within the transaction menu, Player2 can go and buy the Diamond before Player1 had the chance to click the emerald blocks within their transaction menu. How could I add a check within the callback to cancel a transaction if the item is no longer available once they choose to accept the purchase? I do not want to add the check directly into the Transaction class as this class will be used for many other purchases that do not have this problem (aka purchases that do not have a finite amount in stock, i.e infinite).