# What is staking, and why is it important?
A storage pool requires protocol nodes that upload and validate data. To ensure that nodes upload correct data and validate honestly, the protocol nodes have to stake $KYVE. When protocol nodes stake $KYVE in a pool, they are allowed to operate in that specific pool. In case of nodes misbehaving (e.g., uploading and submitting invalid data or validating incorrectly), the node would get slashed. In return for the risk of being slashed and the work of uploading and validating data, nodes are rewarded with $KYVE based on their staking amount.
# Who would stake in a pool?
Users who want to participate in a pool and want to earn staking rewards.
# How can I stake in a pool?
You can stake in a pool through the KYVE app (opens new window). Select a pool you are interested in and click on the staking tab to become a validator. You can withdraw your stake with an unbonding time.
IMPORTANT: When you stake your $KYVE, you are in danger of getting slashed for being offline. Ensure that you are running a protocol node with the correct runtime in the right pool before you stake.