A crypto subledger is a critical piece of accounting infrastructure for any company that has crypto on their balance sheet. Whether you’re keeping it simple with the hodl strategy or experimenting with DeFi to earn some yield on your treasury, a well-implemented subledger is your source of truth for on-chain data. Nothing gets an accountant’s blood boiling like hearing the phrase, “We’ve been maintaining our crypto records on a spreadsheet” - it’s technically possible to do this, but the cost basis and impairment calculations quickly become an unpredictable and inaccurate nightmare. Like most things in business, it’s better to opt for a SaaS solution that costs a little extra but reduces the mental overhead and error-proneness of the average human.
Before we dive in, here’s the Hash Basis definition of a crypto subledger: a giant database that houses all of your on-chain transactions and layers accounting functionality on it. It’s the software that translates your token inflows & outflows into USD debits and credits that can be booked to your ERP and used to determine your tax liability. Without this system, your crypto activity would be a cluster of bytes and wallet addresses, just begging to be properly understood.
The subledger market has exploded in recent years, especially during the bear of 2022/2023. New subledgers are popping out of the woodworks and touting their wonders of automated transaction categorizing, customized pricing engines, impairment versus fair market value modules and more. From our view, this type of product is becoming more commoditized and the race for customers and capital is in full swing. Here are a few other crypto subledger market trends to mention:
Consolidation
There’s been several acquisitions in this market, mainly the Taxbit/Tactic, Bitwave/Gilded, and recent Request/Consola acquisitions. This reflects the trend towards consolidation as different subledgers combine their resources to strengthen their edge and reach broader audiences. The Request & Consola acquisition is the most interesting pairing of all of them. Request isn’t a crypto subledger; rather, they are a separate crypto invoicing tool that’s also building communities of web3 finance professionals. Their acquisition of Consola signals their entrance into this market and their shift from being an add-on feature/integration to becoming a main player. They now have the ability to combine accrual & cash basis accounting into one system, which is a powerful feature this space has been lacking.
Enterprise versus Individual
As mentioned above with the Taxbit/Tactic deal, the crypto subledger market as a whole is trending towards catering to the enterprise market. Back in early crypto years, these softwares were used by individual crypto degens that were trying to make sense of their 1040s. However, as more companies adopt crypto (i.e. since there’s more regulatory clarity, accounting guidance and infrastructure), these subledgers are coming to the fore. Without some internal database, companies can’t close their books (which is a big deal for public companies and private startups with investors). Subledgers have picked up on this and are either reducing their individual services or pivoting to enterprise customers exclusively. Enterprises will pay 10x what an individual will and their problem sets are more compelling - they need more advanced functionality like impairment, fair value and rollforward modules (which takes more developer resources).
Data Integration Race
One of the biggest challenges faced by subledgers is the availability of high fidelity blockchain data. It’s a familiar struggle for most crypto accountants: the subledger claims they have an integration with {insert blockchain}, but when you connect the address, the data is gibberish. Subledgers are racing to see who can “plug in” the most data integrations to various blockchains, custodians, exchanges, etc since that’s a distinguishing feature between platforms. But in their race towards broad user appeal, data integrity is often overlooked. Even though crypto accounting should theoretically be able to be automated (especially with AI developments like Devin, Claude and GPT), the consistent data and reporting errors place the accountant in a prime role. Most of the time, we are wrangling bugs instead of doing the actual crypto accounting.
It’s easy to get lost in the marketing of subledgers, so this article will distill the main factors you need to evaluate before selecting your subledger. Switching subledgers is a huge cost in time, money and morale, so it’s best to do some homework up-front before selecting your system of record.1 However, when implemented correctly, subledgers can condense month-end close to a few days and give you crystal clarity into your on-chain activity.
10 Factors to Consider Before Selecting a Subledger
Determine the core accounting & tax features you need (+ reporting)
The first step is figuring out the basic accounting and tax features your company needs to operate and be in compliance. A great example is cost basis methodologies: if you’re following FIFO for the books and LIFO for tax purposes, can your subledger run and store both datasets? For simpler companies, you just need accurate cost basis, realized gain/loss and ending balance reports (the gain/loss numbers will be the same between book & tax). For more complex companies that are strictly adhering to US GAAP, you’ll need detailed rollforward reports, impairment and fair value calculations, significant holding analysis and principal market pricing per asset. The trick here is deciding what bells and whistles are needed versus which ones are supplemental.
Reporting is also a critical area of subledgers. We interact with on-chain data via these reports, so they have to be robust and accurate. My favorite reports are:
Plain vanilla transaction reports that show received cost basis, sent cost basis, realized gain/loss, transaction value in USD, transaction type, internal transfer status, date, memos and impairment (if any)
Balance reports that show ending token quantity, cost basis, and fair market value as of a certain date
Token rollforwards in USD and tokens broken out by type of addition and disposition
Reports that show all cost basis errors in the system (i.e. missing prices and/or missing volume) → if not all the cost basis errors are fixed, the ending cost basis and realized gain/loss will be wrong
Rolled up journal entry reports → these reports give you the debits & credits for all of your transactions, rolled up by category (aka chart of account)
Data integrations and availability of block explorers
Next, I look for the highest overlap between the company’s data sources (i.e. blockchains, exchanges, custodians) and which sources are natively supported by the subledger. The subledgers with the highest overlap should2 reduce the time manually spent extracting and uploading the data. If you operate on several chains, especially tail networks, the likelihood a subledger will support 100% is rare. In that case, for those non-supported chains, ensure there’s a reliable block explorer you can download data from to reconcile. The same goes for non-supported exchanges and custodians. Those vendors should provide data exports that can be uploaded directly.
Flexibility of data manipulation via the UI
If your blockchain data is complex and contains activities like bridging, IBC transfers, mining pools, etc, you will need a high degree of flexibility in manipulating your data. For example, the ability to add manual transactions quickly through the UI or combine internal transfers yourself is an underrated but necessary feature. Not all subledgers contain these features (or you have to contact their support team when you need to combine transactions), which makes the close process cumbersome.
Manual upload capabilities
Along with the above point, the subledger should have an easy manual upload feature. This bridges the gap between the supported chains and all the other activities your company might have. Make sure the upload templates are simple (or at least there’s a sample template for any weird formatting quirks) and can support USD pricing as well. For example, if you need to upload 31 separate deposits representing daily staking rewards at a certain price, be sure you can upload both the token quantities and the exact amount you’d like in USD (manually updating prices in the UI is painful!).
Supported pricing sources
Before signing on to a subledger, ask what their default pricing source is and if there’s flexibility to add different pricing sources per asset. Most subledgers use pricing aggregators like CryptoCompare, Kaiko or Coinmarketcap, but if you’re following US GAAP, you will need principal market pricing (i.e. Coinbase pricing for ETH, Binance US pricing for BTC, etc). If pricing isn’t a big concern for your company, I still recommend asking about pricing waterfalls. An example is:
1st order pricing: CryptoCompare pricing
2nd order pricing (if 1st level isn’t available): CoinGecko
3rd order pricing (if 1st and 2nd level aren’t available): DEX pricing
There will inevitably be errors in your data such as missing prices and missing volumes. Accountants need a way to identify and fix these errors or else the ending cost basis and realized gain/loss values will be incorrect. The subledger should expose these errors via a separate report or in the transactions report.
Customer support ratings
When you choose a subledger, you are also entering into a relationship with that company’s sales, customer support and engineering teams. It takes a village to implement a subledger properly, and you will be interfacing with your solutions manager frequently. The project lead assigned to your implementation team can make or break the experience, so we recommend getting to know the team extensively beforehand (the accountant doing the implementation should be plugged in at all times). There will be a mountain of issues that come up during the implementation, so the speed of getting everything up & running often relies on the subledger’s customer service team.
Data load times and report generation speeds
There’s nothing worse than needing to close the books with a slow subledger. When there’s a minute lag between categorizing each transaction, the process isn’t only arduous - it’s deadly to any accounting team. If your company has a substantial number of wallets and transactions, your subledger needs to be able to effectively handle that load. There’s a few ways to combat this crawl:
Build rollups → this data feature “rolls up” several transactions into one transaction at predefined intervals (i.e. hourly, daily, monthly). This saves on data space but extra validation is needed to make sure the data was rolled up correctly.
Use rules to auto-categorize transactions → subledgers should have an iron-clad rules system that lets you categorize transactions automatically (i.e. if there’s a deposit of X ATOM tokens to X wallet under this X USD threshold, categorize as LP income). This way, you don’t have to manually categorize everything, just the transactions that don’t have a rule applied.
Don’t wait until month-end to do all of your crypto accounting. As with “normal” accounting, crypto accounting should be maintained on a daily or weekly basis. This prevents the month-end close “freak out” that plagues most entities.
The same tips apply for reporting as well. If it’s taking your subledger 1+ hours to generate a simple report, there’s something awry with the data architecture.
Another note on data architecture - be sure to ask what the subledger’s data refreshing and locking policies are. I’ve encountered historical data “changing” since the subledger upgraded a piece of their software. This is a big issue, especially when you’ve already gone through an audit on that data. The subledger needs to have an air-tight “locking mechanism” so that historicals don’t change unless directed.
Spam filtering
Dealing with spam tokens is the bane of crypto accountants' existence! Blockchains like Polygon and Solana are notorious for having reams of spam tokens to clog up your subledger UI and reporting.3 Great subledgers have effective spam filtering mechanisms so you don’t have to delete/ignore each spam token in the UI. Instead, you can write spam rules on a universal level (i.e. mark a certain token as spam or not), which sets the rule for the entire dataset.
Pricing
Last but not least - pricing! I’ve observed that pricing for subledgers varies wildly, and the final price comes down to negotiation and how many “bells & whistles” are selected. Competition for customers is fierce, so it feels like a buyers market right now. Pricing falls in the following buckets:
Flat monthly or quarterly subscription fee (subledger-as-a-service)
Monthly fee based on volume and/or # of data sources
Custom fee for bespoke integrations (i.e. the subledger is building out a new data syncer or feature specifically for one customer - this tends to be the highest price)
As you can see, there’s several factors to consider before committing to a subledger - and we didn’t even mention the importance of ERP syncing, audit logs, role-based access, and more! It’s a can of worms, but I’ll give you the same advice I give people about relationships: you’ll never find a person (or subledger) that checks 100% of the boxes. It’s about compromise and figuring out what your deal-breakers are.
Some of these dimensions won’t apply to your situation (i.e. if you’re simply receiving payments in stablecoins and bridging to Circle, then manual uploads might be irrelevant), but for more complicated customers, all ten factors should all be considered. Each subledger has their strengths and weaknesses and certain verticals they operate well in. If you have any questions or would like a detailed subledger assessment, feel free to reach out to us at hashbasis.xyz. Happy subledger shopping!
[1] If your company has the resources, it’s worth exploring building a custom in-house crypto subledger. This is the more expensive and time-intensive route, but if you need ultra-accurate and timely data, it will likely suit your needs better than a third party vendor.
[2] We recommend getting a trial period with the subledger to ensure their data syncers work as promised. Data syncers can be unreliable, so accountants may spend more time reconciling “synced” data than just pulling it manually.
[3] I swear, if I see another $VISITUSDCREWARDS.COM token, I will be️ 🤦🏻♀️
A crypto subledger is a critical piece of accounting infrastructure for any company that has crypto on their balance sheet. Whether you’re keeping it simple with the hodl strategy or experimenting with DeFi to earn some yield on your treasury, a well-implemented subledger is your source of truth for on-chain data. Nothing gets an accountant’s blood boiling like hearing the phrase, “We’ve been maintaining our crypto records on a spreadsheet” - it’s technically possible to do this, but the cost basis and impairment calculations quickly become an unpredictable and inaccurate nightmare. Like most things in business, it’s better to opt for a SaaS solution that costs a little extra but reduces the mental overhead and error-proneness of the average human.
Before we dive in, here’s the Hash Basis definition of a crypto subledger: a giant database that houses all of your on-chain transactions and layers accounting functionality on it. It’s the software that translates your token inflows & outflows into USD debits and credits that can be booked to your ERP and used to determine your tax liability. Without this system, your crypto activity would be a cluster of bytes and wallet addresses, just begging to be properly understood.
The subledger market has exploded in recent years, especially during the bear of 2022/2023. New subledgers are popping out of the woodworks and touting their wonders of automated transaction categorizing, customized pricing engines, impairment versus fair market value modules and more. From our view, this type of product is becoming more commoditized and the race for customers and capital is in full swing. Here are a few other crypto subledger market trends to mention:
Consolidation
There’s been several acquisitions in this market, mainly the Taxbit/Tactic, Bitwave/Gilded, and recent Request/Consola acquisitions. This reflects the trend towards consolidation as different subledgers combine their resources to strengthen their edge and reach broader audiences. The Request & Consola acquisition is the most interesting pairing of all of them. Request isn’t a crypto subledger; rather, they are a separate crypto invoicing tool that’s also building communities of web3 finance professionals. Their acquisition of Consola signals their entrance into this market and their shift from being an add-on feature/integration to becoming a main player. They now have the ability to combine accrual & cash basis accounting into one system, which is a powerful feature this space has been lacking.
Enterprise versus Individual
As mentioned above with the Taxbit/Tactic deal, the crypto subledger market as a whole is trending towards catering to the enterprise market. Back in early crypto years, these softwares were used by individual crypto degens that were trying to make sense of their 1040s. However, as more companies adopt crypto (i.e. since there’s more regulatory clarity, accounting guidance and infrastructure), these subledgers are coming to the fore. Without some internal database, companies can’t close their books (which is a big deal for public companies and private startups with investors). Subledgers have picked up on this and are either reducing their individual services or pivoting to enterprise customers exclusively. Enterprises will pay 10x what an individual will and their problem sets are more compelling - they need more advanced functionality like impairment, fair value and rollforward modules (which takes more developer resources).
Data Integration Race
One of the biggest challenges faced by subledgers is the availability of high fidelity blockchain data. It’s a familiar struggle for most crypto accountants: the subledger claims they have an integration with {insert blockchain}, but when you connect the address, the data is gibberish. Subledgers are racing to see who can “plug in” the most data integrations to various blockchains, custodians, exchanges, etc since that’s a distinguishing feature between platforms. But in their race towards broad user appeal, data integrity is often overlooked. Even though crypto accounting should theoretically be able to be automated (especially with AI developments like Devin, Claude and GPT), the consistent data and reporting errors place the accountant in a prime role. Most of the time, we are wrangling bugs instead of doing the actual crypto accounting.
It’s easy to get lost in the marketing of subledgers, so this article will distill the main factors you need to evaluate before selecting your subledger. Switching subledgers is a huge cost in time, money and morale, so it’s best to do some homework up-front before selecting your system of record.1 However, when implemented correctly, subledgers can condense month-end close to a few days and give you crystal clarity into your on-chain activity.
10 Factors to Consider Before Selecting a Subledger
Determine the core accounting & tax features you need (+ reporting)
The first step is figuring out the basic accounting and tax features your company needs to operate and be in compliance. A great example is cost basis methodologies: if you’re following FIFO for the books and LIFO for tax purposes, can your subledger run and store both datasets? For simpler companies, you just need accurate cost basis, realized gain/loss and ending balance reports (the gain/loss numbers will be the same between book & tax). For more complex companies that are strictly adhering to US GAAP, you’ll need detailed rollforward reports, impairment and fair value calculations, significant holding analysis and principal market pricing per asset. The trick here is deciding what bells and whistles are needed versus which ones are supplemental.
Reporting is also a critical area of subledgers. We interact with on-chain data via these reports, so they have to be robust and accurate. My favorite reports are:
Plain vanilla transaction reports that show received cost basis, sent cost basis, realized gain/loss, transaction value in USD, transaction type, internal transfer status, date, memos and impairment (if any)
Balance reports that show ending token quantity, cost basis, and fair market value as of a certain date
Token rollforwards in USD and tokens broken out by type of addition and disposition
Reports that show all cost basis errors in the system (i.e. missing prices and/or missing volume) → if not all the cost basis errors are fixed, the ending cost basis and realized gain/loss will be wrong
Rolled up journal entry reports → these reports give you the debits & credits for all of your transactions, rolled up by category (aka chart of account)
Data integrations and availability of block explorers
Next, I look for the highest overlap between the company’s data sources (i.e. blockchains, exchanges, custodians) and which sources are natively supported by the subledger. The subledgers with the highest overlap should2 reduce the time manually spent extracting and uploading the data. If you operate on several chains, especially tail networks, the likelihood a subledger will support 100% is rare. In that case, for those non-supported chains, ensure there’s a reliable block explorer you can download data from to reconcile. The same goes for non-supported exchanges and custodians. Those vendors should provide data exports that can be uploaded directly.
Flexibility of data manipulation via the UI
If your blockchain data is complex and contains activities like bridging, IBC transfers, mining pools, etc, you will need a high degree of flexibility in manipulating your data. For example, the ability to add manual transactions quickly through the UI or combine internal transfers yourself is an underrated but necessary feature. Not all subledgers contain these features (or you have to contact their support team when you need to combine transactions), which makes the close process cumbersome.
Manual upload capabilities
Along with the above point, the subledger should have an easy manual upload feature. This bridges the gap between the supported chains and all the other activities your company might have. Make sure the upload templates are simple (or at least there’s a sample template for any weird formatting quirks) and can support USD pricing as well. For example, if you need to upload 31 separate deposits representing daily staking rewards at a certain price, be sure you can upload both the token quantities and the exact amount you’d like in USD (manually updating prices in the UI is painful!).
Supported pricing sources
Before signing on to a subledger, ask what their default pricing source is and if there’s flexibility to add different pricing sources per asset. Most subledgers use pricing aggregators like CryptoCompare, Kaiko or Coinmarketcap, but if you’re following US GAAP, you will need principal market pricing (i.e. Coinbase pricing for ETH, Binance US pricing for BTC, etc). If pricing isn’t a big concern for your company, I still recommend asking about pricing waterfalls. An example is:
1st order pricing: CryptoCompare pricing
2nd order pricing (if 1st level isn’t available): CoinGecko
3rd order pricing (if 1st and 2nd level aren’t available): DEX pricing
There will inevitably be errors in your data such as missing prices and missing volumes. Accountants need a way to identify and fix these errors or else the ending cost basis and realized gain/loss values will be incorrect. The subledger should expose these errors via a separate report or in the transactions report.
Customer support ratings
When you choose a subledger, you are also entering into a relationship with that company’s sales, customer support and engineering teams. It takes a village to implement a subledger properly, and you will be interfacing with your solutions manager frequently. The project lead assigned to your implementation team can make or break the experience, so we recommend getting to know the team extensively beforehand (the accountant doing the implementation should be plugged in at all times). There will be a mountain of issues that come up during the implementation, so the speed of getting everything up & running often relies on the subledger’s customer service team.
Data load times and report generation speeds
There’s nothing worse than needing to close the books with a slow subledger. When there’s a minute lag between categorizing each transaction, the process isn’t only arduous - it’s deadly to any accounting team. If your company has a substantial number of wallets and transactions, your subledger needs to be able to effectively handle that load. There’s a few ways to combat this crawl:
Build rollups → this data feature “rolls up” several transactions into one transaction at predefined intervals (i.e. hourly, daily, monthly). This saves on data space but extra validation is needed to make sure the data was rolled up correctly.
Use rules to auto-categorize transactions → subledgers should have an iron-clad rules system that lets you categorize transactions automatically (i.e. if there’s a deposit of X ATOM tokens to X wallet under this X USD threshold, categorize as LP income). This way, you don’t have to manually categorize everything, just the transactions that don’t have a rule applied.
Don’t wait until month-end to do all of your crypto accounting. As with “normal” accounting, crypto accounting should be maintained on a daily or weekly basis. This prevents the month-end close “freak out” that plagues most entities.
The same tips apply for reporting as well. If it’s taking your subledger 1+ hours to generate a simple report, there’s something awry with the data architecture.
Another note on data architecture - be sure to ask what the subledger’s data refreshing and locking policies are. I’ve encountered historical data “changing” since the subledger upgraded a piece of their software. This is a big issue, especially when you’ve already gone through an audit on that data. The subledger needs to have an air-tight “locking mechanism” so that historicals don’t change unless directed.
Spam filtering
Dealing with spam tokens is the bane of crypto accountants' existence! Blockchains like Polygon and Solana are notorious for having reams of spam tokens to clog up your subledger UI and reporting.3 Great subledgers have effective spam filtering mechanisms so you don’t have to delete/ignore each spam token in the UI. Instead, you can write spam rules on a universal level (i.e. mark a certain token as spam or not), which sets the rule for the entire dataset.
Pricing
Last but not least - pricing! I’ve observed that pricing for subledgers varies wildly, and the final price comes down to negotiation and how many “bells & whistles” are selected. Competition for customers is fierce, so it feels like a buyers market right now. Pricing falls in the following buckets:
Flat monthly or quarterly subscription fee (subledger-as-a-service)
Monthly fee based on volume and/or # of data sources
Custom fee for bespoke integrations (i.e. the subledger is building out a new data syncer or feature specifically for one customer - this tends to be the highest price)
As you can see, there’s several factors to consider before committing to a subledger - and we didn’t even mention the importance of ERP syncing, audit logs, role-based access, and more! It’s a can of worms, but I’ll give you the same advice I give people about relationships: you’ll never find a person (or subledger) that checks 100% of the boxes. It’s about compromise and figuring out what your deal-breakers are.
Some of these dimensions won’t apply to your situation (i.e. if you’re simply receiving payments in stablecoins and bridging to Circle, then manual uploads might be irrelevant), but for more complicated customers, all ten factors should all be considered. Each subledger has their strengths and weaknesses and certain verticals they operate well in. If you have any questions or would like a detailed subledger assessment, feel free to reach out to us at hashbasis.xyz. Happy subledger shopping!
[1] If your company has the resources, it’s worth exploring building a custom in-house crypto subledger. This is the more expensive and time-intensive route, but if you need ultra-accurate and timely data, it will likely suit your needs better than a third party vendor.
[2] We recommend getting a trial period with the subledger to ensure their data syncers work as promised. Data syncers can be unreliable, so accountants may spend more time reconciling “synced” data than just pulling it manually.
[3] I swear, if I see another $VISITUSDCREWARDS.COM token, I will be️ 🤦🏻♀️