Cryptocurrencies Best Practices

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 altcoins are Bitcoin (BTC/XBT), Bitcoin Cash (BCH/XBC), Ethereum (ETH/XET), Ripple (XRP), and Litecoin (LTC/XLC). The most popular stablecoins are USD Coin (USDC/XUC) and Tether (USDT/XDT).

Staking Tokens are Cryptocurrencies dedicated to supporting a blockchain network’s security and operations. For more information, see Staking Tokens Processing Notes.

The market for Cryptocurrencies 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 to accommodate the conventions of trading different coins.

  • Securitization: for coins traded like other investment vehicles such as equities or commodities

    • Track tax lots, calculate unrealized gain/loss, use different lot relief methods, and generate richer performance returns

    • Typically used for altcoins

  • Cash: for coins used for settlements and traded like fiat currencies

    • Typically used for stablecoins

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.

Entity Setup

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

Ensure your Long Price Source (1282) and Short Price Source (5422) reflect your desired pricing sources for Cryptocurrencies using the Securitization Method (altcoins), and FX Source (1344) and Valuation FX Source (11652) for the Cash Method (stablecoins).

Reference Data

Storage & Configuration

Each Cryptocurrency security master file (SMF) is modeled as its own equity security (Securitization Method, altcoins) or cash security (Cash Method, stablecoins). The Cash Method involves adding a new currency to Eagle Accounting, after which the engines be restarted by an administrator 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

Prices/exchange rates are readily available for most major Cryptocurrencies.

  • Securitization Method (altcoins)

    • Prices are used for valuation

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

  • Cash Method (stablecoins)

    • FX rates are used for valuation

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

Cryptocurrency market data is available from a number of vendors:

Security Data

Cryptocurrency SMFs can be set up and maintained in Issue Viewer or Reference Data Center (RDC). The lists below capture all required fields. In V26 R1.2 and above, there are dedicated panels and data strategies for Digital Asset and Cryptocurrency. The former is used for the Securitization Method, while the latter is used for the Cash Method.

Securitization Method (Altcoins)

Use the Digital Asset panel or data strategy in V26 R1.2 and above. Use the Equity/Mutual Fund panel or Common Stock data strategy in earlier releases.

  • Issue Name (961): enter the name of the Cryptocurrency with the ticker of the physical currency appended (or similar), such as Bitcoin USD, Ethereum USD, etc.

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

  • Investment Type (11) = DA (Digital Assets) in V26 R1.2 and above, EQ (Equities) in earlier releases

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

  • Security Type (82) & Sub Security Type (1464): use these fields to identify and group your Cryptocurrency securities to meet your reporting requirements

    • 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): optional in V26 R1.2 and above

    • In earlier releases, we recommend adding a new value to the COUNTRY CODE Code Category that is consistent with existing values, such as short code = XX and long code = For Cryptocurrencies (non-Country)

  • Asset Currency (85): set to the appropriate reference currency, such as USD or GBP

  • 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): defaults it XMULTI (Multiple Exchanges) in V26 R1.2 and above because Cryptocurrencies can be traded on many exchanges

    • In earlier releases, we recommend adding a new value to the IEXCHANGE CODE Code Category with short code = XMULTI and long code = Multiple Exchanges

    • The exchange on which trades are executed, if applicable, can be entered in the trade-level Exchange (17) field

    • You can add the individual exchanges if you need to tie the Cryptocurrency to a particular exchange, but this also requires a separate SMF for each exchange

  • Cryptocurrency (18277): available in V17 R2.28 and above

Cash Method (Stablecoins)

Use the Cryptocurrency panel or data strategy in V26 R1.2 and above. Use the Currency panel or data strategy in earlier releases.

  • Issue Name (961): enter the name of the Cryptocurrency and base currency, such USD Coin, Tether, etc.

  • Ticker (13): enter three-digit Cryptocurrency symbol, such as XUC for USD Coin, XUT for Tether, etc.

  • Primary Asset ID (14): locked and concatenated to CASH + Ticker, such as CASHXUC or CASHXUT

  • 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) & Sub Security Type (1464): use these fields to identify and group your Cryptocurrency securities to meet your reporting requirements

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

    • Sub Security Type is available in V26 R1.2 and above

  • Issue Country (1418): optional in V26 R1.2 and above

  • ISO Currency Number (1442): optional in V26 R1.2 and above

    • In earlier releases, 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 (18277) = Yes

    • Available starting in V26 R1.2 and above

After creating the SMF, follow steps 2 and 3 from Add a New Currency for Eagle Accounting Processing Notes.

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 (Altcoins)

Open

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

  • Units (40): transaction quantity

    • Shares in releases prior to V26 R1.2

  • Price Per Unit (45): transaction price/FX rate

    • Price Per Share in releases prior to V26 R1.2

  • 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): set this to the appropriate physical currency or Cryptocurrency for settlement

  • Settlement Net Amount (64): calculated automatically based on the prevailing FX rate when Settlement Currency = Base Currency (86) of the entity, but can also be entered directly

    • Must be entered directly when Settlement Currency differs from both Asset Currency (85) and Base Currency

  • Exchange (17): if applicable

  • Broker (88): optional in V26 R1.2 and above

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 (Stablecoins)

Open & Close

Right-click the Cryptocurrency cash and select Book Foreign Exchange > Buy Currency - Forward/Spot Contract or Sell Currency - Forward/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 prices/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 and Cryptocurrencies are the only securities held in the fund, you may want to set the STAR 2 PACE entity flag Value At Cost - No Price Found (11454) = Yes. 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

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

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

  • Base market value is used to calculate currency gain/loss

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.

  • From Security: enter an identifier to return the Cryptocurrency SMF

  • Effective Date (1109): enter the date the reward is received

  • Ex Date (65): set equal to Effective Date

  • Treatment of Fractional Shares (3965) = Post Fractional Shares

  • Mandatory/Voluntary Indicator (1734): select Mandatory if all positions are fully staked, or Voluntary if positions are partially staked

  • To Security: enter an identifier to return the same Cryptocurrency SMF as above

  • Subscription Price (1705): enter zero

  • To Ratio (Shares) (1001): enter reward percentage

    • For example, if this is set to 0.03 and your position of 100 coins is fully staked, you will receive 3 additional coins

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 POSITIONPOSITION_DETAILTRADE, 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).

Sample messages for the standard interfaces are listed below. The second row of each CSV message contains the tag names; this is for informational purposes only and should be deleted before the message is loaded.

Transaction Type

CSV Stream

CSV Sample Files

EagleML Stream

EagleML Sample Files

Transaction Type

CSV Stream

CSV Sample Files

EagleML Stream

EagleML Sample Files

SMF Setup

eagle_default_in_csv_smf OR
eagle_default_in_csv_all

eagle_ml-2-0_default_in_xml_smf_generic

Trades

eagle_default_in_csv_trades OR
eagle_default_in_csv_all

eagle_ml-2-0_default_in_xml_acct_trades