California § 3905(b) Compliance

California § 3905(b) Compliance

Requires CAS version 20231101.29 (or newer)

2024 Requirements

Per California State Statute § 3905(b) effective January 1, 2024, receipts for California customers must contain the following information:

  1. The name of the customer.

  2. The date and time of the transaction.

  3. The name of the kiosk operator.

  4. The amount of a digital financial asset involved in the transaction.

  5. The amount of U.S. dollars involved in the transaction.

  6. The amount, in U.S. dollars, of any fees collected by the kiosk operator related to the transaction.

  7. The amount, in U.S. dollars, of any spread between the U.S. dollar price of the digital financial asset that is charged to the customer and the U.S. dollar price of the digital asset as listed by a licensed digital financial asset exchange.

  8. The name of the licensed digital asset exchange the kiosk operator used to calculate the referenced spread.

Ref: https://dfpi.ca.gov/dfal-kiosk/

The following fields are available to ensure compliance:

  • {text.fiat.fee.total} - total fee (fiat amount)

  • {text.fee.percentage} - percentage fee

  • {text.crypto.rateNoFees} - cryptocurrency rate (before fees)

  • {text.crypto.rateSpread} - rate spread (rate - rateNoFees) in fiat

  • {identity.givenName} - Identity given name(s)

  • {identity.surname} - Identity surname(s)

  • {identity.phoneNumber} - Identity phone number

  • {identity.emailAddress} - Identity email address

  • {identity.dateOfBirth} - Identity date of birth

  • {cryptosetting.name} - name of the Crypto Setting used

These fields are used in these Custom Strings:

BUY:

  • printer_buy_crypto_ticket_template

  • sms_buy_crypto_ticket_template

  • email_buy_crypto_ticket_template

SELL:

  • printer_sell_crypto_ticket_template

  • sms_sell_crypto_ticket_template

2025 Additional Requirements

Requires CAS version 20250301 (or newer)

As of January 1, 2025, prior to a transaction, a kiosk operator must provide a written disclosure in English and the same language principally used by the operator to advertise, solicit, or negotiate with a customer, as specified, that includes the following minimum information:

  1. The amount of the digital financial asset involved in the transaction

  2. The amount, in US dollars, of any fees, expenses, and charges collected by the operator

  3. The U.S. dollar price of the digital financial asset that is charged to the customer and the U.S. dollar price of the digital financial asset as listed by a licensed digital financial asset exchange

  4. If a method is not provided to reverse or refund a transaction, a warning that all transactions are final and cannot be undone.

This compliance is enabled with the addition of these 2 settings to Terminal Details:

Show Market Rate On Insert Cash Screen
Show Market Rate On Insert Cash Screen

If enabled, the market exchange rate will be displayed on the terminal's cash insertion screen. The value displayed will be the same as provided by the rate source without any adjustments, such as for fees or discounts.

image-20250514-140657.png

 

Show Percentage Fee On Insert Cash Screen

If enabled, the percentage fee applied will be displayed on the terminal's cash insertion screen. The percentage fee used is the one selected based on the configuration, evaluated from crypto settings (Profit in %), terminal profit override or extension profit override


Custom Strings (all) explained: https://generalbytes.atlassian.net/l/cp/8GSovPAC


Example BUY:

Old (default):

{bmp.logo}<b>BUY CRYPTO RECEIPT</b><br/><br/><b>TX ID:</b> {text.transaction.id}<br/><b>Time:</b> {text.time}<br/><b>Price:</b> {text.fiat.amount} {text.fiat.currency}<br/><b>Fixed Fee:</b> {text.fiat.fee.fixed} {text.fiat.currency}<br/><b>Crypto:</b> {text.crypto.amount} {text.crypto.currency}<br/><b>Rate:</b> 1 {text.crypto.currency} = {text.crypto.rate} {text.fiat.currency}<br/><b>Destination:</b> {text.crypto.destination}<br/><br/>Keep this receipt!<br/><br/><b>Operator:</b> Name, Address, Phone, etc<br/><br/>

Compliant with § 3905(b):

{bmp.logo}<b>BUY CRYPTO RECEIPT</b><br/><br/><b>TX ID:</b> {text.transaction.id}<br/><b>Time:</b> {text.time}<br/><b>Price:</b> {text.fiat.amount} {text.fiat.currency}<br/><b>Fixed Fee:</b> {text.fiat.fee.fixed} {text.fiat.currency}<br/><b>Crypto:</b> {text.crypto.amount} {text.crypto.currency}<br/><b>Rate:</b> 1 {text.crypto.currency} = {text.crypto.rate} {text.fiat.currency}<br/><b>Destination:</b> {text.crypto.destination}<br/><br/>Keep this receipt!<br/><br/><b>Operator:</b> Name, Address, Phone, etc<br/><br/>Customer:{identity.firstname} {identity.lastname}<br/>Fees: ${text.fiat.fee.total}<br/>Exchange rate: ${text.crypto.rateNoFees}<br/>Premium: ${text.crypto.rateSpread}<br/>Provided by: {cryptosetting.name}<br/><br/>

Receipt example:

image-20240109-205142.png

 

Copyright © 2020-2025 General Bytes USA LLC