Your error is telling you that you are attempting to do 'math' on a userdata. So, the value Cash you are passing must not be a number, I would hazard a guess at saying you may have passed a NumberValue/IntegerValue as cash so try making line 3 be:
val.Value = val.Value + cash.Value
If this does not work, please try to use print(typeof(cash)) to see what you're actually passing.
From your comment, you are using FireServer() where you are passing game.Players.LocalPlayer, 25000 which is incorrect. Every time a local script makes a request to the server through a remote, they automatically send the client as an argument so all you need to send is the money amount.
FireServer(25000), on the server script your first argument is Player, second is the money.
2 comments
im passing RE:FireServer(game.Players.LocalPlayer, 25000) and it says both of them are instances
If RE:FireServer is from a local script TO a script, then do not pass game.Players.LocalPlayer because player is automatically sent as the first argument. I updated my answer