Stablecoin Statements / year end balance
PlannedA year-end balance needs a precise cutoff.
A year-end stablecoin balance is a snapshot at a defined point in time, supported by the movements and observations that explain it. “Balance on 31 December” is incomplete until you specify the year, timezone, wallet, network and token deployment. A technical snapshot helps organise evidence for a tax return or balance-sheet review. It does not decide the legal classification or replace the adviser’s assessment of ownership, valuation and reporting obligations.
Define what midnight means
A calendar date is not a block number. Define the end of the reporting day in the chosen timezone, convert that instant into UTC, and select the last eligible block according to a documented boundary rule. Use an exclusive next-day boundary so that a transaction exactly at the start of January is not counted in both years.
For a Swiss calendar-year example, the midnight boundary uses Europe/Zurich. The January sample demonstrates the same convention: local midnight becomes a UTC timestamp on the previous calendar date during winter time. Production code must calculate timezone offsets rather than hard-code them for every date. Store the timestamp, chosen block and selection rule so a later reviewer can reproduce the cutoff.
Identify the holding before retrieving a number
Record the full wallet address, chain identifier, token contract and decimals. A balance for USDC on Ethereum is not a balance for an identically named asset on a different chain. A bridged or custodian-issued representation needs its own identity and risk context. Never add token quantities solely because their display symbols match.
If the client uses an exchange or payment processor, collect the relevant account statement as well. A public on-chain address can show network custody without establishing the client’s exact claim on that custodian. Keep those scopes separate until ownership and entitlements have been established through the appropriate documents. An on-chain snapshot is valuable evidence, but it is not a substitute for every account relationship.
Read state at the cutoff, then explain it
A historical balance should come from the selected token contract at the cutoff block. To explain the period, compare an opening observation with included incoming and outgoing movements and the closing state observation. All components must refer to the same wallet and asset. A live balance read after the year end is not interchangeable with the historical state.
If there are no supported movements, report that no activity was found in the checked interval; do not automatically report an empty wallet. A wallet can retain its opening balance throughout a year. If historical state or event coverage is unavailable, the result should remain unknown or incomplete. A numerical zero has a very different meaning from missing evidence.
Separate CHF valuation from token quantity
USDC and USDT are designed around a US-dollar reference, but that does not make the token quantity a CHF value. A valuation needs an applicable price, quote currency, timestamp and conversion policy. Depegging, market differences and missing observations can matter. An invented one-to-one conversion would conceal the very question a year-end working file is supposed to document.
Swiss Federal Tax Administration guidance discusses end-of-period market value for payment tokens and references published tax values. The relevant treatment still depends on the asset, ownership context and applicable rules. Check the current year’s official information with the adviser. Do not assume a movement-time price, a bank’s conversion rate and a published year-end tax value are the same observation.
Keep personal and business questions distinct
An individual preparing wealth-tax records may need holdings across many wallets, custodians and asset types. A business preparing financial statements also needs the account classification, valuation basis and supporting commercial documents. The same on-chain quantity can inform both files without answering all their different reporting questions.
For a personal-tax workflow, CoinTaxReporting is the related integration context, while the stablecoin statement is a bounded supporting record. It does not cover all gains, income, staking activity or exchange transactions merely because USDC appears in the wallet. Ask what additional evidence is required before treating the year-end snapshot as a complete return input. Tax conclusions and filing responsibility stay with the relevant professional or taxpayer.
Make exclusions and uncertainty visible
A wallet may receive unwanted same-name tokens immediately before the cutoff. Their symbols are not a reason to include them in an approved stablecoin balance. Show excluded contracts separately, together with why they were excluded or remain unverified. A legitimate bridge token is not automatically counterfeit, but it must not be silently substituted for an issuer-native asset either.
Likewise, distinguish a missing price from zero value and an incomplete history from a verified absence of movements. If the calculated quantity and state balance differ, retain the residual and request further evidence. An issuer freeze affects transferability and may deserve a note; it does not automatically explain why an opening-plus-movements equation fails.
Archive a version that can be reviewed later
Keep the chosen scope, boundaries, token metadata, source observations and valuation evidence with the exported report. The proposed JSON holds the technical context; PDF makes it readable; CSV supports controlled comparison in a spreadsheet. A stable content fingerprint helps identify the version you actually reviewed. It does not establish ownership or serve as an audit signature.
Before accepting the file, have a colleague answer five questions: which asset, which wallet, which cutoff, which source for the quantity and which basis for CHF? If any answer is missing, record the limitation. Use the synthetic sample to rehearse this review without disclosing a client address. The product is planned, and real historical reads and valuation sources require implementation and validation before client use.
Questions
Is the balance at 23:59:59 always the right one?
Specify a timezone and an exclusive next-day boundary, then apply a documented block-selection rule. A date string alone is not sufficient.
Does USDC automatically equal one USD for a tax valuation?
No automatic valuation is assumed here. Preserve the token quantity and verify the applicable price and tax-value policy for the relevant year.
Primary references
- Swiss Federal Tax Administration: crypto guidance
- Circle: USDC contract registry
- Tether: supported protocols
Continue with Stablecoin Statements, the shareable example and the accounting workflow.
Join the private-beta waitlist
Tell us what you want to build. Your requirements will help shape the private beta.
Submission is not enabled. The contact page provides the email alternative.