Updated: Oct 20, 2021
First question on everyone's mind is probably "do I need to report my cryptocurrency gains on my taxes?" Some people believe it's only reportable if the transaction is selling crypto into US dollars (My regular tax guy actually told me this). I went to a crypto specialist tax lawyer and asked him the same questions. So actually, any transaction, crypto to crypto or crypto to USD is taxable. For example if you sell ATOM for USDT or BTC to ETH, you will have to report that as a sale of cryptocurrency and document whatever capital gains or losses you incurred with that transaction. Capital gains either long term or short term are paid at the same rates you would with stocks (25% for long term gains, and your top tax bracket for short term gains). I would definitely report your crypto on your taxes because the IRS can always audit you and get you with big penalties. This is why all the centralized exchanges require KYC (Know Your Customer/Client) information now, basically to confirm your true identity so you can not evade taxes.
2021 Tax Brackets:
What about my staking rewards, mining rewards, airdrops, liquidity pool rewards?
From talking to my tax lawyer, these seem to be treated the same as income, therefore they will be taxed like income with a cost basis of ZERO. If you mainly only buy or sell crypto on big exchanges like Binance or Coinbase, you are probably ok to do the taxes on your own with one of the many Crypto tax software online or Turbotax. But if you use a lot of smaller exchanges or decentralized exchanges they usually don't have good documentation on your transactions. Hiring a good Crypto tax accountant/lawyer will make this much easier for you, they can use blockchain explorers to find every transaction you have made on the blockchain using your wallet addresses, and figure out all your gains and losses. Documenting your transactions on your own would be great too if you are doing your own taxes.
IRS has publish an FAQ regarding taxation on virtual currencies: Here
Wash trade rules regarding cryptocurrencies: Currently there is not wash trade rule like there is in stock trading. You can make a trade from one crypto to any other crypto and buy it back within 30 days and still you can count that transaction as a capital loss on your taxes. This can be used to your advantage in reducing your taxes.