Author: Phil, 1Token
This article is 1Token Crypto fund 101 series. According to previous articles, crypto funds are similar to traditional funds in fund structure and basic portfolio classification.
Fund accounting, the measurement of fund performance, applies to crypto funds as well as traditional funds, whether fund is raised from public or private, invested into the primary or secondary market, open-end or closed-end, variable income or fixed yield… Fund accounting work includes maintaining investor shares (transfer agent), maintaining fund balance sheet by evaluating fund assets and liabilities, calculating fund NAV per share (or sometimes just called NAV, namely per-share valuation of the fund) after deducting management fee and performance fee, and reporting to regulators and investors.
NAV per share is critical to funds and investors as the basis for fund subscription and redemption. To verify accuracy (in other words, ensure investors get fair return), 3rd parties like fund admins and auditors conduct trade reconciliation, also named as general ledger accounting reconciliation. By comparing the balance movement (top-down), with the sum of all the transactions history (bottom-up), reconciliation ensures the balance movement is accurately matched by the transactions.
Most jurisdictions require trade reconciliation along with fund accounting. In EU the regulations on financial institutions, writes in RTS 22 Article 15 clause 3: Reconciliation “Investment firms shall have arrangements in place to ensure that their transaction reports are complete and accurate. These arrangements shall include testing of their reporting process and regular reconciliation of their front-office trading records against data samples provided to them by their competent authorities to that effect”
This article introduces the fund accounting and trade reconciliation process of crypto funds, addressing the difference to traditional funds, challenges and introducing solutions for crypto funds, fund admins and auditors.
Fund reporting key stakeholders
In this article, crypto funds are defined as those funds trading cryptocurrencies and derivatives (futures, perpetuals, options, lending, staking, DeFi…) in cryptocurrency secondary markets (e.g., Coinbase, Binance, FTX, Deribit, B2C2, Genesis, Uniswap…). There will be an upcoming separate article that explains the operations of crypto venture capital funds (VC funds) that invest into simple agreements for future tokens (SAFT) in the primary market.
As crypto funds are similar to traditional funds in fund structure (such as feeder-master fund), and investment thesis (e.g., market neutral, long-short, momentum, high frequency, multi-strategy…), there are same professional service providers for fund operations, mainly fund admins and auditors (accounting firms), who are the key stakeholders in fund accounting as well as the fund managers.
However, the decentralized blockchain infrastructure makes crypto assets different from traditional financial assets like stocks and bonds, and face more variety and greater number of asset types/instruments, trading venues and strategies, and more advanced IT requirements on fund accounting and trade reconciliations.
For fund admins and auditors, some pioneers have built capabilities by developing system in-house, or by deploying 3rd party software like 1Token, while more are still using manual spreadsheets to build reports.
Fund NAV (per share) accounting
Similar to traditional hedge funds, crypto funds are usually open-end, that allow liquidity (subscription and redemption) monthly when the fund admin publishes NAV (per share).
Fund accounting or NAV calculation is essentially answering the question: if investor A invested m USD into fund ABC at n months ago at NAV x, and now applies for money back at NAV y. How much should A get?
Fund admin (or custody in some jurisdiction) will calculate each investor’s share in the fund, depending on the NAV per share when they subscribe (purchase) the fund by this formula
NAV per share = NAV (net asset value of fund) / total shares of fund
l NAV = GAV (gross asset value of fund) – management fee – performance fee, which is the asset value that belongs to investors only
· GAV = Fund assets – Fund liabilities,
which is the collective asset value that belongs to fund manager and investors
l Fund assets = coins, securities, cash, account receivables, deferred expenses,
which are all on the debt side of balance sheet (‘DR’)
l Fund liabilities = loans, account payables, fee accruals
· Management fee is a fixed percentage fee annualized 0-2% based on fund GAV
· Performance fee is a percentage fee (fixed or tired) based on fund positive return on high-water-mark (could be 0-50%, with or without hurdle rate)
which are all on the credit side of balance sheet (‘CR’)
l Total shares of fund are the total units subscribed by investors, e.g., 1 million USD subscription at NAV 1.000 would be converted into 1 million shares of the fund, while 1 million USD subscription at NAV 1.250 would be converted to 0.8 million shares of the fund. Total shares of the fund are the collective shares of each single investor.
So back to above question, if investor A invested m thousand USD into fund ABC at n months ago at NAV x, and now want to get his money back at NAV y. How much should A get?
The answer would be
Investor A has gained shares of the fund of m / x (let’s name this s)
A’s total asset before fees is now s * y
A would need to pay management fee of the n month, which is accrued daily on GAV
A would need to pay performance cost for the NAV high water (y – x) on the agreed ratio (In different jurisdictions, management fee can be calculated either after GAV or within GAV, here just to take the simple scenario)
The remaining amount after those process would be A’s final receivables.
A few more words on management fee and performance fee.
Usually, beta funds and yield funds tend to charge management fee, while alpha funds tend to charge performance fee.
In crypto industry, there’s also FoF / MoM that invested into other funds / asset managers, so similar to traditional FoF / MoM that invest into other hedge funds, there can be management fee and performance fee on both the sub-portfolios (pods) and the master fund.
As funds’ income comes from management fee and / or performance, they naturally want to incentivize investors to subscribe and hold longer time. There can be various measures like charging redemption fee for short holding time (e.g., 0-6 months), or rebating part of management fee for long holding time (e.g., over 3 years).
Fund trade reconciliations
Trade reconciliation refers to a set of post-trade activities (typically T+0 or T+1) related to identifying and resolving reconciliation failure (also named as trade breaks), and ultimately verifying the PnL and financial statements.
The process is basically verifying balance movements against transaction tickets. Reconciliation process ensure each trade is verified and validated accurately, hence ensuring right impact on PnL and financial statements.
The formula is
Balance (T1) – Balance (T0) – Net asset transfer (between T0 and T1) = Trading PnL (between T0 and T1) + reconciliation failure
l Balance: balance in spot and equities in derivatives
l Net asset transfer: transfer/ deposit/ withdraw, caused by fund subscription and redemptions
l Trading PnL: calculated from all the trading-related transactions including spot and derivatives trading, futures/ options expiry, exchange fee, funding, interest, rebates, excluding transfer/ deposit/ withdraw.
l Reconciliation failure: should be 0 if the account is correctly reconciled
Correct reconciliation with 0 reconciliation failure should match the PnL in below two ways
Top-down approach is the normal way to calculate PnL, as it’s quick in calculation and easy to understand. The risk is that crypto asset can be transferred instantly via blockchain (e.g., 1 block confirmation of SOL and NEAR takes <1s, AVAX takes 1s, BSC takes 3s), so the accounting system could be misled by duplicate / missing assets that are transferred right at the datafreeze time.
Bottom-up approach is then applied to verify the result from top-down approach. The challenge is that it requires extremely high accuracy, as even one single mistaken record (missing / duplicate / wrong) will mislead the calculated result.
A reconciliation failure can occur for many reasons including but not limited to:
l missing or duplicate transaction records
l mismatched prices or amounts
l incorrect accounts listed
When such failure happens, the fund admin or fund’s middle/back-office need to identify the root cause and update corrected trade records into the systems to resolve the failure.
What’s different in crypto fund accounting and reconciliation
To ensure NAV accuracy and prevent reconciliation data failure, fund managers, fund admins and auditors have accumulated decades of experience in traditional funds. The common approach is to sync and sort all the records into unified format into general ledger (‘GL’) ,or Investment Book of Record (‘IBOR’)
However, the traditional approach has to be adapted to crypto funds. 1Token summarizes the key difference and challenges in below table:
* Source: PwC 4th Annual Global Crypto Hedge Fund Report 2022
Let’s take a real example, how to do fund accounting and trade reconciliation for below multi-strategy fund?
Strategy 1 – CeFi arbitrage
Strategy 1 makes triangular arbitrage (e.g., capture price difference of BTC-USD, ETH-USD and ETH-BTC) among 10 exchanges, on top 10 market cap coins (BNB, XRP, ADA, SOL…)
Exchange accounts of fund participate in spot market maker program on some exchanges that incurs additional maker rebate when maker order filled.
To hedge delta of equity holding, strategy 1 hedges all non-stable coins on coin margined quarterly futures in Binance with 3x leverage, and to protect long tail risk of huge price fluctuations, strategy 1 bought deep out-of-money & long dated options on BTC, ETH and SOL on Deribit, both put and call.
Strategy 2 – DeFi AMM & CeFi hedging
Strategy 2 provides liquidity on DeFi, on Uniswap v3 ETH-USDC LP with ETH and USDC, and on Alpaca finance-Pancakeswap BNB-BUSD LP with BUSD, hedges impermanent loss on Binance BUSD margined perpetual swap, and adjusts positions of LP and Binance hedging manually.
Strategy 3 – DeFi yield
Yield farming on AVAX chain TraderJoe DEX with USDC.
Strategy 3 deposits USDC into TraderJoe lending, and borrows USDC.e.
Then provide liquidity in USDC-USDC.e pool, and stake LP token to farm.
All the rates are changing every second, on each AVAX block there will be USDC interest gained, USDC.e interest paid, USDC and USDC.e LP fee income, and JOE token in unclaimed reward.
Here are the challenges
1. Technical integration to multiple venues via API
Traditional funds have very few accounts with prime brokers and banks, who usually drop daily statement and trade log onto SFTP server in CSV format after daily trading hours, so reconciliation is possible with simple VBA programming based on spreadsheets.
While funds in crypto usually trades on at least 4-5 exchanges on both spot and derivatives, and sizable ones could reach 30 exchanges, on top of banks and custody. Some funds involve DeFi activities from Uniswap V3 or Compound on ETH, to 20-30 DEXes on 5-10 blockchains.
Also, trading in crypto market is 24/7 with real-time continuous settlement, so there can be ambiguity in duplicate or missing records when fetching trade log from exchanges.
2. Cost basis for trades that are not settled via fiat / USD
In traditional securities, all transactions are settled via local fiat (most commonly USD), and all asset movements among venues are through banks that handles only local fiat. E.g. AAPL stock has to be purchased by USD, but not by TSLA stock. And AAPL stock cannot be transferred to another broker.
While in strategy 1, there can be coin-coin trades (e.g., ETH-BTC) which are does not involve USD or stable coins, and all those cryptocurrencies like ETH and BTC can be transferred directly among different venues (other exchanges, or futures wallets), hence necessary to re-evaluate of their cost basis in each account and the strategy collectively.
To calculate the cost basis for each coin, a conversion is necessary to split coinA-coinB trading into virtual coinA-USD and USD-coinB into the general ledger.
Another factor that influences cost basis is corporate actions like stock dividend or bond interest. Although cryptocurrencies themselves does not pay out dividend or interest, there can be potential forks with new coin or airdrops that has similar impact to corporate actions.
3. Different trading rules by different exchanges
Trading rules between exchanges are very close in general idea, but can be very different in implementation.
Moreover, there can be a variety of other actions that might affect asset balance such as giftcards, IEO, airdrop, earn / staking, quick convert, AMM… all of them need to be captured into general ledger (GL) otherwise there will be reconciliation failure between top-down and bottom-up approach.
4. Different derivatives specifications by different exchanges
Top crypto exchanges tend to offer homogeneous instruments, like spot, future/ perpetual, and option:
While the specification details differ from each other
e.g., BTCUSDT linear perpetual swap (Bitcoin perpetual swap settled in USDT)
In Binance, OKX, FTX order size is measured in BTC, while in Kucoin Futures order size is measured in contracts, and 1 contract equals 0.001 BTC
Most perpetual swap exchanges settle funding rates every 8 hours, while FTX is every hour, bit.com is every 10 seconds.
Another example on options.
Options on Deribit are settled in coins (BTC/ ETH/ SOL), while settled in stablecoins (USDT/ USDC) in Binance, OKX, Bybit.
Some exchanges offer unique trading instruments, like leveraged ETF, MOVE contracts (FTX) or repo contracts (CoinFLEX) which has unique ways to be recorded and settled.
Traditional asset prices can be found in the listing venue and long-established 3rd parties like Bloomberg through their symbol.
In crypto market, data providers like CoinMarketCap and Coingecko play similar role to Bloomberg in traditional market, but there’s still gap in accuracy and timeliness.
In crypto market, there can be below complexities which required proper valuation
In crypto market there are many duplicate coin names, try search ‘GOLD’ in CoinMarketCap or Uniswap V3 there will be more than 10 altcoins.
On the other hand, same crypto currencies can be named differently in different venues. For example, Bitcoin is commonly named BTC but named XBT in BitMEX, or USDT is named UST in B2C2 (UST in B2C2 is USDT, not UST on Terra chain!)
l Pricing index
There are over 20 thousand different cryptocurrencies and traded 24/7 in hundreds of exchanges according to CoinMarketCap
Traditional assets have their own unique symbol in each trading venue. Even the same stock listed in different venues will be considered different in symbol (and hence pricing), because securities cannot be transferred between venues.
However cryptocurrencies can be transferred between different venues, so 1 same cryptocurrency in different exchanges is exactly the same in intrinsic value even though prices are different.
In DeFi, there are many special coins that are minted, wrapped or bridged that adds a prefix or suffix in the original coin name.
E.g., USDC.e on AVAX refers to USDC on ETH chain bridged to AVAX chain, so USDC.e has equal intrinsic value to USDC by bridging back to ETH, unless AVAX-ETH bridge gets hacked. Other examples like cDAI (from Compound), cvxCRV (from Convex), ibBNB (from Alpaca Finance) …
Nowadays there’s NFT (Non-fungible token) that can be different in price even in the same series, and the current market liquidity is far from a fair pricing.
l Hybrid instruments across traditional and crypto market
GBTC, Bitcoin Trust issued by Graysacle is a Bitcoin-pegged ETP.
Unlike cryptocurrencies that trades 7/24 hours, when Nasdaq market closes every day and on weekends there’s no public pricing for GBTC, however the intrinsic value of GBTC does vary with the underlying Bitcoin’s price fluctuations. So instead of taking the last price, the better way to calculate fair value, is to combine Bitcoin spot price, and the discount / premium at the last market trade.
l Illiquid coins
Illiquid coins with poor price discovery on the market (large spread, small depth), that may be difficult to value, and need to set haircut for asset valuation, similar to illiquid securities in the traditional market.
Fund admins and auditors can & should do better
Today fund admins and auditors has to deploy huge manual efforts into crypto fund accounting and trade reconciliations, e.g., to collect and verify data, and finally calculate and make reports.
They have to manually maintain a general ledger by
l maintaining master pricing table from various sources
l logging in each sub-account, record balance snapshot and download history
l using a spreadsheet to link all information
Limited by current manual workflow, fund admin offers monthly or bi-weekly report for active funds, which is not a satisfactory service level in the 7*24 hours crypto trading market.
Exceptional cases are some fund admins publish daily NAV (per share), but only for simple passive funds that tracks either single coin (e.g., Bitcoin), or a fixed basket of given coins (e.g., 10 DeFi coins).
Most fund admins do not have the capability to handle trade reconciliation of high-frequency quant trading strategies, because that amount of data exceeds manual limit (100k trades per day / 3 million trades per month).
To improve efficiency on NAV calculation and trade reconciliations, fund admins and auditing firms need to break the limitation from manual process.
1. Understand and implement all the trading rules of hundreds of counterparties in crypto market (CeFi/ DeFi, exchange/ custody/ bank/ OTC…). Make technical integration to all the exchanges API document.
2. Use API to sync and sort all the records into unified format into general ledger, including the flexibility to split coin-coin trades into two trades that are settled by USD, to create realized and unrealized PnL.
3. Further efforts to optimize technical integrations to venues and counterparties, to ensure the data is accurate, complete and timely. That’ll make NAV calculations and trade reconciliations easy.
4. Robust mechanism to ensure live connection to exchanges. On connection failure, automatically re-connect and alert on continuous failures of re-connection.
5. Cover multiple ways to valuations, e.g., taken from CEX, or DEX, or CoinMarketCap. If there’s inconsistency, set cross-verification and sequence of adoption. Also manual haircut, fixed and relative price setting for illiquid, stable or pegged coins.
1Token eliminates 90% manual process for clients doing fund accounting and trade reconciliation
l Fund subscription/ redemption (transfer agent)
l Fund asset valuation and liabilities accrual/ amortization
l Management fee and performance fee calculations
One-station data collection
l Over 50 CeFi counterparties support (exchange/ OTC/ bank/ custody)
l DeFi support on 100+ protocols on 20 chains (both EVM chains and non-EVM chains like Solana)
l Hourly balance, position and market price snapshot
l All transactions automatic synchronization or manual input
Multiple ways of coin price valuation
l Configurable market data index (exchange scope, weight…)
l 3rd party data source integration (e.g. CoinMarketCap)
l Manual setting or mapping with haircut
l Calculate PnL by single transactions
l Verify the formula Balance (T1) – Balance (T0) – Net asset transfer (between T0 and T1) = Total trading transactions (between T0 and T1) + reconciliation failure
l Automatic and manual report generation highlighting mismatches and helps in manual analysis of predefined business rules.
Complex scenarios support
l Full cryptocurrencies, fiat (fx), traditional securities and derivatives support
l Quant trading with high frequency, portfolio margin interest, make rebate support
l DeFi support on 100+ protocols on 10+ chains
l On-premise local deployed system for absolute data privacy
l Direct connection to exchanges without any 3rd party
l Proxy scheme to enable large quantities of accounts (e.g. more than 1,000 exchange accounts possible)
l Login with 3rd party SSO and sync API keys and secrets from AWS Secrets Manager
l Raw data export and loader file generation for traditional accounting and financial statements system (e.g. Geneva, Netsuite…)
l Open API for clients to build own services based on 1Token system
1Token CAM System supports on-premise local deployment for exchange-grade data security, BCP plan, various roles and permissions setup for different departments / user groups. Meanwhile, 1Token CAM provides open API connection and file exporting which can be further tailor made.