Steem Rewards History CSV Exporter (via SteemData.com)
Crypto is growing up a lot faster than many of us ever imagined. With mainstream adoption of the blockchain inching closer and governments taking notice, being personally responsible and trying to stay legit has proven a difficult challenge.
A large portion of this challenge is tax liability in relation to your crypto earnings. Regardless of your opinion on the subject of taxes - if you plan on staying legit, it's something you'll want to end up accounting for in one way or another.
This post is not tax advice and doesn't serve to provide any guidance on how to report Steem earnings.
I won't pretend to know what I'm talking about here. Tax law is a subject that I am not well versed in and you shouldn't listen to anyone randomly on the internet about what you should do. Hire a professional if you need advice.
With that out of the way, what I can offer assistance in is the retrieval of account history in a way I believe will be useful for accounting.
Rewards History Exporter
I have created a small set of aggregation queries that utility @furion's SteemData.com. These queries can be batched/executed from a command line interface, provided the mongo-shell application is currently installed.
https://github.com/aaroncox/steemdata-reward-history
This isn't an ideal solution and not everyone has the knowledge required to use this tool, but my hopes is that those who can use it will help those that can't. Hell, maybe someone will wrap a gui-like interface around it or even create a bot that will do it for anyone that requests it.
What this tool does is allows you to specify an account name
and a year
and retrieve the following information by date:
- Witness Rewards
- Author Rewards
- Curation Rewards
- Beneficiary Rewards
- Powerdown events (in the case you are advised to account for this)
The script itself generates a CSV (aka "spreadsheet compatible" file) for each of the above. These CSVs are grouped by date and a real USD value is determined based on historical prices. This data can then be interpreted and used for accounting purposes.
For example, here is a portion of the CSV for my author rewards:
date | sbd | vests | steem | sp | usd_steem_gain | usd_sbd_gain | usd_total_gain |
---|---|---|---|---|---|---|---|
2017-1-3 | 0.25 | 5103.928965 | 0.708 | 2.44371 | 0.504 | 0.25 | 0.754274 |
2017-1-22 | 0.026 | 513.088526 | 0.078 | 0.245453 | 0.0517 | 0.02574 | 0.077492 |
2017-1-24 | 77.939 | 1545245.306209 | 244.514 | 740.562 | 147.761 | 77.939 | 225.700457 |
2017-2-12 | 1.999 | 46554.786977 | 8.417 | 22.259790 | 4.294 | 2.01899 | 6.313740 |
2017-2-15 | 3.39 | 95125.144755 | 20.398 | 45.333489 | 8.545 | 3.3561 | 11.901193 |
2017-2-17 | 5.334 | 155588.300488 | 34.358 | 74.577938 | 15.251 | 5.280 | 20.53169 |
2017-2-18 | 5.584 | 166049.723567 | 37.203 | 79.632885 | 15.18 | 5.52816 | 20.716825 |
2017-2-21 | 0.007 | 293.673191 | 0.081 | 0.1405807 | 0.024 | 0.00693 | 0.031303 |
The date
and usd_total_gain
are likely the only two fields that actually matter when it comes to accounting, but the rest are included to show the breakdown of which currencies were earned on those dates and how much.
Contributions welcome!
I built this application based on the expectations of a handful of interpretations of the current laws - you may find you need the data represented differently. I'd welcome anyone that needs additional/alternative reporting to contribute to the project or simply fork it to make your own.
Over the course of the next few years, an incredible demand will exist for software that accomplishes this sort of accounting, not just for Steem but for all blockchain related projects.
Special thanks out to @furion for running SteemData.com and reindexing the database recently to account for some missing data!
@jesta
Thank you for putting this together, the in/outs in Steemit taxation are an issue I have covered extensively.
Two quick questions
No problem, I needed the data as well.
There are CSV/JS files for each currency in the historical folder of the project:
https://github.com/aaroncox/steemdata-reward-history/tree/master/historical
Those are the values it's using.
steemdata-reward-history/historical/mvest_history.csv and steemdata-reward-history/historical/mvest_history.js show steem/mvest as fluctuating. This is NOT correct. It should increase monotonically.
I know that the formula is pretty simple but don't know what it is or where to find it. Can anyone else help?
I think I can, with a fair amount of code I wrote in a previous article.
I suspect the last two thirds might be not particularly useful for you, but the opening bit definitely is.
Thank you! Personally I am very excited to try this out.
In my opinion, the SBD value on reward date is the true marketable value of SBD as you have calc'ed (not the internal $1). Also I believe for basis tracking, units of SP, SBD and Steem are relevant so I am glad they are part of the template.
I have a small couple extra comments in general that hopefully might help.
For U.S., the SP, Steem and SBD are separate assets, it might make sense to have a separate breakdown of the USD value column for each to track adjusted basis (assuming SP = Steem's value). For example many authors lately were cashing out their SBD but leaving their Steem or SP alone. This may already be built in to the functionality so if it is my mistake!
I am not sure how other jurisdictions would treat Steemit earnings, but if there is a way to add values for other FX (Euros, etc. if coinmarket cap offers that), it would potenially help out some other countries along the way.
Thanks again for this great product. I was dreading going through a manual process.
IANAL, nor accountant. But "success" on steemit has me looking for answers.
Regarding comment 1, is SP considered a virtual currency? Sure, it has value relative to Steem and SP, but it's not traded on exchanges, only on the internal steem platform (arguably an exchange, but it is not traded on the steem market), and there it doesn't appear to be traded between users of the network, but instead between the platform and a single user (so not really applying to the exchange definition, nor in lieu of real currency definition).
The 2014 guidance from the IRS does loosely define a virtual currency in an example, but states that it acts as a substitute for real currency. Except you don't use SP as a substitute for real currency. It is awarded, but it is not exchanged itself for money nor is it traded on an exchange. Only in the platform (again, not even the market) does it seem to have a value. The 2014 guidance references the Guidance on the Application of FinCEN's Regulations to Persons Administering, Exchanging, or Using Virtual Currencies (FIN-2001-G001, March 18, 2013) for a more in-depth explanation of virtual currency.
The FinCEN document repeats this loose definition of "virtual currency either has an equivalent value in real currency, or acts as a substitute for real currency."
Is SP really acting as a substitute for real currency and therefore a virtual currency? You can only purchase it with STEEM (via powering up) or receive it from the platform as payout, and you can only sell it for STEEM via the powering down process.
For a poor analogy, consider World of Warcraft gold (sorry, I hate it when people make a poor analogy, and even more when they inappropriately use WoW gold). WoW gold is not traded on exchanges, it is only traded in the platform (World of Warcraft). You don't have to pay taxes every time a quest awards you with gold in WoW. You only have to pay taxes if you sell that gold to another person for (real or virtual) money. You can't sell your SP to another person, it seems to me even less a virtual currency than WoW gold. And in the world of steemit, if you have lots of this gold, you certainly have clout on the platform, but then you can't even sell this to other people, you have to convert it (power down process) within the platform and sell that thing instead... granted you can be bribed with other currencies, but you aren't surrendering your vests when you vote on something, nor have you surrendered them via delegation.
Of course, this raises new concerns. Full payouts in SP would not be taxable as income until powering down, for example. And the process of converting STEEM to SP would be ambiguous in how they are handled, do you count it as (either short or long term capital) loss when you convert to SP when SP value in vests times the amount is lower than the value at which you obtained your steem? But then pay income tax when you power down and forget any basis with the SP because it's not itself a virtual currency?
You have a very well thought out question. I actually did address my opinion regarding these points:
https://steemit.com/steem/@cryptotax/are-steemit-rewards-taxable-in-the-usa-part-2
I can't provide personal tax advice but for my purposes, I'm treating Steem Power as if it is Steem for tax purposes.
I did find that article after posting my question, but refrained from follow up edits or posting until after you had a chance to reply to my initial question.
I understand, completely.
I'll have to pop over to your other article for a follow up on this as I'm not (yet) convinced that delegation constitutes trade. In the mean-time, perhaps other intrepid filers will speak up with their input.
This is an unclear area tax law other opinions are definitey welcome as we try to make sense of this new technology, hopefully grounded in some degree of research like you and I. We are both in pursuit of the same knowledge. Nothing is 100% certain, however I am attempting taking a common sense route based on what I can only guess is the IRS' next move if Steem gets big.
Also just to add some thoughts on video games. With regards to World of Warcraft there are many avenues to convert gold into fiat (however some might violate Terms of Use). I also believe there was a way to exchange the gold for 30 days of game time which has a real world economic value. The items traded on the short-lived Diablo 3 real world market may have been considered convertible virtual currency as I understand real money was being spent on items or earned on sales of items. I can only hope the IRS would look at video game taxation on a case by case basis because (I believe) most people just play the game without trying to make any money off of it there's no need for there to be unlimited uncertainty for just buying a video game to play it.
Oh, yes! I forgot they had done that! Some googling reveals that they issued tokens for real money, then these tokens could be sold on the auction house in-game. Then they expanded this so you could use the tokens to purchase other Blizzard goods.
That certainly sounds like an exchange, doesn't it? I'd say that puts this token and gold into the virtual currency camp, because they now provide a means of exchange for both money to tokens and tokens to gold, all within their platform. But they only provide an avenue to convert money to services and goods they provide. They don't provide a means of exchanging these items to other currency, so does this satisfy the definition of a convertible virtual currency? Rather confusingly, when the IRS talks about virtual currencies in the 2014 guidance, they only care about convertible virtual currencies.
So even though you can use gold and tokens to pay for goods and services provided by Blizzard, it doesn't appear to fit the definition of a convertible virtual currency, so it's not covered by the 2014 guidance.
But isn't this important? They provide no such exchange, they encourage no such exchange, but STEEM and SBD are fully endorsed and encouraged for use as currencies and there are APIs and web sites provided to make this happen.
Does the existence of a third party site willing to act as a "trusted" medium to facilitate the exchange of in game gold/tokens to other currencies constitute an exchange? I'm having trouble finding a legal definition that validates -OR- invalidates this, but I suspect it does not.
thanks @jesta
If one is not able to run the script (as you say does not have the knowledge) who should we turn to? Is there a way I could have you/someone run it for me in exchange for some SBD?
Just to chip in here, and this not tax advice based on what I could find - In the US, we pay income tax on our Steemit rewards (at the time of redemption into our wallet) and we pay capital gain tax on the difference when we sell STEEM or SBD for BTC or any other coin or fiat (assuming the coin appreciated).
I didn't want to offer to run it for people (in fear that I'd get inundated with requests), but if you'd like I can run it quick for ya. Just let me know which account(s) you need, and no SBD necessary ;)
i am contacting you on steemit chat. I missed your message here, @jesta my apologies
@jesta how can we get in touch now that steemitchat is out?
Steem works! :)
perfect..this is we all need in this tax season.
Good stuff, I'm glad to see you r posting a lot, I didn't realize that // yes, unfortunately I guess we'll have to put on our big boy pants at some point and address taxzus, as dismal as is / yech
congratulations dear friend @jesta for this great work. and antisipandoote to what may arise tomorrow, it is good to be able to have but not a minimum of voucher where the money comes from the compensation that the author receives
I am not understood in the legal things, but I believe that this form can be of great help if in some moment it is required.
Again congratulations for the great work
Have a great day
@jesta, thanks for the foresight of building this tool.
You’re definitely right—the growth in demand in the next few years for this kind of specialized accounting software is going to skyrocket!!
Nice post and really good information for all.so thanks for sharing
This is a great tool, @jesta! I'm definitely going to check it out when I get home tonight, but luckily taxing crypto is pretty easy in Norway, and we only really have to report our holding at December 31, as well as when we convert crypto to fiat, so this tool is not really needed with that regard. Anyway, this is really nice for those of you who need it for your taxes!
What bummer that SteemData.com shut down! I found your utility a little too late.
Yeah I saw that too :(
I'm hoping that one of the other projects I'm working on can act as a potential replacement for projects like this - but the verdicts still out and I'm still testing.
Nice