A method of dispensing a beverage at a beverage dispenser (120, 10, 150), the method comprising: receiving, by the beverage dispenser (120, 10, 150), a smartcup identifier and a dynamic token from a smartcup reader, the smartcup identifier and the dynamic token being read from a smartcup tag; sending, by the beverage dispenser (120, 10, 150), a smartcup authentication request including the smartcup identifier and the dynamic token to a smartcup server computer, wherein the smartcup server computer validates the authenticity of the smartcup identifier and the dynamic token by parsing the smartcup identifier and the dynamic token from the smartcup authentication request, searching a smartcup database for the smartcup identifier, and comparing the dynamic token to a security token associated with the smartcup identifier, wherein the authenticity of the smartcup identifier and the dynamic token is validated when the dynamic token matches the security token, wherein the smartcup server computer determines a dispense decision associated with the smartcup identifier; receiving, by the beverage dispenser (120, 10, 150), a smartcup authentication response including the dispense decision, wherein the dispense decision indicates whether the beverage dispenser (120, 10, 150) is authorized to dispense the beverage; determining, by the beverage dispenser (120, 10, 150), that the dispense decision is affirmative; determining, by the beverage dispenser (120, 10, 150), an updated dynamic token for the smartcup tag; updating, by the beverage dispenser (120, 10, 150), the dynamic token of the smartcup tag with the updated dynamic token; and dispensing, by the beverage dispenser (120, 10, 150), the beverage in a cup. receiving, by the beverage dispenser (120, 10, 150), a smartcup identifier and a dynamic token from a smartcup reader, the smartcup identifier and the dynamic token being read from a smartcup tag; sending, by the beverage dispenser (120, 10, 150), a smartcup authentication request including the smartcup identifier and the dynamic token to a smartcup server computer, wherein the smartcup server computer validates the authenticity of the smartcup identifier and the dynamic token by parsing the smartcup identifier and the dynamic token from the smartcup authentication request, searching a smartcup database for the smartcup identifier, and comparing the dynamic token to a security token associated with the smartcup identifier, wherein the authenticity of the smartcup identifier and the dynamic token is validated when the dynamic token matches the security token, wherein the smartcup server computer determines a dispense decision associated with the smartcup identifier; receiving, by the beverage dispenser (120, 10, 150), a smartcup authentication response including the dispense decision, wherein the dispense decision indicates whether the beverage dispenser (120, 10, 150) is authorized to dispense the beverage; determining, by the beverage dispenser (120, 10, 150), that the dispense decision is affirmative; determining, by the beverage dispenser (120, 10, 150), an updated dynamic token for the smartcup tag; updating, by the beverage dispenser (120, 10, 150), the dynamic token of the smartcup tag with the updated dynamic token; and dispensing, by the beverage dispenser (120, 10, 150), the beverage in a cup.