Skip to main content
Notabene is a Travel Rule provider. It is a premium add-on that Fireblocks Support enables on Developer Sandbox, Testnet, and Mainnet workspaces. You connect it and build its policy in the Console, and send Travel Rule data through the Fireblocks API. Fireblocks does not store Travel Rule data permanently and does not hold the decryption keys.

What you can do through the API

To read a transaction’s Notabene result, use the tr field; see Transaction Screening Operations.

Step 1: Connect Notabene

You need a Notabene account. By default, your Notabene production environment connects to your Fireblocks production workspace, and your Notabene sandbox to your Fireblocks sandbox workspace; for any other pairing, contact Fireblocks Support.
  1. Get your VASP DID, your Decentralized Identifier in the Notabene network, with Get VASP details.
  2. Create an Ed25519 DID key with the Notabene CLI. Other VASPs use its public key to encrypt PII sent to you. See Notabene’s Fireblocks integration docs.
  3. Register the key on your VASP details.
  4. Assign your VASP DID to every receiving vault account. Incoming transactions to a vault account without an assigned DID cannot be screened.
  5. In the Console, connect Notabene with your Notabene API key, secret, and VASP DID. You receive an email once the connection is approved.
  6. In your Notabene dashboard, set the Notabene status a transaction must reach before Fireblocks treats screening as complete.
To switch to new API keys, submit a ticket to Fireblocks Support with the new API key, secret, and VASP DID.

Step 2: Build the policy

Build the Trigger and Outcome in the Console; default rules apply until you create your own. See Notabene on the Help Center. Notabene supports every Outcome action: Accept, Reject, Alert, Freeze, Wait, and Cancel. Outcome rules act on Notabene’s status:

Step 3: Set up the Fireblocks SDK

Install the Fireblocks SDK in your system; Travel Rule data is validated and attached from your code. See TypeScript SDK.

Step 4: Send an outgoing transaction

An outgoing transaction without a travelRuleMessage bypasses Travel Rule screening.
  1. Validate the Travel Rule data with the full validation endpoint, passing the transaction details and the originator and beneficiary data you have. Set the notation query parameter explicitly: it defaults to notabene, and the default will change to fireblocks, which translates asset tickers and amounts automatically. The basic Validate Travel Rule Transaction endpoint is being deprecated.
  1. Identify the beneficiary VASP if it was not found automatically: search the VASP directory, for example ?search=Fireblocks, and pass its DID as beneficiaryVASPdid.
  2. Collect the missing data listed in warnings, with Notabene’s widget or API, and validate again until isValid is true. See Notabene’s validation documentation.
  3. Encrypt the PII with the Notabene PII SDK: end-to-end, which only the counterparty VASP can decrypt, or hybrid, which Notabene can decrypt as well.
  4. Create the transaction with the encrypted message as travelRuleMessage:

Incoming transactions

Fireblocks sends Notabene the destination address, the amount, and the VASP DID assigned to the receiving vault account. If no Travel Rule message is attached, Fireblocks creates a blank one so the transaction can still be screened. There is nothing for you to create or resolve: unlike Sumsub and GTR, Notabene does not use Travel Rule messages that you manage through the API. To map each vault account to the right legal entity, connect your entities as a Gateway VASP with subsidiary VASPs:
  1. Create the entities in Notabene.
  2. Ask Notabene to establish the Gateway and subsidiary relationship.
  3. Generate a shared encryption key.
  4. Assign each vault account to its VASP.
Each vault account maps to exactly one VASP; a VASP can cover many vault accounts.

Testing

Use Notabene’s test VASPs (RoboVASPs), test environment, and Postman collection. See Testing transactions and the Fireblocks–Notabene Postman collection. Some Notabene documentation is password-protected; for access, contact your Customer Success Manager.

Limitations

  • Unscreened routes: vault-to-vault, vault-to-exchange, vault-to-Gas Station, Gas Station-to-vault, and non-custodial wallet to non-custodial wallet within the same workspace.
  • Cannot run alongside Sumsub or GTR on the same workspace.
  • Assets: Fireblocks supports a subset of the assets Notabene supports (most CoinGecko-listed assets). On Testnet: BTC_TEST, ETH_TEST5, XRP_TEST. To request more, contact Fireblocks Support.
  • Incoming transfers from Fireblocks P2P Network connections default to an “Unsupported Asset” status.
  • Disconnecting Notabene does not remove addresses already registered in Notabene’s address book.

On the Help Center

To connect Notabene or build Travel Rule rules in the Console, see Notabene.