TR Custodial Compliance

TR Custodial Compliance

A Travel Rule provider is used whenever you must securely exchange and record customer identification data with counterparties during cryptocurrency transactions.

This article describes how to setup a VASP provider, with examples provided for Notabene.

More information about the Travel Rule: https://generalbytes.atlassian.net/wiki/spaces/ESD/pages/3690299419


Custodial Wallet: status transitions

Untitled.png

Custodial Wallet: flow chart

image-20250224-101926.png

Custodial Flow CAS Configuration

Add a Travel Rule Provider.

  • Navigate to Travel Rule Providers.

  • Click +ADD

  • Enter the Client ID and Client secret (required).

    • e.g. Notabene: the credentials are found in: API Credentials.

  • Click SUBMIT.

image-20250226-100516.png
  • A validation notification should appear - “Configuration is valid” or “Configuration is not valid”.

image-20250226-100618.png
  • Use the “TEST CONFIGURATION” button to retest as needed.

Fetch VASPs

After the Travel Rule Provider is correctly configured, you’ll need to fetch an updated VASP list.

image-20250226-101458.png

VASP Filtering

  1. Navigate to your VASP list: https://generalbytes.atlassian.net/wiki/spaces/ESD/pages/3671359504

  2. Select your preferred VASPs. The selected VASPs will be shown on the BATM screen to the Customer during a transaction. Your customer will have the option of selecting arbitrary VASPs (see video).

image-20250226-102954.png
  • Mark desired VASPs as favorites (or hidden).

    • Favorites will be displayed at the top of the list (starred), and also at the top at the BATM.

    • Hidden VASPs won’t be visible or searchable on terminal.

image-20250226-103317.png

Travel Rule Settings

  • Add (or reconfigure) your Travel Rule Setting.

  • Select the Travel Rule Provider that offers custodial wallets.

  • Select the VASP that represents your Organization.

    • This VASP must have the correct DID (e.g. Notabene > API Credentials > Your VASP DID).

image-20250226-110631.png
image-20250226-110712.png
  • The “Counterparty response delay” represents the time that the BATM will wait for a response from the VASP counterparty.

image-20250226-154623.png
  • You may combine Travel Rule Settings with both custodial, unhosted, and self-declared wallet ownership.

image-20250226-110613.png

Outgoing Transfers Detail:

When customer perform transaction with custodial wallet on terminal.
Wallet type - Custodial

image-20250226-110957.png

VASP representing your organization

image-20250226-111144.png

VASP selected by customer on terminal

image-20250226-111219.png

Transfer status

image-20250226-111253.png

And other information about the transaction - transaction type, terminal, originator and beneficiary

image-20250226-111547.png

Terminal flow - custodial wallet:

device-2025-02-26-135300.mp4
  • Demonstration of a BUY using an unknown wallet,

    • where the Customer selects the option “Custodial”, and selects the Counterparty VASP.

  • When the Customer's wallet is known to the server, the flow will be slightly different:

    • the customer doesn’t need to select the wallet type or VASP, and

    • they go directly to the [enter amount] screen.


Testing Custodial Flow

You can create dummy Travel Rule VASP tests (simulating a VASP provider response) by creating a demo configuration in this config file:

https://generalbytes.atlassian.net/wiki/x/AQDZ-g

It’s main purpose is to test all interactions with external travel rule services. This covers the TR API.

Every interaction with the demo provider (when a method is called) will be logged with the prefix Demo TR: in the master.log

If you want to test if the TR provider can provide the wallet type, then configure that wallet as a known wallet. This data will be used to determine the wallet type (if not already resolved e.g. from previous transaction).

Custodial flow specifics:

By default there are 3 available VASPs simplifying custodial flow tests:

  • Accept transfer VASP - when selected: the transfer will be approved by the demo provider.

  • Reject transfer VASP - when selected: the transfer will be rejected by the demo provider.

  • Timeout transfer VASP - when selected: the transfer won’t be resolved by the provider until the time limit expires.

Transfers will be automatically approved/rejected 1 second after receiving the “create transfer” request.

Copyright © 2020-2025 General Bytes USA LLC