Tax Overview

As a committed provider for crypto's current and future infrastructure, zerohash is proud to offer a Tax-as-a-Service (TaaS) product to Platforms.

Crypto tax: what are my responsibilities?

  • A taxable event is any action or transaction that may result in taxes owed to the government.
    • Information such as transaction dates, the assets Fair market value {FMV} at time of purchase and sale that are related to the taxable event are required to be reported to the IRS by individuals.
      • See "What Constitutes a Taxable Event" for more information.
  • To aid end users in their personal tax compliance and to comply with federal law tax forms may be provided to users who have transactions exceeding certain thresholds.
    • See "What Tax Form(s) Might I Receive?" for details on US tax forms.

zerohash tax for business

At zerohash, compliance is always our number one priority. As such, we provide a full tax-as-a-service suite of products for all of your reporting needs. Whether you’re enabling your customers to buy/sell, issuing crypto rewards or even paying your employees in crypto, we’ve got you covered.

zerohash tax for consumers

If you engaged in qualifying transactions on a platform that uses our TaaS product, and met the required thresholds to receive a tax form, the relevant forms will be delivered to you.

Disclaimer: This article is intended to provide basic, helpful information surrounding crypto taxes, and does not serve as formal legal or tax advice. Zero Hash and its affiliates do not provide legal, financial, or tax advice. Please consult a professional financial advisor if you have additional questions surrounding how to properly record and report your crypto activity. Zero Hash’s Tax as a Service Product is only available to end users if the platform through which the end user is using the Zero Hash crypto services enables the tax services.

zerohash US tax guidelines

If your platform is operating within the US, zerohash will require additional data points on your customers to ensure compliance with IRS tax reporting guidelines.

Platforms can use the endpoints listed here to provide the required tax data:

Individual Participants

Entity Participants

New fields sample

"b_notice_receipt": false,
"is_w_form_certified": true,
"w_form_certification": 1667504636159,
"signature": "signature_data",
"signature_timestamp": 1667504636159,
"payee_exemption": "NONE",
"fatca_reporting_exemption": "NONE",
"is_not_subject_backup_withholding": true,

These additional fields are further described below:

Tax Identification Number

  • Existing tax_id field that is required for customers onboarded to a US platform

    • Platforms should format tax identification numbers in the appropriate formatting (9 digit format)

W-Form Certification Status

  • is_w_form_certified boolean field that is required for customers onboarded to a US platform

    • Must be provided with w_form_certification timestamp field to indicate the user's current certification status
    • When true, user can be onboarded without restriction, so long as other mandatory fields are provided at time of onboarding
    • When false, user is restricted and ineligible to transact on the platform
      • In the event the user re-certifies, the platform must update this field to true and provide an updated w_form_certification

W-Form Certification

  • w_form_certification timestamp field that is required for customers onboarded to a US platform

    • Must be provided with is_w_form_certified boolean field to indicate the time at which the user certified their W-form
    • In the event the user transitions from an uncertified to a certified, the platform must provide a new w_form_certification and update is_w_form_certified from false to true

B-Notice Receipt

  • b_notice_receipt boolean field that indicated whether a user has been flagged in an IRS B-Notice as not having up-to-date tax information

    • Value should be set to false if no notice of receipt
    • If true, the user is locked until re-certified

Backup Withholding

  • is_not_subject_backup_withholding boolean field that indicated whether a user is subject to backup withholdings by the IRS

    • Value should be set to true as a positive attestation that the user is not subject to the withholding
    • If false, the user is locked until updated to true

Signature & Timestamp

  • signature field that captures customer first and last name as used on the W-form
  • signature_timestamp field that captures the timestamp at which the user signed their W-form

Tax Exemptions

  • payee_exemption field that captures enum values for any applicable payee exemption codes 1 - 13
  • fatca_reporting_exemption field that captures enum values for any applicable fatca exemption codes A - M

zerohash EEA tax guidelines

If your platform is operating within an EEA country, zerohash will require additional data points on your customers to ensure compliance with DAC8/CARF reporting guidelines. These additional fields are:

Tax Identification Number

  • Existing tax_id field that is required for customers onboarded to an EEA platform

    • Platforms should format tax identification numbers in the appropriate formatting as specified by https://www.oecd.org/
    • The tax_id format is validated against both the jurisdiction_code of the residential address and the jurisdiction_code of the tax residence (if tax residence is provided at onboarding)
      • So long as the `tax_id adheres to either format, it will be accepted

Tax ID Validations

CodeCountryRegex Pattern(s)Structure Description
ATAustria^[0-9]{9}$9 numerals
BEBelgium^[0-9]{11}$11 numerals
BGBulgaria^[0-9]{10}$10 numerals
HRCroatia^[0-9]{11}$11 numerals
CYCyprus^[0-9]{8}[A-Z]$8 numerals followed by a letter
CZCzech Rep.^[0-9]{9}$ ^[0-9]{10}$9 or 10 numerals
DKDenmark^[0-9]{10}$10 numerals
EEEstonia^[0-9]{11}$11 numerals
FIFinland^[0-9]{6}[+-A][0-9]{3}[0-9A-Z]$6 numerals + 1 character (+, -, or A) + 3 numerals + 1 character
FRFrance^[0-3][0-9]{12}$13 numerals (1st numeral always 0, 1, 2 or 3)
DEGermany^[0-9]{11}$11 numerals
ELGreece^[0-9]{9}$9 numerals
HUHungary^[0-9]{10}$10 numerals
ISIceland^[0-9]{10}$10 numerals
IEIreland^[0-9]{7}[A-Z]$ ^[0-9]{7}[A-Z]{2}$7 numerals + either 1 or 2 letters
ITItaly^[A-Z]{6}[0-9]{2}[A-Z][0-9]{2}[A-Z][0-9]{3}[A-Z]$6 letters + 2 numerals + 1 letter + 2 numerals + 1 letter + 3 numerals + 1 letter
LVLatvia^[0-9]{11}$11 numerals
LILiechtenstein^[0-9]{4,12}$4 to 12 numerals
LTLithuania^[0-9]{11}$11 numerals
LULuxembourg^[0-9]{13}$13 numerals
MTMalta^[0-9]{7}[MGAPLHBZ]$ ^[0-9]{9}$7 numerals + 1 letter (M, G, A, P, L, H, B or Z) or 9 numerals
NLNetherlands^[0-9]{9}$9 numerals
NONorway^[0-9]{11}$11 numerals
PLPoland^[0-9]{10}$ ^[0-9]{11}$10 or 11 numerals
PTPortugal^[0-9]{9}$9 numerals
RORomania^[0-9]{13}$13 numerals
SKSlovakia^[0-9]{9}$ ^[0-9]{10}$9 or 10 numerals
SISlovenia^[0-9]{8}$8 numerals
ESSpain^[0-9]{8}[A-Z]$ ^[0-9LKMXYZ][0-9]{7}[A-Z]$8 numerals + 1 letter, or 1 character (numeral, L, K, M, X, Y or Z) + 7 numerals + 1 control letter
SESweden^[0-9]{10}$10 numerals
UK/GBUnited Kingdom^[0-9]{10}$ ^[A-Z]{2}[0-9]{6}[ABCD ]$10 numerals or 2 letters + 6 numerals + 1 character (A, B, C, D or space)

Tax Residence

  • New tax_residence object for customers onboarded to an EEA platform that may have a taxable jurisdiction_code that is different from their residential `jurisdiction_code
    • Platforms are required to provide this new tax residence jurisdiction if the end-user fits the above description

TIN Jurisdiction Reason

  • New tin_jurisdiction_reason field that is an optional field in the event taxable jurisdiction_code that is different from their residential `jurisdiction_code
    • Platforms can choose from the following enum values as reason codes for the difference:
      • working_abroad
      • studying_abroad
      • dual_residency
      • business_abroad
      • real_estate_abroad
      • other
    • If other is selected, the user will be onboarded into a "submitted" state for compliance to conduct a manual review.
      • Note that if tin_jurisdiction_reason is not provided at onboarding, and there is a mismatch in jurisdiction codes, this field is defaulted to other and the user will go through the manual review process
      • Use of any of the first 5 enum values will result in regular approval flow, so long as other mandatory fields are provided at time of onboarding

Self-Certification

  • New self_certification_timestamp field required for customers onboarded to an EEA platform to attest their information is accurate for reporting. This is mandatory at onboarding for all end-users of the platform.

Address of Incorporation

  • New incorporation_address object required for entity customers onboarded to an EEA platform. Platforms must specify the full incorporation address (street address, city, postal code, country) of the entity.