Custom Strings
The settings here permit for a wide variety of options, and you can customize your SMS messages, screen messages, and receipts in ways that display your place as a professional in the market.
Custom strings define your BATM’s personality.
Definitely change these strings!
The following custom strings require your [Name, Address, Phone, etc], so change them now so that your customers can find you:
Quick jump to section:
Alphabetical Listing
Expand by clicking the “>” below.
Field types are represented by these prefixes:
"text" may be printed on tickets, used onscreen, or sent in SMS messages.
"bmp" may only be used on printed tickets.
"qr(variablename)" may be used to create a QR code from any variable (PRINTED ONLY) - e.g.
This is a wallet QR code: {qr(text.crypto.destination)}
The following HTML formatting fields may be used in certain strings:
<b> begin bold type
</b> end bold type
<i> begin italics
</i> end italics
<br/> break (creates a new line after this)
You may NOT use "<" or ">" characters in your text (except as shown above)
The "strings" are just plain text formatted with HTML fields and graphics.
Fonts cannot currently be changed or resized.
Example:
<b>This is bold text</b> and <i>this is italicized text.</i>
will be displayed as:
This is bold text and this is italicized text.
CUSTOM STRINGS (as seen in CAS Terminal details)
Unsorted, this list is presented in the same order as seen on the CAS Terminal web page.
Scroll towards the top to expand a linked list in alphabetical order.
NOTE ABOUT CUSTOM STRINGS:
Some of these fields may not appear in older software versions.
Different BATM versions will display different settings.
Update your Terminal firmware to the latest version if you experience any trouble!
support_phone
The phone number displayed on your BATM screen for support.
(Empty - no default set)
registration_delay
The time (in minutes) of the expected delay for identity registration. This is displayed on the BATM screen for your customer after they choose to register.
15
sell_success_timeout
After these # minutes, the “sell success” screen on the BATM will return to the main/normal screen.
300
printer_paper_wallet_template
This is printed when a paper wallet is chosen.
<b>PAPER WALLET - {text.cryptoCurrency}</b><br/><br/><br/><b>Spend</b><br/>{text.cryptoCurrency} - private key - keep this QR code private!{bmp.privatekey}{text.privatekey}{bmp.logo}<b>Load</b><br/>{text.cryptoCurrency} - public key<br/>{text.address}{bmp.address}<br/>
printer_buy_crypto_ticket_template
The paper BUY receipt contents are set here.
printer_buy_crypto_lnurl_ticket_template
When a Lightning BUY is prepared, this ticket will be printed.
sms_buy_crypto_ticket_template
This SMS message is sent to customers after a BUY when using the optional SMS delivery.
The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
email_buy_crypto_ticket_template
This email message is sent to customers after a BUY when using the optional email delivery. Supports basic HTML tags.
printer_sell_crypto_ticket_template
This paper offer prints after a SELL is negotiated. It displays the QR code and crypto amount the customer is required to send to you to consummate your offer. The ticket is then scanned at the BATM for the customer to withdraw the agreed upon fiat.
sms_sell_crypto_ticket_template
This SMS is sent after a SELL is negotiated. It contains the target wallet and crypto amount the customer is required to send to you to consummate your offer.
An SMS message cannot contain an image, thus a QR code cannot be directly sent. The URL in this example embeds a QR image (via coin.cz) sendable by SMS.
A QR code is required for the customer to present at the BATM for the withdrawal.
The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
email_cashback_ticket_template
This message is sent to a customer to permit a manually-created redemption (REDEEM) transaction. The message includes a REDEEM QR code.
printer_withdrawal_ticket_template
This paper SELL receipt is printed by the BATM after the fiat has been withdrawn by the customer.
printer_buy_crypto_ticket_transaction_failed_template
If a BUY transaction fails, the paper receipt contents are set here.
terms_and_conditions
Pre-transaction terms & conditions page shown at the BATM.
Supports basic HTML tags.
Creates a button on the BATM screen (when non-empty).
Add a "!" to the beginning of the string to force the customer to accept the terms & conditions prior to the transaction (“I AGREE” / ”CANCEL”).
Use !X! (e.g. !10!) - to wait X seconds before the Agree button is activated and can be clicked.
(Empty - no default set)
scam_disclaimer
See these details: Scam Disclaimer
(Empty - no default set)
sell_withdrawal_ready
This SMS communicates that the SELL is ready for customer withdrawal.
The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
sell_invalid_payment
This SMS notifies your customer that the wrong amount has been submitted to the wallet specified in the Custom String: printer_sell_crypto_ticket_template.
The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
sell_timed_out
This SMS notifies your customer that your SELL offer has expired, and the payment was not received within the required time limit.
The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
sell_arriving
This SMS notifies your customer that the coin satisfying the SELL terms has been seen on the network, and is waiting for the required confirmations (next: sell_withdrawal_ready).
The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
alternative_welcome_message
Replaces the default: "Welcome to Bitcoin ATM".
(Empty - no default set)
alternative_buy_message
Replaces the default: "Buy Bitcoins" on the main screen
(Empty - no default set)
alternative_screensaver_message
Replaces the default: "BUY BITCOINS!" on the screensaver
(Empty - no default set)
special_configuration
Used ONLY under direction of development / support. See chart (below).
(Empty - no default set)
Separate multiple fields using a space (" ").
The chart is at the bottom of this article.
buy_transaction_failed_additional_message
These further instructions are displayed on the BATM screen to a customer in the event a BUY transaction fails (e.g. "Please call xxx-yyy-zzzz").
(Empty - no default set)
buy_transaction_success_additional_message
This additional notification is displayed on the BATM screen to a customer in the event a BUY transaction succeeds (e.g. "Please wait up to 3 hours for the coin to arrive.").
(Empty - no default set)
sell_transaction_failed_additional_message
These further instructions are displayed on the BATM screen to a customer in the event a SELL transaction fails (e.g. "Please call xxx-yyy-zzzz").
(Empty - no message set)
buy_prepare_transaction_failed_blacklisted_message
If the BUY transaction is listed on a blacklist (OFAC, internal, etc), the message set here will be shown to the customer.
(Empty - no message set)
buy_prepare_transaction_failed_high_risk_scoring_message
If the BUY transaction is scored (by a scoring service) as “high risk”, the message set here will be shown to the customer. See: Transaction Scoring - General Bytes Knowledge Base - Confluence
(Empty - no message set)
withdraw_transaction_failed_not_enough_cash_message
Replaces the default “Withdrawal is not possible. Not enough cash in the machine.” message.
(Empty - no message set)
withdraw_transaction_failed_additional_message
These further instructions are displayed on the BATM screen to a customer in the event a REDEEM transaction fails (e.g. "Please call xxx-yyy-zzzz").
(Empty - no message set)
sms_otp
The message text when delivering one time SMS passwords to customers.
(Empty - no default set)
The OTP field is represented within the text by: {text.otp}
Example:
Here is your GB OT passcode: {text.otp}
The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
custom_buy_limit_title
The BUY LIMIT title used during the chooseLimitScreen BUY flow.
(Empty - no default set)
custom_buy_limit_description
The BUY LIMIT description used during the chooseLimitScreen BUY flow.
(Empty - no default set)
custom_buy_fixed_fee_description
The BUY LIMIT fixed fee description used during the chooseLimitScreen BUY flow.
(Empty - no default set)
custom_sell_limit_title
The SELL LIMIT title shown during the chooseLimitScreen SELL flow.
(Empty - no default set)
custom_sell_limit_instruction
A SELL LIMIT subheading (e.g. “choose X”) shown during the chooseLimitScreen SELL flow.
(Empty - no override set)
custom_sell_limit_description
The SELL LIMIT description shown during the chooseLimitScreen SELL flow.
(Empty - no default set)
buy_anonymous_limit_alternative_message
Displays a custom Anonymous tier message on the BUY Choose Limit Screen button.
(Empty - no default set)
buy_unregistered_limit_alternative_message
Displays a custom Not Registered tier message on the BUY Choose Limit Screen button.
(Empty - no default set)
buy_registered_limit_alternative_message
Displays a custom Registered tier message on the BUY Choose Limit Screen button.
(Empty - no default set)
sell_anonymous_limit_alternative_message
Displays a custom Anonymous tier message on the SELL Choose Limit Screen button.
(Empty - no default set)
sell_unregistered_limit_alternative_message
Displays a custom Not Registered tier message on the SELL Choose Limit Screen button.
(Empty - no default set)
sell_registered_limit_alternative_message
Displays a custom Registered tier message on the SELL Choose Limit Screen button.
(Empty - no default set)
pep_rejected_info
Displayed to customers that are rejected due to PEP restrictions.
registrations_disabled
Displayed when new registrations are not being accepted, or are being pre-processed by third-parties (and registration is no longer performed at the BATM). Links are supported.
Example: Please register at: {link}register.yourcasdomain.com{/link}
Default:
custom_registration_title
Displays a custom title for the “Are you registered?” screen.
(Empty - no default set)
customer_unregistered
This SMS message will be sent to the Identity because their ID document expired.
The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
custom_pep_question
This may be customized to comply with jurisdictional requirements.
(Empty - no default set)
printer_cash_collection_ticket_template
Enables a custom cash collection ticket, as mandated by certain armored car (and other cash pickup) services. This is a subtitle (only).
(Empty - no default set)
registration_submitted_successfully_additional_message
Shown to the customer after successfully uploading the required registration documents.
(Empty - no default set)
marketing_opt_in_agreement_text
This window (when displayed) shows after the QR has been presented by an UNREGISTERED or REGISTERED during a transaction. An “opt-in” is required for marketing in various regions.
(Empty - no default set)
For this message to be displayed:
this custom string must contain text,
the customer’s Identity must have a cellphone number,
the customer must not have previously opted-in to the marketing agreement.
marketing_opt_in_agreement_title
Customize the title to the marketing opt-in agreement described above.
registration_submitted_successfully_custom_message
This additional message is displayed on-screen after the AML-triggered Registration Submitted screen.
required_disclosures_text
Displayed on screen after the “Cash Limit Screen” (if set).
Permitted variables: {text.fee.fixed}, {text.rate}, {text.rate.raw}
Add a "!" to the beginning of the string to force the customer to accept the disclosure prior to the transaction (“I AGREE” / ”CANCEL”).
Use !X! (e.g. !10!) - to wait X seconds before the Agree button is activated and can be clicked.
(Empty - no default set)
sms_identity_verification_link
The {link} field is set in your Organization settings. Used with Onfido/Veriff.
The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
sms_identity_verification_success
Used with Onfido/Veriff.
The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
sms_identity_verification_registration_success
Used with Onfido/Veriff.
The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
sms_identity_verification_caution
Used with Onfido/Veriff.
The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
sms_identity_verification_failed
Used with Onfido/Veriff.
The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
Exceeded cash limit messages
The following custom messages may instead be presented to your customer onscreen when they exceed their respective limits.
(Empty - no default set for any of these messages)
exceeded_cash_limit_per_transaction
exceeded_cash_limit_per_hour
exceeded_cash_limit_per_day
exceeded_cash_limit_per_week
exceeded_cash_limit_per_month
exceeded_cash_limit_per_3_months
exceeded_cash_limit_per_12_months
exceeded_cash_limit_per_calendar_year_quarter
exceeded_cash_limit_per_calendar_year
exceeded_cash_limit_per_day_and_crypto_address
exceeded_total_cash_limit_per_crypto_address
exceeded_total_cash_limit_per_identity
exceeded_total_terminal_cash_limit_for_buy
exceeded_total_terminal_cash_limit_for_sell
privacy_policy
An additional screen presented to the customer revealing any regionally required privacy policy declaration.
(Empty - no default set)
verify_wallet_ownership_no_flow_confirm_button
If wallet ownership verification is enabled in your AML/KYC settings, this text is shown on the button when the customer has chosen “no” (the wallet is not theirs), e.g. “OK”.
(Empty - no default set)
verify_wallet_ownership_no_flow_message
If wallet ownership verification is enabled in your AML/KYC settings, this message is shown after the customer presses “no” (the wallet is not theirs),
e.g. “Transaction aborted. We cannot send Bitcoin to wallets outside your control.”
(Empty - no default set)
verify_wallet_ownership_no_button
If wallet ownership verification is enabled in your AML/KYC settings, this text is shown on button: “No”.
After pressing this button, the customer moves on to display the “no_flow” messages:
verify_wallet_ownership_yes_button
If wallet ownership verification is enabled in your AML/KYC settings, this text is shown on button: “Yes”.
After pressing this button, the customer moves forward (as usual) to the transaction.
(Empty - no default set)
verify_wallet_ownership_title_question
If wallet ownership verification is enabled in your AML/KYC settings, this message is shown when the customer must confirm wallet ownership, e.g. “DO YOU CONTROL THE TARGET WALLET?”
This screen title is shared between this screen, and the “no_flow” screens.
(Empty - no default set)
collect_phone_voicecall_delay
When your customer chooses to have a voice call instead of an SMS, delay the call for “X” minutes.
minimum_age_declined
sell_maximum_cash_reached
Specify the message that will appear on-screen during the sell flow when your customer reaches maximum available cash for dispensing from the BATM.
(Empty - no default set)
GBSafeOne only
sms_deposit_cash_ticket_template
Specifies the SMS message text sent to the Identity following a GBSafe deposit.
The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
email_deposit_cash_ticket_template
Specifies the email message text sent to the Identity following a GBSafe deposit.
Field Assignments & Definitions
Field | Description | Applies to: |
---|---|---|
{bmp.address} | A QR-coded wallet address. | BUY |
{bmp.logo} | Your logo from Sprites (or GB). | All |
{bmp.paymentrequest} | The QR-coded SELL offer. | SELL |
{bmp.privatekey} | A QR-coded private key. | BUY |
{cryptosetting.name} | The Crypto Setting associated with the transaction. | BUY, SELL |
{identity.firstname} | The FIRST name from the related Identity. | BUY, SELL, DEPOSIT |
{identity.lastname} | The LAST name from the related Identity. | BUY, SELL, DEPOSIT |
{text.crypto.amount} | The amount of coin involved. | All |
{text.crypto.currency} | The type of coin (BTC/LTC/etc). | All |
{text.crypto.destination} | The wallet presented during the BUY. | BUY |
{text.crypto.rate} | The calculated rate based on the amount involved, your percentages, and fees. | All |
{text.crypto.rateNoFees} | Cryptocurrency Rate Without Fees | BUY, SELL |
{text.crypto.rateSpread} | Spread Between Rates in Fiat Currency
| BUY, SELL |
{text.fiat.amount} | The fiat amount of this transaction.; | All |
{text.fiat.currency} | The fiat (USD/EUR/etc) used. | All |
{text.fiat.fee.fixed} | Any flat fee assessed. | All |
{text.fiat.fee.total} | Total Fee in Fiat Currency | BUY, SELL |
{text.otp} | The OTP sent to a Customer. | OTP |
{text.location.address} | The physical address of the Location. | ALL |
{text.privatekey} | The text version of any private key when a hard-copy is chosen by the customer. | BUY |
{text.time} | Transaction time at location. | All |
{text.transaction.expirationTimestamp} | The expiration datetime of the SELL offer. | ALL |
{text.transaction.id} | The RID of the transaction. | All |
{text.transaction.order.id} | GBSafe Deposit order ID | DEPOSIT |
{text.transaction.related.id} | The ID of the associated SELL. | WITHDRAW |
{text.transaction.uuid} | This ID links a WITHDRAW to this SELL. | SELL |
Permitted Fields
Custom String | Permitted Fields |
---|---|
sms_buy_crypto_ticket_template | {text.time} {text.fiat.fee.total} |
sms_sell_crypto_ticket_template | {text.time} {text.fiat.fee.total} |
email_buy_crypto_ticket_template | {text.time} {text.fiat.fee.total} |
printer_paper_wallet_template | {text.address} |
printer_buy_crypto_ticket_template | {text.time} {text.fiat.fee.total} |
printer_sell_crypto_ticket_template | {bmp.logo} {text.fiat.fee.total} |
printer_withdrawal_ticket_template | {bmp.logo} |
printer_pos_crypto_ticket_template | {bmp.logo} |
sell_withdrawal_ready | {text.transaction.id} |
sell_invalid_payment | |
sell_timed_out | |
sell_arriving | |
sms_deposit_cash_ticket_template | {text.time} : Time |
email_deposit_cash_ticket_template | {bmp.logo} : Logo
|
Setting | Description |
---|---|
acceptanceProblemRejectThreshold=X | Terminals will report the event “Acceptance Problem” after 3 failed attempts to accept a banknote (default).
|
alarm_delay_seconds=xx | alarm arming delay after closing the door (door sensors required). |
alarm_pin=abcd | Assign a numerical PIN for disarming the alarm.
|
alt-admin-access |
|
attt | Enables ATTT menu in Terminal Advanced Administration at the terminal. |
btc_reject_bc1 | Rejects customer SegWit wallet addresses ("bc1"). |
checkpin=abcd | Terminal will ask for numerical PIN before purchase.
|
datasaving | Decreases the “ping” frequency
|
idledatasaver | reduces the ping period in screensaver mode to 150 sec |
ltc_reject_ltc1 | Rejects customer wallet addresses beginning with ("ltc1"). |
mlkit-qr-scan | Enable experimental support for Google MLKit; a more advanced library used to scan QR codes. |
paperwalletonly | Force paper wallet usage (required in certain jurisdictions.
|
rebootIntervalMinutes= | Changes the "no connection" timeout.
|
sellNotAvailableWarning | Overrides the SELL button behavior. The button will now always be visible, but when the customer clicks on SELL, the notification “There is temporarily no cash, please contact support” will appear. |
ukraine | Adds aid option for Ukraine, see: Help Ukraine - General Bytes Knowledge Base - Confluence |
-Xbitflyer=1 | Enables BitFlyer |
experimental | (deprecated) Implements the new (experimental) Terminal UI. |
legacy | (deprecated) Implements the old (legacy) Terminal UI. |
Copyright © 2020-2024 General Bytes USA LLC