Staking on Radix uses an accounting mechanism that calculates stakes and emissions in a way that makes it possible to distribute emissions tokens at every epoch’s end fairly and automatically restake those tokens for the validator component without creating a significant network burden. A consequence of this implementation is that the requested number of staked or unstaked tokens sometimes has to be “rounded” a bit to match how the accounting mechanism tracks them.
This is not a bug, it’s just the result of the math of dealing with tokens of finite precision. The differences in question here are extremely small, e.g. if you specified a stake of 1,000 XRD, you may see that the value of Liquid Stake Unit (LSU) tokens you receive are “only” 999.999999234 XRD.
Further reading:
- How to Stake and Unstake XRD
- What’s an epoch?
- How long is an epoch on Radix?
- Will my staking emissions rewards be automatically staked?