Cryptocurrencies Best Practices

Overview

This document applies to all releases of Eagle software. Version-dependent functionality is noted with the initial release(s) it became available.

A Cryptocurrency (Crypto) is a digital currency that use cryptography to prevent counterfeiting and other exploits. They are most commonly based on blockchain technology, which provides a distributed (and in many cases public) ledger for participants and market observers to monitor transactions. Some of the most popular Cryptocurrencies are Bitcoin (XBT/BTC), Bitcoin Cash (XBC/BCH), Ethereum (ETH), Ripple (XRP), and Litecoin (LTC).

The market for Cryptocurrencies (Cryptos) has matured to the point where institutional and other more traditional investors are now involved. The Eagle software suite has flexibility to model Cryptocurrencies in Accounting, Data Management, and Performance, regardless of your preferred coin(s). There are two methods available that serve different business requirements and operational goals.

  • Securitization: set up a security to represent each Cryptocurrency and book trades like an equity

    • This allows you to track tax lots, calculate unrealized gain/loss, use different lot relief methods, and generate richer performance returns

    • The security can be denominated in the Cryptocurrency itself to enable trading the same security master file (SMF) across different settlement/base currencies

      • This is called the Securitization Method Denominated in Cryptocurrency

    • The security can also be denominated in a physical currency, which requires a separate SMF for each settlement/base currency

      • This is called the Securitization Method Denominated in Physical Currency

  • Cash: set up each Cryptocurrency as cash and book trades using contributions/withdrawals and spots/forwards

    • This is called the Cash Method

Please consult with your internal accounting and tax experts to determine the appropriate treatment based on your organization's regulatory responsibilities and reporting requirements. The information provided in this document is intended to explain the functionality available in Eagle Accounting. It should not be interpreted as guidance about the regulatory responsibilities and reporting requirements for your specific organization.

Example reference data screens, trade screens, and reports are attached for the Securitization Method Denominated in Physical Currency and the Cash Method:

Entity Setup

Entities trading Cryptocurrencies do not require any special setup, but pricing and exchange rate sources must be considered.

  • Securitization Method Denominated in Cryptocurrency & Cash Method

    • Ensure your FX Source (1344) and Valuation FX Source (11652) reflect your desired Cryptocurrency exchange rate sources

  • Securitization Method Denominated in Physical Currency

    • Ensure your Long Price Source (1282) and Short Price Source (5422) reflect your desired Cryptocurrency pricing sources, as you will be loading the exchange rates as prices

Reference Data

Storage & Configuration

Each Cryptocurrency security master file (SMF) is modeled as its own equity security (Securitization Method) and/or cash security (Cash Method).

Both methods may involve adding a new currency to Eagle Accounting. The engines must be restarted by an administrator after a new currency is added, as described in this knowledge base article.

Some Cryptocurrencies, such as Ethereum, require greater precision than is currently supported in Eagle. In these cases, rounded values must be used in Eagle. If you need to maintain a record of the full precision for reference and reporting purposes, you can enter the unrounded value in one of the Settle Instructions fields (1897-1900) at trade time because these are character fields. This does not drive any Accounting processing.

Market Data

Exchange rates to various physical currencies are readily available for most major Cryptocurrencies.

  • Securitization Method Denominated in Cryptocurrency & Cash Method

    • The exchange rates must be loaded as FX rates

    • The rates must be loaded to the appropriate source for each currency pair that will be used to trade Cryptocurrencies

      • If you trade Bitcoin in both USD and GBP funds, for example, you must load rates for both XBT->USD and XBT→GBP

      • These rates are used automatically in the calculation of base market value and gain/loss

      • Due to the high prices of bitcoin and the use of "divide by" FX rates in Eagle Accounting, you may see slight rounding differences when comparing valuations between the different methods

    • Each Cryptocurrency's precision is defined when creating the cash security

  • Securitization Method Denominated in Physical Currency

    • The exchange rates must be loaded as prices

    • Precision is controlled by the underlying physical currency, in which case trades must be loaded with the appropriate rounding already applied

Cryptocurrency market data is available from a number of vendors:

Security Data

Cryptocurrency SMFs can be set up and maintained in Issue Viewer, Security Reference Manager (SRM), or Reference Data Center (RDC). The lists below capture all required fields.

Securitization Method

To have the security denominated in the Cryptocurrency itself, and thus allow the same SMF to be traded in different settlement/base currencies, you must first create a cash security as described under Cash Method below. You can skip that step if the security will be denominated in a physical currency, in which case a separate SMF is required for each settlement/base currency.

Cash Security

  • Issue Name (961): enter the name of the Cryptocurrency, such Bitcoin, Ethereum, etc.

  • Ticker (13): enter Cryptocurrency symbol, such as XBT/BTC for Bitcoin, ETH for Ethereum, etc.

  • Primary Asset ID (14): locked and concatenated to CASH + Ticker, such as CASHXBT/CASHBTC or CASHETH

  • Primary Asset ID Type (1432) = CASH

  • Processing Security Type (3931) = CRCRCR (Currency)

  • Price Multiplier (18) = 1.00

  • Quantity Scale (19) = 1.00

  • Security Type (82) = CRNY (Cash)

  • Issue Country (1418)

  • ISO Currency Number (1442): enter a large, unique value such as 9999 because Cryptocurrencies are not official ISO currencies

    • You will receive an error on submission if the value is already in use, in which case you step it up or down one digit

  • Currency Precision (1451): an unofficial list of Cryptocurrency precisions is available on Wikipedia

Cryptocurrency Security

  • Issue Name (961)

    • Securitization Method Denominated in Cryptocurrency: enter the name of the Cryptocurrency with the word Security appended, such as Bitcoin Security, Ethereum Security, etc.

    • Securitization Method Denominated in Physical Currency: enter the name of the Cryptocurrency with the word Security and the ticker of the physical currency appended, such as Bitcoin Security USD, Bitcoin Security EUR, Ethereum Security USD, Ethereum Security EUR, etc.

  • Primary Asset ID (14) & Type (1432)

  • Processing Security Type (3931) = EQCSCS (Common stock)

  • Security Type (82) & Sub Security Type (1464): use these fields to identify your Cryptocurrency securities vs. true equities

    • These fields are driven by the SECURITY TYPE and SUB SEC TYPE Code Categories respectively

  • Price Multiplier (18) = 1.00

  • Quantity Scale (19) = 1.00

  • Issue Country (1418): because Cryptocurrencies are typically not tied to a specific country, we recommend adding a new value to the COUNTRY CODE Code Category that is consistent with existing values

    • For example: short code = XX and long code = For Cryptocurrencies (non-Country)

  • Asset Currency (85): set to the cash security created above to trade the same SMF across multiple settlement/base currencies, or select a physical currency to use separate SMFs for each settlement/base currency

  • Issue Tax Type (668): you can add a new value to the ISSUE TAX TYPE Code Category if your Cryptocurrency trades are subject are subject to tax withholdings and/or reclaims

  • Primary Exchange (17): we recommend using a dummy value such as ALL because the same Cryptocurrencies are traded on multiple exchanges

    • Instead, exchange information can be entered as trade information, such as in the Broker (88) field

Cash Method

Create a cash security as described above under Cash Security.

Trade Processing

Trades are entered using the Book Trade module once the entity and reference data have been configured. Enter the appropriate entity, security identifier, and trade (35)/settle dates (37) and click Submit to query for the security.

Securitization Method

Open

Right-click the Cryptocurrency security and select Open > Buy or ShortSell. The lists below captures all required fields to book a trade.

  • Shares (40): quantity of the Cryptocurrency being purchased

  • Price Per Share (45)

    • Denominated in Cryptocurrency: enter 1.00

    • Denominated in Physical Currency: enter the exchange rate between the Cryptocurrency and physical currency at trade time

  • The following fields are available to capture trade fees and taxes:

    • Commission (47)

    • SEC Fee (48)

    • Tax Amount (46)

    • Stamp Duty Tax (51)

    • Other Fee (3752)

  • Settlement Currency (63): when the SMF is denominated in Cryptocurrency, set this to the appropriate physical currency for settlement

  • Settlement Net Amount (64): this is calculated automatically based on the prevailing FX rate, but can also be entered directly

  • Broker (88)

Close

Right-click the Cryptocurrency security and select Close > Sell or BuytoCover. The lists below captures all required fields to book a trade.

All fields on the close are the same as the open, except Lot Selection Method (27). This defaults to the entity-level election, but can be overridden.

Cash Method

Open & Close

Right-click the Cryptocurrency cash and select Book Foreign Exchange > Buy Currency - Spot Contract or Sell Currency - Spot Contract. The table below capture all required fields to book both a buy and sell of Cryptocurrency.

Field

Buy Cryptocurrency

Sell Cryptocurrency

Field

Buy Cryptocurrency

Sell Cryptocurrency

Sell Currency Symbol (363)

Sale currency symbol

Cryptocurrency symbol

Sell Quantity (366)

Sale currency amount

Cryptocurrency amount

Buy Currency Symbol (313)

Cryptocurrency symbol

Purchase currency symbol

Buy Quantity (316)

Cryptocurrency amount

Purchase currency amount

Broker (88)

 

 

Cancel & Rebook

Faulty Cryptocurrency transactions can be cancelled and rebooked using the Cancel & Rebook Trade module. Alternatively, trades can be cancelled using Cancel Trade, with the transaction rebooked using the Book Trade module.

Accounting

Once a Cryptocurrency trade is booked it will be picked up in Eagle’s global workflow. Accounting valuation is calculated when posting unrealized gain/loss, and Data Management valuation is calculated in the STAR to PACE push. These can be scheduled or triggered manually.

  • Global Processes (V17)

    • Accounting Valuation: Unrealized Gain Loss Entries > Post Daily Fund Unrealized Gain Loss-Position

    • Data Management Valuation: Eagle STAR to Eagle PACE Direct Processing > Transfer Data - Batch

  • Global Process Center (prior to V17)

    • Accounting Valuation: Unrealized Gain Loss Entries > Post Daily Fund Unrealized Gain Loss-Position

    • Data Management Valuation: STAR to PACE Direct Processing > Transfer Data - Batch

Valuation

Cryptocurrencies can be valued using their prevailing FX rates. However, some organizations may not be allowed to report gains on Cryptocurrencies due to their regulatory responsibilities and reporting requirements. Please consult with your internal accounting and tax experts to confirm.

If you cannot recognize gains, you may want to set the STAR 2 PACE entity flag Value At Cost - No Price Found (11454) = Yes if Cryptocurrencies are the only securities held in the fund. This ensures holdings will always be valued in Data Management, even if no market price is available. Please consider the implications carefully if there are other types of securities in the fund, as the flag affects all of an entity's holdings.

  • Note: when running the STAR to PACE process using Transfer Data - Batch or Transfer Data - Delta, Price Date Switch (9981) controls what happens in the case of a missing price, before falling back to Value At Cost - No Price Found

  • The table below shows what happens on dates when there is a missing price in the various combinations of these elections



Value At Cost - No Price Found = No

Value At Cost - No Price Found = Yes



Value At Cost - No Price Found = No

Value At Cost - No Price Found = Yes

Price Date Switch = Actual

Market Value = 0.00

Market Value = Cost

Price Date Switch = Recent

Market Value = Stale if a price exists for any prior date, else 0.00

Market Value = Stale if a price exists for any prior date, else Cost

For the Securitization Method Denominated in Cryptocurrency, the Cryptocurrency security should always be price at 1.00/valued at cost. Base market value will capture the value in the settlement/base currency and gain/loss will be captured as currency gain/loss.

For the Securitization Method Denominated in Physical Currency, the prevailing FX rates must be loaded as prices to the appropriate source for each Cryptocurrency security.

Valuation is calculated using this formula: Market Value = # of Units of Cryptocurrency * Quantity Scale * Price * Price Multiplier

  • Price will be 1.00 if denominated in Cryptocurrency, or the prevailing FX rate if denominated in physical currency

  • Quantity Scale and Price Multiplier should both be set to 1.00

  • Base market value is used to calculate currency gain/loss if the security is denominated in Cryptocurrency

An example is shown in the attached spreadsheet:

Corporate Actions

Cryptocurrencies are subject to several events that are not considered traditional corporate actions, but have very similar end results. These include Staking Rewards, Hard Forks, Soft Forks, and Airdrops, among others. All of these events can be modeled using traditional buy/sell or receive/deliver transactions.

Under the Securitization Method, these events can also be processed as corporate actions in Eagle Accounting. This may be helpful if you need a more structured process that can be applied across funds. Share offers, stock dividends, spinoffs, and exchange offers are all available depending on the exact details of the event. In the example below, we model Staking Rewards using the Share Offer corporate action announcement.

When the corporate action is processed, an additional lot based on the To Ratio (Shares) is added to your Cryptocurrency position with a cost basis of zero.

Reporting

STAR to PACE (S2P)

Almost all reports in Eagle leverage data from the Warehouse, which is populated by the S2P process. This will be scheduled as part of the daily workflow, but can also be triggered manually as described in the Accounting section.

The S2P process creates a single row for each Cryptocurrency in the POSITION, POSITION_DETAIL, TRADE, and CASH_ACTIVITY tables. The MARKET_VALUE_INCOME column captures the total market value, inclusive of price fluctuations and period-to-date accruals payable or receivable. Spot transactions used for the Cash Method are not posted to the TRADE table.

Accounting Reports

Eagle has a core set of accounting reports that can be used to review Cryptocurrency information. These are designed to support the daily operational workflow for business users, allowing Grid Reports to be easily exported to Excel and customized to provide additional details as needed. Advanced Reports are intended to be client-facing and do not provide the same level of customization.

Data Management Reporting

Performance

The performance toolkit has full functionality to calculate market value-based performance for Cryptocurrencies using data supplied by the S2P process. Risk and performance attribution features are available to analyze Cryptocurrency performance.

Automation

Cryptocurrency security master files (SMFs) and trades can be loaded through the standard Message Center streams. The SMF must be loaded prior to the trade (trades do not spawn SMFs). Refer to  for more information.