Steem Rewards History CSV Exporter (via

in #taxes5 years ago

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 These queries can be batched/executed from a command line interface, provided the mongo-shell application is currently installed.

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:


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 and reindexing the database recently to account for some missing data!



Thank you for putting this together, the in/outs in Steemit taxation are an issue I have covered extensively.

Two quick questions

  1. Where is the USD pulling from?
  2. How does the USD field value Steem Dollars?

No problem, I needed the data as well.

  1. The USD value was pulled from the coinmarketcap historical pricing by date.
  2. The USD field actually uses the USD value of SBD for each date, it doesn't pretend they're $1 USD.

There are CSV/JS files for each currency in the historical folder of the project:

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.

  1. 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!

  2. 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:

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 can't provide personal tax advice but for my purposes

I understand, completely.

I'm treating Steem Power as if it is Steem for tax purposes.

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.

I also believe there was a way to exchange the gold for 30 days of game time which has a real world economic value.

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.

With regards to World of Warcraft there are many avenues to convert gold into fiat (however some might violate Terms of Use).

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 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 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.

really helpfull thanks for this information & link dear sir @jesta

This is awesome! Thanks for sharing your work here @jesta! Super helpful.

What you say in this post @jesta I imagine that it is everyone's concern what we do steemit and of course you are seeing now that you are keeping an eye on steemit for what is now being so successful.
Thank you very much for working on something that can help when we have to declare what we earn here.
have a happy night

Thanks for sharing sir...its really indeed helpful.kudos!

New to this platform and found this to be very informative. Thanks

New to this platform
And found this to be very
Informative. Thanks

                 - vesperx

I'm a bot. I detect haiku.

Great tool @jesta! I hope to use it to export a massive list of rewards in the future ;)

steemdata,good contribution, let's use it, I hope it's very useful, thanks

Amazing work. This will be incredibly useful to the entire community.

Now adays market is going down...

I love building tools like this in the shell. Easy to put together and even though it warns it'll take awhile, it's quick all things considered. Awesome work and thanks for sharing!

What are the hardware requirments to become a witness? Do you need a good server or any low spec pc will do?

Currently about 32gb of RAM, a decently fast SSD, and a lot of bandwidth with good uptime.

If you're gunning for a top witness position, you'll also want it to be redundant in a datacenter so you don't end up missing blocks. Once it's your turn, you've got about a second and a half to generate a block and propagate it to the network.

Really?!?! You have obviously not been here long. How is he an attention seeker. He has created so many tool for this platform that his work speaks for itself.

If it's taxes on it.
if it's not problem

Yeah nice comment

Please check my latest post and kindly upvote please I'm new here @everittdmickey

So we don't pay Transfer fee's, and Steemit doesn't (I'm assuming) report payouts/or base anything really on a tax based system.. If we dont declare Steemit/Blockchain earnings are we Evading tax dues, and Can the IRS Track our Earnings on BlockChain or Crypto platforms? Does Steemit Report its activities/Claim or declare its earnings/ and transaction records?
My final question is can we be held accountable for Steemit's Choice to disclose or Not disclose? Does this fall into the category of aiding and abetting or any laws broken, due to our involvement Here, or with any other crypto Currency?

On the topic of the CSV's will the Historical Prices be represented at the rate they were during each Documented Transaction? And how will the government/Tax agents/IRS know whether any of those printouts are Doctored? Without Security measures (Such as Watermarks,etc) And if they find a discrepancy are they able to Contact spokesman on behalf of The crypto reps to inquire whether these are legitimate Records/Obtain copies of our transaction history from someone other than the individual user claiming their Crypto activity when filing taxes?


This is awesome! Thanks for sharing your work here @jesta! Super helpful.

hello @jesta I just want to say that I chose you as one of my witness. Hope you will not get mad by voting as my witness without asking your permission. By the way I am @princessjoyesto.

Thanks I added this to my steemit wiki page:

I think you are a bit ahead of your time, the authorities might be scratching their heads if you presented them with this.

Hey @jesta,

I was wondering if there was an easy way to obtain the STEEM to mVests data in order to build up the "historical" information.

I've figured out how to update the STEEM / SBD to USD values in the "historical" csvs, but I can't seem to find a list / archive of steem to mvests data (and I don't know how to extract this from the blockchain)

This means that reports I pull for "2018" are broken with NaNaNaNan values.

If you can help, that would be fantastic!



Pls upvote my poste

Very interesting post

Please check my latest post and kindly upvote please I'm new here Thanks @jesta

So now that Steem Data is gone, have you considered setting this up to point at a different Node? Perhaps hive?

your post @jesta is very interesting and useful for visitors and readers because the contents are detailed and complete there is no difference with the author of professional articles ... keep working

This type of comment is considered spam. Many of your previous comments have also been identified as spam. The style of commenting your practicing diminishes the overall quality and authenticity of this platform. @steemflagrewards

Coin Marketplace

STEEM 0.17
TRX 0.05
JST 0.022
BTC 16186.96
ETH 1170.70
USDT 1.00
SBD 2.09