eprbell / rp2

Privacy-focused, free, open-source cryptocurrency tax calculator for multiple countries: it handles multiple coins/exchanges and computes long/short-term capital gains, cost bases, in/out lot relationships/fractioning, and account balances. It supports FIFO, LIFO, HIFO and it outputs in form 8949 format. It has a programmable plugin architecture
https://pypi.org/project/rp2/
Apache License 2.0
256 stars 42 forks source link

I can def help #95

Closed d0ughnutz closed 10 months ago

d0ughnutz commented 1 year ago

Howdy. Great work here. I am an ex-crypto tax software dude (worked at a few companies but was laid off from the most recent a few months ago) and been working in parallel to you. I just came across your page and would love to contribute where I am able.

I have been building a tool to test all the current crypto tax software - TaxBit, CoinTracker, Koinly, etc. An overview of the tool:

Python:

  1. Get transactions - get all wallet data for EVM chains supported by the Etherscan family APIs (I have also done the same using Covalent) and combine data from each of the 5 APIs by transaction hash
  2. Structure data - for each transaction hash, list out each token transfer and direction (in or out of wallet), assign a simple label (Transfer In / Out, Trade, Fee Only), what types of tokens were involved (Crypto only, NFT only, Crypto & NFTs), and if the transaction is taxable
  3. Export into an Excel workbook

Excel:

  1. Summary - create a wallet and transaction summary (IE total # transactions and of each type, blend of transaction types, wallet age, etc.)
  2. Crypto tax software testing - after generating a CSV export for each software, test vs. the expected value and identify issues (IE missing transaction, incorrect transaction type / taxable status, inaccurate data)

I published where I was at a few weeks ago (link below), but have been continuing to work on the Excel sheet to automate the testing of each crypto tax software. My next steps were going to be to pull in Coingecko pricing data and write a FIFO engine and is how I arrived here.

EVM Wallet Address ANALYZ00R

I expect there are things I can help with here (a big part of it could be to put some numbers behind the inaccuracies of current software to justify this effort) and have deep experience with blockchain transactions for the leading chains (ETH, AVAX, SOL, ARB, MATIX, etc.) and some other smaller ones, so lmk if you want to connect and see if we can work together to take this further.

eprbell commented 1 year ago

Hi and thanks for the message and for offering to help! Here are some thoughts. Perhaps you could use your experience to write a data loader plugin that imports data straight from the various blockchains (BTC, ETH, SOL, etc.). Alternatively there are several open issues both in RP2 and in DaLI: take a look and see if anything interests you. Or if you have other ideas, feel free to propose them.

eprbell commented 10 months ago

Closing this, since it's more of a discussion than an issue.