Inspiration
I decided to build this app because I was trying to figure out a good way to not only track my Solana staking rewards but also how to correlate them to price in USD.
What it does
The Solana Stake Reward Tracker retrieves Solana staking rewards for a given address. It then correlates the USD price on the day the award was received to the price of Solana on that day. It then totals the amount and prints in to a table. There is also a CSV download feature that can be used at later time for financial reporting purposes.
How we built it
The app was built using React. It also uses Python to retrieve and store Solana coin price in USD from CoinGecko.
Challenges we ran into
The first challenge I ran in to was retrieving Solana rewards. The RPC call that is used for this only allows for the retrieval of one reward at a time. This makes the app slow. I have not solved this problem yet. My next step will be to see if a feature enhancement to the RPC call is possible that would return a range of rewards between two given epochs. If this is not possible then I will store the data locally and create my own API that will return all rewards at once. I would like to avoid this but it is my backup course.
The second challenge I ran in too was in retrieving Solana coin pricing from CoinGecko. I solved this in the same manner as I described for my Solana RPC problem. Retrieve the price once a day and store it locally. This is done by a Python app that runs as a service.
Accomplishments that we're proud of
This is the first app I have ever built using React and it works!
What we learned
I learned a great deal about React and JS while building this tool.
What's next for Solana Stake Reward Tracker
I intend to increase the speed by one of the two methods outlined in Challenges we ran into. After that I intend to add staking functionality so delegators can stake right from the app.
Built With
- coingecko
- javascript
- python
- react
- solana

Log in or sign up for Devpost to join the conversation.