Hey folks.
I'm working on a cash button similar to the one in Airport Tycoon where by cash is generated for the player, the player steps on the button, and collects the cash.
The way I've implemented it is I send a SetIncrement request to increment the players cash in the cash data store. I know this is a bad idea because of rate limiting, so I've made the button inactive for 60 seconds.
Many people suggest incrementing the users cash client side and making a request every 60 seconds. But I wanted to ask if this is a security problem.
If the users cash is incremented client side and updated every 60 seconds what is stopping a hacker from modifying their cash client side so that when SetIncrement is called it updates the store with the modified amount?
The reason why I put the logic on the server side is so that the client doesn't pass any sort of value to to the server and thus can not manipulate it.
Any thoughts on this?

2 comments
there's nothing stopping them from changing is client side then it transferring over to server, like theminecraftsmarts said, you should just store like a number value for each player on the server and use remote events or server sided scripts to alter the value
That's why I handle the balance of cash server side and the client does not send any values of how much to increment by.