Custom Strings
The settings here permit 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.
California § 3905 Compliance guide for Custom Strings: https://generalbytes.atlassian.net/wiki/x/EQA6tg?atlOrigin=eyJpIjoiYjAzYzhkOTM0OWM1NGQwMzljNGZlNmJkY2I3NzZiZTUiLCJwIjoiYyJ9
Definitely change these strings!
The following custom strings require your [Name, Address, Phone, etc], so change them now so that your customers can contact you in the event of a problem:
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.
Images wider than 576 pixels will be cropped on the right side!
"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)}Case matters! “qr” can only be used for supported & embedded variables.
"QR:content" may be used to create a QR code from any given text “content”.
e.g.
This generates a QR encoding "test URL": {QR:test URL}Case matters! “QR” is used for arbitrary text (only).
The maximum printed QR code used in receipts is 576 pixels wide.
QRs wider than 576 pixels will be cropped on the right side!
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 (CAS view)
Unsorted, this list is presented in the same order as seen on the CAS Terminal Settings page.
Scroll towards the top to expand a linked list in alphabetical order.
NOTES ABOUT CUSTOM STRINGS:
Some of these fields may not appear in older software versions.
Different BATM models will display different settings.
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.
(Default: empty - none 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.
15sell_success_timeout
After these # minutes, the “sell success” screen on the BATM will return to the main/normal screen.
300printer_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.
{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>Additional Fee:</b> {text.fiat.fee.fixed} {text.fiat.currency}<br/><b>Percentage Fee:</b> {text.fee.percentage}%<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/>printer_buy_crypto_lnurl_ticket_template
When a Lightning BUY is prepared, this ticket will be printed.
{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>Additional Fee:</b> {text.fiat.fee.fixed} {text.fiat.currency}<br/><b>Percentage Fee:</b> {text.fee.percentage}%<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/><br/>{bmp.lnurl}<br/><br/>Use LNURL wallet to withdraw<br/><br/>printer_order_crypto_ticket_template
Sets the contents of a printed a ticket for a deposit/order. See https://generalbytes.atlassian.net/wiki/x/AYABzg
{bmp.logo}<br/><b>ORDER CRYPTO RECEIPT</b><br/><br/><b>Deposit code:</b> {text.transaction.id}<br/><b>Time:</b> {text.time}<br/><b>Price:</b> {text.fiat.amount} {text.fiat.currency}<br/><b>Additional Fee:</b> {text.fiat.fee.fixed} {text.fiat.currency}<br/><b>Percentage Fee:</b> {text.fee.percentage}%<br/><b>Approximate crypto:</b> {text.crypto.amount} {text.crypto.currency}<br/><b>Current rate:</b> 1 {text.crypto.currency} = {text.crypto.rate} {text.fiat.currency}<br/><b>Destination:</b> {text.crypto.destination}<br/><b>Order expiration:</b> {text.transaction.expiration}<br/><br/>The deposit code is required for subsequent cash deposits.</br><b>Please scan the QR code to deposit</br>{bmp.deposit.qrcode}</br></br>printer_order_external_payment_ticket_template
Sets the contents of a printed a ticket for a deposit/order created with an external payment.
{bmp.logo}<br/><b>EXTERNAL PAYMENT ORDER 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>Additional Fee:</b> {text.fiat.fee.fixed} {text.fiat.currency}<br/><b>Percentage Fee:</b> {text.fee.percentage}%<br/><b>Approximate crypto:</b> {text.crypto.amount} {text.crypto.currency}<br/><b>Current rate:</b> 1 {text.crypto.currency} = {text.crypto.rate} {text.fiat.currency}<br/><b>Destination:</b> {text.crypto.destination}<br/><b>Order expiration:</b> {text.transaction.expiration}<br/><br/><b>Scan QR code to pay:</b><br/>{qr(text.payment.link)}<br/>sms_buy_crypto_ticket_template
This SMS message is sent to customers after a BUY when using the optional SMS delivery.
BUY CRYPTO RECEIPT "{text.transaction.id}" {text.time} Price: {text.fiat.amount} {text.fiat.currency} Fee: {text.fee.percentage}% + {text.fiat.fee.fixed} {text.fiat.currency} Crypto: {text.crypto.amount} {text.crypto.currency} -> {text.crypto.destination}The maximum size for single custom SMS messages is 160 characters. Exceeding this limit may result in spam filtering & flagging.
sms_buy_crypto_lnurl_ticket_template
When a Lightning BUY is prepared, this ticket will be sent via SMS.
BUY CRYPTO RECEIPT "{text.transaction.id}" {text.time} Price: {text.fiat.amount} {text.fiat.currency} Fee: {text.fee.percentage}% + {text.fiat.fee.fixed} {text.fiat.currency} Crypto: {text.crypto.amount} {text.crypto.currency} -> {text.crypto.destination}sms_buy_crypto_ticket_extension_template
When deploying your own extensions, this string can be set to utilize self-created variables.
(Default: empty - none set)
sms_order_crypto_ticket_template
Sets the contents of an SMS ticket for a deposit/order. See https://generalbytes.atlassian.net/wiki/x/AYABzg
ORDER CRYPTO RECEIPT "{text.transaction.id}" {text.time} Price: {text.fiat.amount} {text.fiat.currency} Fee: {text.fee.percentage}% + {text.fiat.fee.fixed} {text.fiat.currency} Approximate crypto: {text.crypto.amount} {text.crypto.currency} -> {text.crypto.destination} Order expiration: {text.transaction.expiration} IMPORTANT: The deposit code is required for subsequent cash deposits.sms_order_external_payment_message_template
Sets the contents for the SMS message for a deposit/order created with an external payment.
EXTERNAL PAYMENT ORDER CRYPTO RECEIPT "{text.transaction.id}" {text.time} Price: {text.fiat.amount} {text.fiat.currency} Fee: {text.fee.percentage}% + {text.fiat.fee.fixed} {text.fiat.currency} Approximate crypto: {text.crypto.amount} {text.crypto.currency} -> {text.crypto.destination} Order expiration: {text.transaction.expiration} Payment link: {text.payment.link}email_buy_crypto_ticket_template
This email message is sent to customers after a BUY when using (optional) email delivery. Supports basic HTML tags.
{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>Additional Fee:</b> {text.fiat.fee.fixed} {text.fiat.currency}<br/><b>Percentage Fee:</b> {text.fee.percentage}%<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/><br/>email_buy_crypto_ticket_extension_template
When deploying your own extensions, this string can be set to utilize self-created variables.
(Default: empty - none set)
email_buy_crypto_lnurl_ticket_template
Customize the email message sent during a Lightning transaction.
{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>Additional Fee:</b> {text.fiat.fee.fixed} {text.fiat.currency}<br/><b>Percentage Fee:</b> {text.fee.percentage}%<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/><br/><br/><a href='{lnurl}'>{qr(lnurl)}<br/>{lnurl}</a><br/><br/>email_order_crypto_ticket_template
Sets the contents of an emailed ticket for a deposit/order. See https://generalbytes.atlassian.net/wiki/x/AYABzg
{bmp.logo}<b>ORDER CRYPTO RECEIPT</b><br/><br/><b>Deposit code:</b> {text.transaction.id}<br/><b>Time:</b> {text.time}<br/><b>Price:</b> {text.fiat.amount} {text.fiat.currency}<br/><b>Additional Fee:</b> {text.fiat.fee.fixed} {text.fiat.currency}<br/><b>Percentage Fee:</b> {text.fee.percentage}%<br/><b>Approximate crypto:</b> {text.crypto.amount} {text.crypto.currency}<br/><b>Current rate:</b> 1 {text.crypto.currency} = {text.crypto.rate} {text.fiat.currency}<br/><b>Destination:</b> {text.crypto.destination}<br/><b>Order expiration:</b> {text.transaction.expiration}<br/><br/>The deposit code is required for subsequent cash deposits.<br/><br/>email_order_external_payment_message_template
Sets the contents for the email message for a deposit/order created with an external payment.
{bmp.logo}<b>EXTERNAL PAYMENT ORDER 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>Additional Fee:</b> {text.fiat.fee.fixed} {text.fiat.currency}<br/><b>Percentage Fee:</b> {text.fee.percentage}%<br/><b>Approximate crypto:</b> {text.crypto.amount} {text.crypto.currency}<br/><b>Current rate:</b> 1 {text.crypto.currency} = {text.crypto.rate} {text.fiat.currency}<br/><b>Destination:</b> {text.crypto.destination}<br/><b>Order expiration:</b> {text.transaction.expiration}<br/><br/>Payment link: <a href='{text.payment.link}'>{text.payment.link}</a><br/><br/>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.
{bmp.logo}<b>SELL CRYPTO RECEIPT AND REDEEM TICKET</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/><b>UUID:</b> {text.transaction.uuid}<br/><br/><b>Operator:</b> Name, Address, Phone, etc<br/><br/><b>How to proceed:</b><br/><b>1.Please send exactly </b> {text.crypto.amount} {text.crypto.currency} to <br/>{text.crypto.destination}<br/><b>before {text.transaction.expirationTimestamp}.</b>{bmp.paymentrequest}<br/><b>2.Wait a few minutes before your payment is confirmed.</b><br/><b>3.On machine choose REDEEM TICKET.</b><br/><b>4.Scan QR code on this ticket.</b><br/><br/><b>DON'T LOSE THIS REDEEM TICKET!!</b><br/><b>TICKET IS NEEDED FOR CASH WITHDRAWAL!!</b><br/>{bmp.logo}<br/>email_sell_crypto_ticket_template
This email 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.
{bmp.logo}<b>SELL CRYPTO RECEIPT AND REDEEM TICKET</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>Additional Fee:</b> {text.fiat.fee.fixed} {text.fiat.currency}<br/><b>Percentage Fee:</b> {text.fee.percentage}%<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/><b>UUID:</b> {text.transaction.uuid}<br/><br/><b>Operator:</b> Name, Address, Phone, etc<br/><br/><b>How to proceed:</b><br/><b>1.Please send exactly </b> {text.crypto.amount} {text.crypto.currency} to <br/>{text.crypto.destination}<br/><b>before {text.transaction.expirationTimestamp}.</b>{bmp.paymentrequest}<br/><b>2.Wait a few minutes before your payment is confirmed.</b><br/><b>3.On machine choose REDEEM TICKET.</b><br/><b>4.Scan QR code on this ticket.</b><br/><br/><b>DON'T LOSE THIS REDEEM TICKET!!</b><br/><b>TICKET IS NEEDED FOR CASH WITHDRAWAL!!</b><br/>{bmp.logo}<br/>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.
SELL CRYPTO RECEIPT AND REDEEM TICKET {text.transaction.id}. Please send {text.crypto.amount} {text.crypto.currency} to {text.crypto.destination} before {text.transaction.expirationTimestamp}. Wait until your payment is confirmed. On machine choose REDEEM TICKET. Scan the following QR code: https://coin.cz/qrcode.html?qrcodetext={text.paymentrequest} Price: {text.fiat.amount} {text.fiat.currency}, Fee: {text.fee.percentage}% + {text.fiat.fee.fixed} {text.fiat.currency}, Rate: 1 {text.crypto.currency} = {text.crypto.rate} {text.fiat.currency}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.
{bmp.logo}<b>CASHBACK RECEIPT AND REDEEM TICKET</b><br/><br/><b>TX ID:</b> {text.transaction.id}<br/><b>Time:</b> {text.time}<br/><b>Amount:</b> {text.fiat.amount} {text.fiat.currency}<br/><br/>{qr(cashback)}<br/>How to proceed:<br/>1. Choose REDEEM TICKET on the ATM.<br/>2. Scan the QR code on this ticket.<br/><br/>DON'T LOSE THIS REDEEM TICKET!!<br/>TICKET IS NEEDED FOR CASH WITHDRAWAL!!<br/>{bmp.logo}<br/>printer_withdrawal_ticket_template
This paper SELL receipt is printed by the BATM after the fiat has been withdrawn by the customer.
{bmp.logo}<b>CASH WITHDRAWAL RECEIPT</b><br/><br/><b>TX ID:</b> {text.transaction.id}<br/><b>Related TX:</b> {text.transaction.related.id}<br/><b>Time:</b> {text.time}<br/><b>Amount:</b> {text.fiat.amount} {text.fiat.currency}<br/><b>UUID:</b> {text.transaction.uuid}<br/><br/><b>Operator:</b> Name, Address, Phone, etc<br/><br/><br/>{bmp.logo}<br/>email_withdrawal_ticket_template
This receipt is emailed to the customer after the fiat has been withdrawn.
{bmp.logo}<b>CASH WITHDRAWAL RECEIPT</b><br/><br/><b>TX ID:</b> {text.transaction.id}<br/><b>Related TX:</b> {text.transaction.related.id}<br/><b>Time:</b> {text.time}<br/><b>Amount:</b> {text.fiat.amount} {text.fiat.currency}<br/><br/><b>Operator:</b> Name, Address, Phone, etc<br/><br/><br/>{bmp.logo}<br/>sms_withdrawal_ticket_template
This receipt is sent via SMS to the customer after the fiat has been withdrawn.
CASH WITHDRAWAL RECEIPT TX ID: {text.transaction.id} Related TX: {text.transaction.related.id} Time: {text.time} Amount: {text.fiat.amount} {text.fiat.currency} Operator: Name, Address, Phone, etcprinter_buy_crypto_ticket_transaction_failed_template
If a BUY transaction fails, the paper receipt contents are set here.
{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>Additional Fee:</b> {text.fiat.fee.fixed} {text.fiat.currency}<br/><b>Percentage Fee:</b> {text.fee.percentage}%<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/>travel_rule_self_declaration
Sets the contents of the Travel Rule: Self Declaration dialog box.
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 and unforced).
An exclamation
!at the beginning of the string:forces the customer to accept the terms & conditions prior to the transaction,
shows (“I AGREE” / ”CANCEL”).
Add a delay; use
!X!to wait X seconds before the Agree button is enabled.Example:
!5!This string will be visible for at least 5 seconds.
(Default: empty - none set)
scam_disclaimer
See these details: Scam Disclaimer
(Default: empty - none set)
sell_withdrawal_ready
This SMS communicates that the SELL is ready for customer withdrawal.
Cash withdrawal {text.transaction.id} is ready.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.
Invalid payment {text.transaction.id} received.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.
Sell offer {text.transaction.id} expired. Don't send the payment.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).
Transaction {text.transaction.id} arriving, thank you. We will inform you when the cash withdrawal is 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".
(Default: empty - none set)
alternative_buy_message
Replaces the default: "Buy Bitcoins" on the main screen
(Default: empty - none set)
alternative_screensaver_message
Replaces the default: "BUY BITCOINS!" on the screensaver
(Default: empty - none set)
special_configuration
Used ONLY under direction of development / support. See chart (below).
(Default: empty - none 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").
(Default: empty - none 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.").
(Default: empty - none set)
buy_post_transaction_dialog_message
This notification is displayed on the BATM screen to a customer after any BUY transaction (e.g. "Please wait up to 3 hours for the coin to arrive.").
Hardcoded default ):
Your transaction is temporarily on hold for review. To complete it, please contact Customer Supportsell_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").
(Default: empty - none 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.
(Default: empty - none 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: https://generalbytes.atlassian.net/l/cp/bUgXUUs6
(Default: empty - none set)
withdraw_transaction_failed_not_enough_cash_message
Replaces the default “Withdrawal is not possible. Not enough cash in the machine.” message.
(Default: empty - none 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").
(Default: empty - none set)
sms_otp
The message text when delivering one time SMS passwords to customers.
(Default: empty - none set)