Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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. For transactions over a certain threshold (typically $1,000 or €1,000), a wallet address is typically required.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:

  1. CAS version 20241001 (or newer) must be installed.

  2. A one-time CAS setting must be deployed by the Administrator.

  3. The feature is enabled for each BATM in Terminal details.

  4. Your customers will have the option to complete a purchase using the PDF wallet.

  5. 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.

  1. Determine the URL path. In this example we’ll use: https://yourcasdomain.com/wallets

    1. It must be the domain for your CAS (e.g. yourcasdomain.com).

    2. The path /wallets is arbitrary and can be anything that doesn’t conflict with other CAS paths.

    3. The protocol must include (and support) HTTPS.

  2. 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

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

  1. The customer initiates a BUY.

  2. Customer selects the button “DON’T HAVE A WALLET?”.

...

  1. The Customer chooses “DOWNLOAD WALLET AS PDF”.

...

  1. The Customer downloads the PDF file from the link provided.

...

  1. The Customer confirms that they have downloaded the PDF (by pressing the button).

    1. The link may only be used ONCE!

    2. 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:

...