Notabene
Notabene is a Travel Rule VASP network provider. Website: https://notabene.id/
Notabene provides secure infrastructure enabling Operators to efficiently exchange customer identification data and comply with global Travel Rule regulations.
Overview
Create an incoming webhook to CAS for Notabene notifications.
Create an account at Notabene.
Locate and secure the Notabene API keys.
Choose Notabene manual/automatic transfers.
Configure the remaining CAS settings.
Test it.
1. Incoming Webhook Endpoints
Notabene will need to communicate with CAS. It does so via webhooks. You’ll need to expose the CAS REST API to the Notabene servers.
Choose a method to serve the TLS/SSL endpoints:
Use free NGINX and Let’s Encrypt: https://generalbytes.atlassian.net/l/cp/nfb1x7Xd
A detailed NGINX server block is explained below.
Use non-free Cloudflare: https://generalbytes.atlassian.net/l/cp/V4Me1X2b
Notabene must be able to contact CAS at:
https://[master IP]:7743/extensions/notabene/webhooks
The exposed endpoint must be served using the default TLS port 443 (no other port can be specified).
The most efficient way to do this is to deploy a subdomain that points to the internal CAS webhook.
Example subdomain endpoint: https://notabene.yourcasdomain.com
Provided to Notabene in step 3.
Further secure your your endpoint by restricting access to the endpoint from only these IPs:
Notabene server IPs: https://docs.svix.com/receiving/source-ips
After you have decided upon & exposed the endpoint, enable it:
Create the config file
/batm/config/notabene
with:sudo nano /batm/config/notabene
Add the following required setting:
webhooksEnabled=true
Save the file (Ctrl+X, “y”, do not change the filename)
2. Notabene API keys
Generate new API credentials for your account.
Navigate to NOTABENE > API CREDENTIALS > GENERATE API CREDENTIALS
Confirm Credential generation.
Locate and save your Client ID, Client Secret, and Your VASP DID:
Transfer the API Key data to the Notabene Travel Rule Provider in CAS:
Transfer [Your VASP DID] to your own CAS Travel Rule VASP setting:
3. Notabene account configuration
Set the Webhook
Notabene must be told how to contact your CAS. Configure the "Multi-Message Webhook" setting to match the endpoint you created in Step 1 (above).
Example from Step 1 (above):
https://notabene.yourcasdomain.com/my/webhook/path
The webhook should be live/awake/usable at this point.
Navigate to NOTABENE > SETTINGS > Multi-Message Webhook
Add your Endpoint
Webhook Endpoints
Endpoint URL is required (determined in Step 1 above).
Description is optional.
Enable
notification.transactionUpdated
(mandatory for Buy transactions).The other two notifications are for Sell transactions. They will be implemented later, but enable them all now to avoid problems down the road.
Rules for incoming & outgoing transfers
Navigate to NOTABENE > RULES > OUTBOUND
Choose Automatically accept all outgoing transfers or Manually review all outgoing transfers.
Automatically accept all outgoing transfers will approve and send all transfers automatically to the counterparty VASP.
Alternate method: set
automaticallyApproveOutgoingTransfers=true
in/batm/config/notabene
Manually review all outgoing transfers forces manual approval for all transfers.
CAS Console Configuration
Some Notabene settings are located in the file /batm/config/notabene
automaticallyApproveOutgoingTransfers=true/false
(default = false): override the automatic approval setting on the Notabene website. See: Notabene | Rules for incoming & outgoing transferswebhooksEnabled=true
webhook enabled -> this is mandatory for VASP response
NGINX Server Block
This NGINX server block will expose the webhooks to: https://yourcasdomain.com/notabene-wh
Replace
yourcasdomain.com
with your actual domain.Replace
10.3.2.1
with the actual master service IP reported insudo /batm/batm-manage info
For specific NGINX instructions, see: NGINX as a Proxy Server
server {
listen 443 ssl;
server_name notabene.yourcasdomain.com;
ssl_certificate /etc/letsencrypt/live/yourcasdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourcasdomain.com/privkey.pem;
access_log /var/log/nginx/notabene_access.log;
error_log /var/log/nginx/notabene_error.log;
location /notabene-wh {
proxy_pass https://10.3.2.1:7743/extensions/notabene/webhooks;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
If you prefer to implement a subdomain (i.e. Cloudflare), modify location
as follows:
location / {
Create your CNAME (e.g. “notabene-wh”) pointing to root, and
steer the Notabene webhooks to:
https://notabene-wh.yourcasdomain.com
Related content
Copyright © 2020-2025 General Bytes USA LLC