There are several tools like CoinTracker, Accointing, or Koinly to track tax-relevant information for Crypto transactions.
But in my experience, you will always need help with these tools and exceptional cases or exotic contracts. Or even with unsupported chains and so force. These may lead to inappropriate transaction tracking or differences in balances in your wallets and the tax tools.
So, I started to build this project as a helper to compare the tax tool-reported transactions with the real world.
Atm Accointing is supported, and you need a Moralis account. Besides, you must do several manual steps to use this app.
There are a few manual steps that have to be done. This will be changed in the future.
- Fill the
wallet.csv
in the public folder with all the wallets you want to compare. - Export all transactions from your
accointing.csv
or export from all other tax tools and transform these into the accointing format. - Now, we need all transactions for your wallets. Unfortunately, this is a manual process for each chain and wallet (it will be changed to automatic download once wallets can be configured in the app). Create a folder for each wallet named by the wallet address. Now, download this wallet's
transactions
andinternal_transactions
from the chain-based scanner (like Etherscan). The files should have this name pattern{walletAddress}/{chain}_transactions.csv
and{walletAddress}/{chain}_internalTransactions.csv
. - Prepare the environment:
Copy cp _env_example .env
and replace the content with your configuration where
NEXT_PUBLIC_CHAIN_HISTORY_CSV
: Pattern for wallet transactionsNEXT_PUBLIC_CHAIN_HISTORY_INTERNAL_CSV
: Pattern for wallet internal transactionsNEXT_PUBLIC_BLOCKPIT_CSV_FOLDER
: Folder containing all blockpit export filesNEXT_PUBLIC_WALLETS_CSV
: All your wallet configurations
First, install dependencies and run the development server:
npm install
npm run dev
Open http://localhost:3000 with your browser to see the result.
Now you start comparing the transactions and see miss matches.
- Add wallet management UI to avoid
wallet.csv
usage. - Automatic import of all transactions from the chain (avoid manual export from scanner).
- Create own tax format or provide transformation processes for other tax tools than BlockPit.
- Stop using csv as database.
- Add guides on how to use the tool.
- Add graphs to visualize the token balance progress over time.