I’ve noticed a serious issue with how Solana rewards are currently being handled in Koinly following the change applied last Friday. I was told that rewards would now be claimed automatically every epoch, but that’s not actually how the Solana network works. This will create huge discrepancies between Koinly and actual Solana addresses that stake SOL.
For instance, if I stake all my SOL and transfer the remaining balance to another wallet, my Solana address would remain at 0 SOL until I send SOL back to it and unstake or claim rewards. However, Koinly would continue adding rewards, while in reality, my wallet would show 0 until I explicitly claim or unstake the delegation. This is not how the Solana network operates.
By comparison, on the Cardano network, rewards are distributed every epoch and are actually sent to the Cardano address. As a result, the Koinly balance always matches the on-chain balance.
I believe this recent change to the Solana API wasn’t fully thought through. What users likely wanted was a separate entry for rewards upon unstaking!
I think Koinly misunderstood—the main issue isn’t the complexity of pooling staked amounts in and out, but rather that the rewards were combined into one withdrawal figure, making it hard to identify the actual reward amount. Previously, I had to split the withdrawal into two figures: one for the pooled-out amount and one tagged as a reward. There was a time when the API did this correctly, but in recent months, rewards have been combined into one withdrawal transaction.
My concern is that this change could create significant backlash once users realize what was actually implemented.