Many countries around the globe (and specifically the EU) are being forced to adhere to Financial Action Task Force (FATF, established in 1989 by the G7) guidelines, which includes regulatory requirements designed to prevent money laundering and terrorist financing.
One of these rules is the “Travel Rule”. The Travel Rule mandates that certain information about the sender and receiver of a transaction must "travel" with the transaction itself when money (or value) is transferred between financial institutions or Virtual Asset Service Providers (VASPs).
This wallet generation feature is a method of complying with that Travel Rule where transactions may exceed a certain threshold (typically $1,000 or €1,000).This option is currently available for BitBayCoin (BAY), Bitcoin Cash (BCH), Bitcoin (BTC), Dash (DASH), Ethereum (ETH), Litecoin (LTC), Monero (XMR), and Ripple (XRP). Coins implemented via extensions with support for IPaperWallet
can be edited to support PDF wallets as well (undocumented).
Overview:
CAS version 20241001 (or newer) must be installed.
A one-time CAS setting must be deployed by the Administrator.
The feature is enabled for each BATM in Terminal details.
Your customers will have the option to complete a purchase using the PDF wallet.
The customer is then forced to scan and receive their coin to the new PDF wallet.
...
Configure CAS
Create/edit webhooks
The CAS base configuration must be changed to offer PDF wallets.
Determine the URL path. In this example we’ll use:
https://yourcasdomain.com/wallets
It must be the domain for your CAS (e.g.
yourcasdomain.com
).The path
/wallets
is arbitrary and can be anything that doesn’t conflict with other CAS paths.The protocol must include (and support) HTTPS.
Create/edit the
/batm/config/webhooks
file and place the URL path as a setting:
Code Block |
---|
sudo nano /batm/config/webhooks |
Add the setting
pdfWalletLinkUrl=https://yourcasdomain.com/wallets
Replace the example URL with the one you decided upon in Step 1.
...
Press CTRL-X to save the file and exit (choose “y”, and leave the filename unchanged).
The setting will automatically be updated within CAS in approximately 30 seconds.
Expose the webhook
Now that the configuration has been created, you must expose this URL to the world. Installation (or modification) of NGINX is described in this article: https://generalbytes.atlassian.net/wiki/x/AQBlrw
It’s also possible to do it via Cloudflare (instead): https://generalbytes.atlassian.net/l/cp/VLSWb0XA
Yet another (undocumented) option: ngrok: https://ngrok.com/product/secure-tunnels
The URL path in any case must translate/point to: https://{master_bind_ip}:7743/api/v1/crypto-wallets
Testing
Append “/test
” to the end of the exposed URL. Navigate to the URL using a web browser.
e.g.
https://yourcasdomain.com/wallets
becomes:https://yourcasdomain.com/wallets/test
Navigating to that URL should result in a simple web page “Invalid key” result.
...
Enable the Feature per Terminal
Navigate to your Terminal (or Template) and enable the option in Printing Settings.
...
Adjust the PDF text
You can adjust the content & layout of the PDF document with this Custom String.
Navigate to the appropriate Crypto Setting - CUSTOM STRINGS:
...
Example BUY
The customer initiates a BUY.
Customer selects the button “DON’T HAVE A WALLET?”.
...
The Customer chooses “DOWNLOAD WALLET AS PDF”.
...
The Customer downloads the PDF file from the link provided.
...
The Customer confirms that they have downloaded the PDF (by pressing the button).
The link may only be used ONCE!
After the link has been used, the message “Invalid key” will be displayed thereafter.
6. The Customer uses the Public Key in the PDF to receive their coin.
Example PDF:
...