Go live

Set up and test your integration in sandbox first, then repeat the setup in production. Sandbox and production are separate accounts, so production needs its own API credential, webhook endpoint, customers and addresses.

Setup

Some steps depend on your integration type.

01

Create your account and have it activated

Always.

Page

Create your account

02

Create an API credential and get an access token

Always.

Page

Authentication

03

Publish your DID document

In production. In sandbox, Notabene publishes it.

Page

Host your DID document

04

Set your policies

Always. New accounts flag every transfer until you change the general default.

Page

Policies

05

Register your customers

Always.

Page

Customers

06

Register your deposit addresses

For deposits, in a self-managed integration.

Page

Wallets

07

Add your webhook endpoint and verify its deliveries

Recommended.

Page

Webhooks

08

Connect your wallet provider

In a wallet-managed integration.

Page

Integrations

09

Connect your screening providers

Optional.

Page

Integrations

10

Collect the Travel Rule data

For withdrawals.

Page

Data collection

11

Send a first withdrawal and settle it

For withdrawals.

Page

Withdrawals

12

Receive a first deposit and credit it

For deposits.

Page

Deposits

StepNeededPage
Create your account and have it activatedAlways.Create your account
Create an API credential and get an access tokenAlways.Authentication
Publish your DID documentIn production. In sandbox, Notabene publishes it.Host your DID document
Set your policiesAlways. New accounts flag every transfer until you change the general default.Policies
Register your customersAlways.Customers
Register your deposit addressesFor deposits, in a self-managed integration.Wallets
Add your webhook endpoint and verify its deliveriesRecommended.Webhooks
Connect your wallet providerIn a wallet-managed integration.Integrations
Connect your screening providersOptional.Integrations
Collect the Travel Rule dataFor withdrawals.Data collection
Send a first withdrawal and settle itFor withdrawals.Withdrawals
Receive a first deposit and credit itFor deposits.Deposits

Checks before production

Test these in sandbox.

CheckReasonPage
Store the ref before you create a transfer, and retry with the same ref.Notabene never creates two transfers with the same ref, so a retry after a timeout is safe.Sending a create again
Send the funds only when the transfer is ready to settle, then record the transaction hash.Every institution on the transfer must authorize it first.Withdrawals
Credit a deposit only when the transfer is Settled.Until every institution has authorized it, a settled deposit stays SettledIncompleteAuthorization.Deposits
Verify each webhook’s signature, ignore repeats with the same svix-id and answer with a 2xx status.Deliveries can arrive more than once and out of order.Webhooks
Regularly list your Active, ReadyToSettle and SettledIncompleteAuthorization transfers and read each one for its next_action and requires_action.You still act on a transfer if a webhook is missed. The list does not include either field.Statuses and decisions in the API
Use a production API credential, webhook signing secret and token audience.Sandbox credentials do not work in production.Authentication
CheckReasonPage
Store the ref before you create a transfer, and retry with the same ref.Notabene never creates two transfers with the same ref, so a retry after a timeout is safe.Sending a create again
Send the funds only when the transfer is ready to settle, then record the transaction hash.Every institution on the transfer must authorize it first.Withdrawals
Credit a deposit only when the transfer is Settled.Until every institution has authorized it, a settled deposit stays SettledIncompleteAuthorization.Deposits
Verify each webhook’s signature, ignore repeats with the same svix-id and answer with a 2xx status.Deliveries can arrive more than once and out of order.Webhooks
Regularly list your Active, ReadyToSettle and SettledIncompleteAuthorization transfers and read each one for its next_action and requires_action.You still act on a transfer if a webhook is missed. The list does not include either field.Statuses and decisions in the API
Use a production API credential, webhook signing secret and token audience.Sandbox credentials do not work in production.Authentication

Test counterparties

In sandbox, Notabene runs test counterparties that answer transfers by themselves, so you can test each outcome without a second account of your own. To send to one, create a withdrawal with its DID as beneficiary_entity_did.

CounterpartyWhat it doesPage
did:web:notabeneid-8d6e3.sandbox.notabene.id:chConfirms the address and authorizes the transfer.Withdrawals
did:web:notabeneid-9c012.sandbox.notabene.id:fiConfirms the address and rejects the transfer.Withdrawals
did:web:notabeneid-3b085.sandbox.notabene.id:beConfirms the address and does nothing else, so the transfer waits for its authorization.Statuses
did:web:notabeneid-23053.sandbox.notabene.id:hkRejects the transfer because the beneficiary name does not match.Withdrawals
did:web:notabeneid-2de44.sandbox.notabene.id:brRejects the address as not theirs.Withdrawals
did:web:notabeneid-3a087.sandbox.notabene.id:seDoes not respond.Statuses
did:web:notabeneid-2fc70.sandbox.notabene.id:trProvides the missing information when you request the sender’s data.Deposits, funds first
CounterpartyWhat it doesPage
did:web:notabeneid-8d6e3.sandbox.notabene.id:chConfirms the address and authorizes the transfer.Withdrawals
did:web:notabeneid-9c012.sandbox.notabene.id:fiConfirms the address and rejects the transfer.Withdrawals
did:web:notabeneid-3b085.sandbox.notabene.id:beConfirms the address and does nothing else, so the transfer waits for its authorization.Statuses
did:web:notabeneid-23053.sandbox.notabene.id:hkRejects the transfer because the beneficiary name does not match.Withdrawals
did:web:notabeneid-2de44.sandbox.notabene.id:brRejects the address as not theirs.Withdrawals
did:web:notabeneid-3a087.sandbox.notabene.id:seDoes not respond.Statuses
did:web:notabeneid-2fc70.sandbox.notabene.id:trProvides the missing information when you request the sender’s data.Deposits, funds first

Two counterparties send transfers to you. You start each one with a call that names the asset, the amount, the addresses and your DID, and adds the transaction hash when the transfer should arrive settled. The address of that call and the names of its fields are still to be published. (placeholder)

CounterpartyWhat it doesPage
did:web:notabeneid-e5961.sandbox.notabene.id:frSends you a transfer with its Travel Rule data. Send it to an address you have not registered to answer the address confirmation yourself.Deposits, Travel Rule data first
did:web:notabeneid-51085.sandbox.notabene.id:eeSends you a transfer with end-to-end encrypted personal data. Add your own key to your sandbox DID document first, or the data is encrypted to the key Notabene holds for you and the test shows nothing.Host your DID document
CounterpartyWhat it doesPage
did:web:notabeneid-e5961.sandbox.notabene.id:frSends you a transfer with its Travel Rule data. Send it to an address you have not registered to answer the address confirmation yourself.Deposits, Travel Rule data first
did:web:notabeneid-51085.sandbox.notabene.id:eeSends you a transfer with end-to-end encrypted personal data. Add your own key to your sandbox DID document first, or the data is encrypted to the key Notabene holds for you and the test shows nothing.Host your DID document

Did this page help you?