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.
Publish your DID document
In production. In sandbox, Notabene publishes it.
Page
Set your policies
Always. New accounts flag every transfer until you change the general default.
Page
| Step | Needed | Page |
|---|---|---|
| Create your account and have it activated | Always. | Create your account |
| Create an API credential and get an access token | Always. | Authentication |
| Publish your DID document | In production. In sandbox, Notabene publishes it. | Host your DID document |
| Set your policies | Always. New accounts flag every transfer until you change the general default. | Policies |
| Register your customers | Always. | Customers |
| Register your deposit addresses | For deposits, in a self-managed integration. | Wallets |
| Add your webhook endpoint and verify its deliveries | Recommended. | Webhooks |
| Connect your wallet provider | In a wallet-managed integration. | Integrations |
| Connect your screening providers | Optional. | Integrations |
| Collect the Travel Rule data | For withdrawals. | Data collection |
| Send a first withdrawal and settle it | For withdrawals. | Withdrawals |
| Receive a first deposit and credit it | For deposits. | Deposits |
Checks before production
Test these in sandbox.
| Check | Reason | Page |
|---|---|---|
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 |
| Check | Reason | Page |
|---|---|---|
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.
| Counterparty | What it does | Page |
|---|---|---|
did:web:notabeneid-8d6e3.sandbox.notabene.id:ch | Confirms the address and authorizes the transfer. | Withdrawals |
did:web:notabeneid-9c012.sandbox.notabene.id:fi | Confirms the address and rejects the transfer. | Withdrawals |
did:web:notabeneid-3b085.sandbox.notabene.id:be | Confirms the address and does nothing else, so the transfer waits for its authorization. | Statuses |
did:web:notabeneid-23053.sandbox.notabene.id:hk | Rejects the transfer because the beneficiary name does not match. | Withdrawals |
did:web:notabeneid-2de44.sandbox.notabene.id:br | Rejects the address as not theirs. | Withdrawals |
did:web:notabeneid-3a087.sandbox.notabene.id:se | Does not respond. | Statuses |
did:web:notabeneid-2fc70.sandbox.notabene.id:tr | Provides the missing information when you request the sender’s data. | Deposits, funds first |
| Counterparty | What it does | Page |
|---|---|---|
did:web:notabeneid-8d6e3.sandbox.notabene.id:ch | Confirms the address and authorizes the transfer. | Withdrawals |
did:web:notabeneid-9c012.sandbox.notabene.id:fi | Confirms the address and rejects the transfer. | Withdrawals |
did:web:notabeneid-3b085.sandbox.notabene.id:be | Confirms the address and does nothing else, so the transfer waits for its authorization. | Statuses |
did:web:notabeneid-23053.sandbox.notabene.id:hk | Rejects the transfer because the beneficiary name does not match. | Withdrawals |
did:web:notabeneid-2de44.sandbox.notabene.id:br | Rejects the address as not theirs. | Withdrawals |
did:web:notabeneid-3a087.sandbox.notabene.id:se | Does not respond. | Statuses |
did:web:notabeneid-2fc70.sandbox.notabene.id:tr | Provides 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)
| Counterparty | What it does | Page |
|---|---|---|
did:web:notabeneid-e5961.sandbox.notabene.id:fr | Sends 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:ee | Sends 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 |
| Counterparty | What it does | Page |
|---|---|---|
did:web:notabeneid-e5961.sandbox.notabene.id:fr | Sends 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:ee | Sends 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 |
Updated 3 days ago
