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.- Get your VASP DID, your Decentralized Identifier in the Notabene network, with Get VASP details.
- 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.
- Register the key on your VASP details.
- Assign your VASP DID to every receiving vault account. Incoming transactions to a vault account without an assigned DID cannot be screened.
- In the Console, connect Notabene with your Notabene API key, secret, and VASP DID. You receive an email once the connection is approved.
- In your Notabene dashboard, set the Notabene status a transaction must reach before Fireblocks treats screening as complete.
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 atravelRuleMessage bypasses Travel Rule screening.
- Validate the Travel Rule data with the full validation endpoint, passing the transaction details and the originator and beneficiary data you have. Set the
notationquery parameter explicitly: it defaults tonotabene, and the default will change tofireblocks, which translates asset tickers and amounts automatically. The basic Validate Travel Rule Transaction endpoint is being deprecated.
-
Identify the beneficiary VASP if it was not found automatically: search the VASP directory, for example
?search=Fireblocks, and pass its DID asbeneficiaryVASPdid. -
Collect the missing data listed in
warnings, with Notabene’s widget or API, and validate again untilisValidistrue. See Notabene’s validation documentation. - 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.
-
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.Multiple legal entities
To map each vault account to the right legal entity, connect your entities as a Gateway VASP with subsidiary VASPs:- Create the entities in Notabene.
- Ask Notabene to establish the Gateway and subsidiary relationship.
- Generate a shared encryption key.
- Assign each vault account to its VASP.
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.