We take the best base layer import information we can find and then build highest quality tax reporting software on top.
We use the CCXT library for API exchange connections.
CCXT is a library that is used to connect and trade with cryptocurrency exchanges and payment processing services worldwide. It provides quick access to market data for storage, analysis, visualization, indicator development, algorithmic trading, strategy backtesting, bot programming, and related software engineering.
It is intended to be used by coders, developers, technically-skilled traders, data-scientists and financial analysts for building trading algorithms.
CCXT provides API access to more than 300 exchanges and provides the base layer for our work at Blockpit. This is a super fast and convenient way to gain access to real time data for multiple exchanges. Through the CCXT API connections we receive data on balances, trades and transactions. Where CCXT’s awesome work is done, ours starts.
We listen to your exchange connection requests via social media and support requests and we take them to heart. You may have wondered though why it sometimes takes weeks until you see them live.
Well, that’s because there is a truck load of work involved in analyzing, testing and processing the data and we treasure the quality of service we provide to you more than the sign of a golden cross at the horizon after weeks of a sideways cryptomarket.
How does the data import work?
The CCXT library returns data as a unified object. We parse that data to make it compatible with the language used in Blockpit programming. Imagine that process as if you had a string of letters. You know the string holds all the information to write the sentence: „do your own research”, but it is all in one continuous line and in a language you don’t understand. A parser chops and translates the data package for us to use in our software.
Data quality checks
Data needs to be analyzed exchange by exchange. Not all exchanges are created equal and neither is the data they provide. Fees for example are reported differently by various exchanges and have to be considered properly according to the requirements of country specific tax frameworks. It is not always clear if exchanges really use net transaction values, where fees are already excluded. Sadly even some of the major players do not provide accurate API data for third party applications that tax services rely on so heavily. A nasty little stumbling block for the unsuspecting trader who courageously may use unvalidated CCXT data trying to calculate taxable profits.
Testing is the only way to verify the accuracy and that’s what we do extensively.
CCXT does a great job but it cannot do everything.
As one of the many examples, let’s pick the Binance exchange.
From the raw data provided by CCXT, that is lumped as balances, trades and transactions, we detect and categorize the following detailed transaction types:
- balances (spot, margin, futures, binance card, earn)
- spot trades
- dust trades
- asset dividends (lending, staking, launchpad, liquid swap pool)
- futures trades (usd* & coin-m)
- fiat payments trades
- liquid swaps trades
We pick up on and segment these aggregated transaction types and perform plausibility checks to guarantee data integrity. Our sophisticated algorithms detect transaction categories at the source and where possible classify them accordingly even if exchanges report them incorrectly from a tax perspective. A process that requires a considerable amount of work.
Other cryptocurrency tracking services may provide quick solutions for a multitude of exchanges. In fairness, for simple portfolio, apart from profit or loss, the category of an incoming amount is irrelevant for tracking. However for an audited and compliant tax report we like to build our house on a solid base and our data integrity mechanisms ensure that quality.
Simple incoming and outgoing payments are easy to track. More complex DeFi processes like swaps on DeFi protocols are indiscernible on the Blockchain and have to be picked up by our complex algorithms. In contrast to conventional DeFi import solutions that run via Etherscan and the like, the Blockpit DeFi import is based on a specially developed in-house solution. We operate our own archive nodes, structure the data of the Ethereum blockchain (and others), store it in our databases and analyze the DeFi interactions with the help of precise algorithms.
This considerable effort to index the entire Ethereum blockchain benefits every Blockpit crypto tax user since we can interpret transactions reaching as far as swaps and liquidity mining on established blockchains.
The tax framework
The result from data cleansing and data integrity mechanisms, beautifully rinsed and cleaned data, then goes into our audited tax framework.
For your maximum tax certainty our legal team works closely with top notch tax experts to incorporate most up to date regulations and decisions into our framework.
If this wasn’t enough, any new feature and the data import behind it undergo an extensive testing process before it goes live.
Grandma always said: Life is about giving and taking. We like to do our part to make this world a better place and give back to the developer community. An important part of working with CCXT is trying and testing the library. In return for the great service they offer, our developers take care to report back to CCXT any errors we discover through extensive testing and customer feedback. Together we all become better and better.
Your feedback plays an important part in this.
If you think we are awesome, please show us your love and give us a like, share and retweet.
For suggestions and if you need help, please reach out to us via the help center and the community support channels on telegram.
Come and join us if you are a developer and want to become part of a great team.
Programming interfaces are the connections that facilitate data transfer between systems
A golden cross is a technical chart pattern indicating the potential for a major rally. In general, a golden cross means that a shorter moving average crosses a longer moving average from the bottom to the top.
A parser is a program (or a component of a program) that processes an input in the form of a string and converts it into another data structure.
Originally published at https://blog.blockpit.io on October 2, 2021.