Category: XML Templates Last Updated: 2026-02-12 Applies To: EU DAC8 / OECD CARF XML Schema

---

Overview

Stablecoins -- crypto-assets designed to maintain a stable value relative to a fiat currency or other reference asset -- are fully within the scope of DAC8/CARF reporting. Despite their price stability, stablecoins are treated as crypto-assets under the framework and are subject to the same reporting requirements as Bitcoin, Ethereum, or any other token.

This article covers the specific considerations for reporting stablecoin transactions, including valuation, common stablecoin types, and practical implementation details.

Are Stablecoins In Scope?

Yes. The OECD CARF framework defines "Relevant Crypto-Asset" broadly to include digital representations of value that rely on cryptographically secured distributed ledger technology. Stablecoins meet this definition regardless of their peg mechanism. This includes:

  • Fiat-backed stablecoins: USDT (Tether), USDC (USD Coin), BUSD, EUROC
  • Algorithmic stablecoins: DAI and similar
  • Commodity-backed stablecoins: PAXG (Pax Gold) and similar

> Note: Some central bank digital currencies (CBDCs) may be excluded from the CARF definition, depending on the jurisdiction's implementation. Stablecoins issued by private entities are generally in scope. Check the specific exclusions in your jurisdiction's DAC8 transposition.

Valuation of Stablecoin Transactions

The 1:1 Assumption Trap

While USDT and USDC are designed to maintain a 1:1 peg to USD, their actual market price can deviate. For DAC8 reporting purposes, you should use the actual market price at the time of the transaction, not a fixed 1:1 ratio.

In practice, the deviation is usually negligible for well-established stablecoins (often less than 0.1%), but during periods of market stress, depegging events have occurred. Examples include USDC temporarily trading at $0.87 during the March 2023 Silicon Valley Bank incident.

Recommended approach:

  • Use your platform's actual execution price for the stablecoin transaction
  • If reporting aggregate values, use the market price at execution time for each transaction
  • If the deviation from peg is consistently under 0.5%, using a 1:1 approximation may be reasonable for operational simplicity -- but document this decision and be prepared to justify it

Currency Conversion for USD Stablecoins

Most stablecoins are pegged to USD. If your reporting currency is EUR, you must convert:

User sells 10,000 USDT for 0.35 BTC on 2025-05-20
USDT market value: ~1.00 USD per USDT
EUR/USD rate on 2025-05-20: 1.08

Value in EUR = 10,000 * 1.00 / 1.08 = 9,259.26 EUR

For EUR-pegged stablecoins like EUROC, the conversion is straightforward if your reporting currency is EUR.

XML Encoding for Stablecoin Transactions

Stablecoin-to-Fiat Exchange

<TransactionSummary>
  <TransactionType>EXCHANGE_FIAT</TransactionType>
  <NumberOfTransactions>15</NumberOfTransactions>
  <AggregateGrossProceeds currCode="EUR">22500.00</AggregateGrossProceeds>
  <CryptoAssetDetails>
    <AssetCode>USDT</AssetCode>
    <TotalUnits>24300.00000000</TotalUnits>
  </CryptoAssetDetails>
</TransactionSummary>

Stablecoin-to-Crypto Exchange

A swap from USDT to BTC is a crypto-to-crypto exchange:

<TransactionSummary>
  <TransactionType>EXCHANGE_CRYPTO</TransactionType>
  <NumberOfTransactions>8</NumberOfTransactions>
  <AggregateGrossProceeds currCode="EUR">14800.00</AggregateGrossProceeds>
  <CryptoAssetDetails>
    <AssetCode>USDT</AssetCode>
    <TotalUnits>16000.00000000</TotalUnits>
  </CryptoAssetDetails>
</TransactionSummary>

Stablecoin Transfers

Withdrawals of stablecoins to external wallets are reported as transfers:

<TransactionSummary>
  <TransactionType>TRANSFER</TransactionType>
  <NumberOfTransactions>4</NumberOfTransactions>
  <AggregateTransferValue currCode="EUR">4629.63</AggregateTransferValue>
  <CryptoAssetDetails>
    <AssetCode>USDC</AssetCode>
    <TotalUnits>5000.00000000</TotalUnits>
  </CryptoAssetDetails>
</TransactionSummary>

Asset Code Considerations

When reporting stablecoins, use the commonly recognised ticker symbol:

StablecoinTypical Asset Code
TetherUSDT
USD CoinUSDC
Binance USDBUSD
DAIDAI
Euro CoinEUROC
TrueUSDTUSD
Pax DollarUSDP

> Caution: The OECD CARF schema may define a specific asset classification system or code list. If an official code list is published, use those codes. If not, use the widely recognised ticker symbols and be consistent.

Multi-Chain Stablecoins

Many stablecoins exist on multiple blockchains (e.g., USDT on Ethereum, Tron, Solana, etc.). For DAC8 reporting purposes, the blockchain on which the stablecoin resides is generally not relevant -- what matters is the crypto-asset itself. Report all USDT transactions together regardless of which chain they occurred on.

However, if the schema includes a field for identifying the blockchain or network, populate it accordingly. This is more likely to be relevant for transfer reporting where the destination address format may indicate the chain.

High-Volume Stablecoin Considerations

Stablecoin transactions tend to be high volume on crypto platforms. Users may conduct dozens or hundreds of stablecoin trades per year. This means:

  • Aggregation is critical. Efficient SQL queries and data processing are needed to handle the volume.
  • Precision matters. With large volumes of stablecoin transactions, small rounding differences per transaction can accumulate. Apply consistent rounding rules.
  • Currency conversion adds up. With hundreds of USD-denominated stablecoin transactions, each requiring EUR conversion, use a reliable and auditable FX rate source.

Example: High-Volume Aggregation

SELECT
    t.user_id,
    t.stablecoin_asset AS asset_code,
    COUNT(*) AS num_transactions,
    ROUND(SUM(t.quantity * t.price_usd / fx.eur_rate), 2) AS agg_value_eur,
    SUM(t.quantity) AS total_units
FROM stablecoin_trades t
JOIN fx_daily_rates fx
    ON fx.rate_date = DATE(t.executed_at)
    AND fx.currency = 'USD'
WHERE t.status = 'COMPLETED'
  AND t.executed_at >= '2026-01-01'
  AND t.executed_at < '2027-01-01'
GROUP BY t.user_id, t.stablecoin_asset;

Specific Considerations by Stablecoin Type

USDT (Tether)

The most widely traded stablecoin. Despite occasional concerns about reserves, for reporting purposes treat it as a standard crypto-asset. Use the actual market price, not a fixed $1.00 value.

USDC (USD Coin)

Generally considered more transparent regarding reserves. Valuation approach is the same as USDT.

DAI

An algorithmic/collateralised stablecoin that floats around $1.00 but can deviate more than fiat-backed stablecoins. Using actual market prices is especially important for DAI.

EUROC and EUR-Pegged Stablecoins

If your reporting currency is EUR, EUR-pegged stablecoins simplify the conversion. However, still use the actual market price rather than assuming a perfect 1:1 peg.

Key Takeaways

  • Stablecoins are fully in scope for DAC8/CARF reporting
  • Use actual market prices, not assumed peg values, for valuation
  • Convert to reporting currency using the rate at transaction time
  • Report stablecoins with their standard asset codes
  • Apply the same aggregation and encoding rules as for any other crypto-asset
  • High transaction volumes require efficient data processing and consistent rounding

Need help with DAC8 reporting?

Our team handles XML generation, TIN validation, and submission for CASPs across all 27 EU Member States.

Get Expert Help