Initiates a travel rule transaction, preparing it for execution. This step is crucial before sending the actual transaction to the Notabene provider for compliance with regulatory requirements.
Quick Navigation : Function Index
- Create Transaction by Native Coin for Withdrawal
- Create Transaction by Token for Withdrawal
- Create Transaction by Native Coin (UTXO) for Deposit
- Create Transaction by Token (Non-UTXO) for Deposit
- Create Transaction by Native Coin (Non-UTXO) for Deposit
Create Transaction by Native Coin for Withdrawal
Example Request Body
{
"wallet":{
"coin": "eth",
"walletId":1
},
"transaction":{
"recipientsData":{
"recipients":[
{
"address":"0xa5946470206572eC729DA064fDe6a044CCfbE537",
"amount":0.008
}
],
"sequenceId":"e6d677e9-d66a-4c7f-aeb6-73a02f0657e2"
}
},
"travelRule":{
"travelRuleTransactionOptions":{
"sequenceId":"e6d677e9-d66a-4c7f-aeb6-73a02f0657e2",
"comment":"Test Comment",
"outputs":[{
"custodial": false,
"data":null,
"vasp" : {
"id": "did:ethr:0x645fa50712c17cbeff5a52f4199b9a5e283cdea6"
},
"beneficiary": {
"type": "natural",
"name": "Microsoft",
"address": {
"address1": "1st main",
"address2": "M G road",
"city": "Bengalure",
"country": "IN"
}
},
"originator":{
"type":"natural",
"accountNumber": null,
"referenceNumber": "12345",
"name": "Bruce",
"dob": "2020-04-02",
"pob": "London",
"address": {
"address1": "main streat 101",
"address2": "address line 2",
"city": "London",
"country": "GB"
},
"identification": {
"type": "ARNU",
"number": "12345Number",
"country": "IN",
"authority": "Govt of Italy"
}
}
}]
}
}
}
Pre-Transaction Validation for Compliance with the Travel Rule
To ensure compliance with the Travel Rule, it's necessary to validate crucial transaction details such as the target address, amount, and sequenceId before executing the transaction. This validation is achieved by sending the recipientsData to Notabene transactions.
This step is pivotal as it verifies the provided data against the Travel Rule requirements. It's important to note that the same recipientsData validated against the Travel Rule must be used when executing the actual transaction. Any discrepancy in the address, amount, or sequenceId could result in the transaction not being broadcasted on the blockchain. This process aids in maintaining regulatory compliance and ensures accurate adherence to the Travel Rule requirements.
Response Body
In the event of a transaction failure, the system will generate the following response:
{
"success": true,
"data": [
"SequenceId: 05aa3ab6-66af-484d-8803-e0cae74ea0bf - Message: validation fail"
]
}
If the response indicates success
as true
, it signifies that the Travel Rule transaction has been successfully created. The system will display the following response :
{
"success": true,
"data": [
{
"travelRuleTransactionResponse": [
{
"appId": 12,
"walletId": 6361,
"asset": "ETH",
"origin": "0x5dce8dc7ae6eeca7abb378406db5965c1a4684cd",
"destination": "0x371b6bc5FcA76d6044E273fe82CcE8c5Fbf47121",
"amount": 0.006,
"amountInUnit": "6000000000000000",
"reqJson": {
"sequenceId": "05aa3ab6-66af-484d-8803-e0cae74ea0bf",
"transaction": {
"asset": "ETH",
"amount": 0.006,
"origin": "0x5dce8dc7ae6eeca7abb378406db5965c1a4684cd",
"amountInUnit": "6000000000000000",
"destination": "0x371b6bc5FcA76d6044E273fe82CcE8c5Fbf47121",
"data": null,
"comment": "Test Comment"
},
"custodial": false,
"vasp": {
"id": "did:ethr:0x645fa50712c17cbeff5a52f4199b9a5e283cdea6"
},
"originator": {
"type": "natural",
"accountNumber": null,
"referenceNumber": "12345",
"name": "Bruce",
"dob": "2020-04-02",
"pob": "London",
"address": {
"address1": "main streat 101",
"address2": "address line 2",
"city": "London",
"country": "GB"
},
"identification": {
"type": "ARNU",
"number": "12345Number",
"country": "IN",
"authority": "Govt of Italy"
}
},
"beneficiary": {
"type": "natural",
"name": "Microsoft",
"address": {
"address1": "1st main",
"address2": "M G road",
"city": "Bengalure",
"country": "IN"
}
}
},
"status": 2,
"byPassCreate": false,
"orgId": 943,
"createdBy": 1565,
"data": null,
"comment": "Test Comment",
"sequenceId": "05aa3ab6-66af-484d-8803-e0cae74ea0bf",
"type": "send",
"trTxnId": "679d1cfe-722c-43a4-af18-6b0e1ed24bd4",
"link": "https://app.notabene.dev/dashboard/transactions/all?transactionQuery=679d1cfe-722c-43a4-af18-6b0e1ed24bd4",
"travelStatus": "SENT",
"resJson": {
"id": "679d1cfe-722c-43a4-af18-6b0e1ed24bd4",
"status": "SENT",
"transactionType": "TRAVELRULE",
"transactionAsset": "ETH",
"transactionAmount": "6000000000000000",
"chargedQuantity": 11.35248,
"amountInLocalCurrency": {
"currency": "SGD",
"amountInLocalCurrency": 15.38742
},
"beneficiaryAmountInLocalCurrency": {
"currency": "SGD",
"amountInLocalCurrency": 15.38742
},
"originatorDid": "did:ethr:0x8e3790643419b330152671d871a5113d5e2d39ae",
"beneficiaryDid": "did:ethr:0x1ce54decdf299dbab406ec192ec1e676cf5e2f45",
"isTest": null,
"originatorVASPdid": "did:ethr:0x1d4eb41bf400506fc5b77defd5ea9171652b3464",
"beneficiaryVASPdid": "did:ethr:0x645fa50712c17cbeff5a52f4199b9a5e283cdea6",
"transactionBlockchainInfo": {
"origin": "0x5dce8dc7ae6eeca7abb378406db5965c1a4684cd",
"destination": "0x371b6bc5FcA76d6044E273fe82CcE8c5Fbf47121"
},
"ivms101": {
"originator": {
"originatorPersons": [
{
"naturalPerson": {
"name": [
{
"nameIdentifier": [
{
"primaryIdentifier": "Bruce"
}
]
}
],
"geographicAddress": [
{
"addressLine": [
"main streat 101",
"address line 2"
],
"countrySubdivision": [
"London"
],
"country": "GB"
}
],
"nationalIdentification": {
"nationalIdentifier": "12345Number",
"nationalIdentifierType": "ARNU",
"countryOfIssue": "IN",
"registrationAuthority": "Govt of Italy"
},
"dateAndPlaceOfBirth": {
"dateOfBirth": "2020-04-02",
"placeOfBirth": "London"
},
"countryOfResidence": "GB",
"customerIdentification": "12345"
}
}
],
"accountNumber": [
"0x5dce8dc7ae6eeca7abb378406db5965c1a4684cd"
]
},
"beneficiary": {
"beneficiaryPersons": [
{
"naturalPerson": {
"name": [
{
"nameIdentifier": [
{
"primaryIdentifier": "Microsoft"
}
]
}
],
"geographicAddress": [
{
"addressLine": [
"1st main",
"M G road"
],
"countrySubdivision": [
"Bengalure"
],
"country": "IN"
}
],
"countryOfResidence": "IN"
}
}
],
"accountNumber": [
"0x371b6bc5FcA76d6044E273fe82CcE8c5Fbf47121"
]
},
"originatingVASP": {
"originatingVASP": {
"legalPerson": {
"name": {
"nameIdentifier": [
{
"legalPersonName": "Lmnl 1 (Originator)",
"legalPersonNameIdentifierType": "LEGL"
}
]
}
}
}
},
"beneficiaryVASP": {
"beneficiaryVASP": {
"legalPerson": {
"name": {
"nameIdentifier": [
{
"legalPersonName": "Lmnl",
"legalPersonNameIdentifierType": "LEGL"
}
]
}
}
}
}
},
"ivms101Encrypted": null,
"protocol": "TRLight",
"protocolData": {
"trLightData": {
"notificationEmails": [],
"accessLinks": []
}
},
"originatorProof": null,
"beneficiaryProof": null,
"actions": [
{
"hash": "2d619b08dcffb65e8f8a5f734bb03c51ac08da77135fe9e85c8bd979b5b408eb65711edc11ff94b0e7b2724e20fd4f0f41b0c680051d3c26358346be7642a94c",
"issuerDID": "did:ethr:0xafc2bd1c51888fc758e5c7a0dd49e6a82fdaac59",
"action": "approve",
"actionData": null,
"transactionId": "679d1cfe-722c-43a4-af18-6b0e1ed24bd4",
"createdAt": "2023-06-30T05:39:44.151Z",
"createdBy": "did:ethr:0xafc2bd1c51888fc758e5c7a0dd49e6a82fdaac59"
},
{
"hash": "2cd5eb67c0c33e8beecf0cd128fa2f145a535e8c9e448585fe3313518f2842a153f73e131f6eb17e76bace2b5f473879a421c3405f03864e5457acd088f60a7b",
"issuerDID": "did:ethr:0xafc2bd1c51888fc758e5c7a0dd49e6a82fdaac59",
"action": "create",
"actionData": "{\"travelRuleBehavior\":false,\"transactionAsset\":\"ETH\",\"transactionAmount\":\"6000000000000000\",\"originatorVASPdid\":\"did:ethr:0x1d4eb41bf400506fc5b77defd5ea9171652b3464\",\"transactionBlockchainInfo\":{\"origin\":\"0x5dce8dc7ae6eeca7abb378406db5965c1a4684cd\",\"destination\":\"0x371b6bc5FcA76d6044E273fe82CcE8c5Fbf47121\"},\"beneficiaryVASPdid\":\"did:ethr:0x645fa50712c17cbeff5a52f4199b9a5e283cdea6\",\"originatorDid\":\"did:ethr:0x8e3790643419b330152671d871a5113d5e2d39ae\",\"beneficiaryDid\":\"did:ethr:0x1ce54decdf299dbab406ec192ec1e676cf5e2f45\"}",
"transactionId": "679d1cfe-722c-43a4-af18-6b0e1ed24bd4",
"createdAt": "2023-06-30T05:39:43.731Z",
"createdBy": "did:ethr:0xafc2bd1c51888fc758e5c7a0dd49e6a82fdaac59"
}
],
"createdAt": "2023-06-30T05:39:43.464Z",
"createdBy": "did:ethr:0xafc2bd1c51888fc758e5c7a0dd49e6a82fdaac59",
"updatedAt": "2023-06-30T05:39:43.701Z",
"updatedBy": "did:ethr:0xafc2bd1c51888fc758e5c7a0dd49e6a82fdaac59",
"pii": {
"originator": {
"accountNumber": [
"QmNzKmJx9kh3L9DD17GNe3DSzSXxZQMeoWynxZMGTMV457"
],
"originatorPersons": [
{
"naturalPerson": {
"name": [
{
"nameIdentifier": [
{
"primaryIdentifier": "QmNrEBNXTY9Mgn1ocFnps8ux6tENdJ3S28acstGcpHPyXT"
}
]
}
],
"geographicAddress": [
{
"country": "QmbFW7RUTw9fMcALJGKJvdqX1BGoJk6E6iGhuK8yoopJTw",
"addressLine": [
"QmaMxwFwNyx1UDBb9mZnW782hyD9eSN4FeLLzb4m3w7AH5",
"QmQV9V7NbqJLMVURhfGSTYRncg6x8uTxR8CjDb5eCYhQkw"
],
"countrySubdivision": [
"QmUJTBS62LARJXuzxPP5V6Mt1CasVNmeC36KsxBwdhKy1S"
]
}
],
"countryOfResidence": "QmQbhd6MA1QB6jYM92nMFgy3fsw41DUggZrjTpNEtM2ekJ",
"dateAndPlaceOfBirth": {
"dateOfBirth": "QmSLYxXvNfLUzAnJREYKGM98nLpphU5Qi2Ky9oJ8ut9k3C",
"placeOfBirth": "QmeBGKxjPfwHEoxvfEqjUWEQxcEu7HtLaveFFzKF5x9YzB"
},
"customerIdentification": "QmV4noD4nKNqqNZ1SMfKFQtxTqzsBGB1dYXKu9JFEtw3G5",
"nationalIdentification": {
"countryOfIssue": "Qma2ELbb5AR6w6m9uaKZfsSbZhmLPhSnsMYKi3gxAsLcML",
"nationalIdentifier": "QmRt2aXnEfdQ2nWDMutHKVYB8y9SA3mzoEnqQLF1t1BxNS",
"registrationAuthority": "QmbgjTf7P5vFX9hFywm5Un5tGqycZwaUVAZDR8EarJwssy",
"nationalIdentifierType": "QmUiWdV2HRzcj9LC7y6vFZaLEVM57HtdPpMrd52kYmZdiz"
}
}
}
]
},
"beneficiary": {
"accountNumber": [
"QmNWmknXsr9Axx2tgnT7THLbCyADXSE4obDtNgv9Nqh7zA"
],
"beneficiaryPersons": [
{
"naturalPerson": {
"name": [
{
"nameIdentifier": [
{
"primaryIdentifier": "QmUyBPtV9M2KNFR4YThY39uciMY1T3Yp5s7ycTt7v2jsLG"
}
]
}
],
"geographicAddress": [
{
"country": "QmWCpNGSj3jezyQUdS8DLmBYtTFzKLPfLMfMbBWUswe1J8",
"addressLine": [
"QmYzjNDdGXbgqp8RsbRcfT2Vw8cH5fACiV71JsHF8jiamZ",
"QmbWUAQVt49fkk2HZBWLZsbKnP9zfVFwoYAZxAdf7y4Jt5"
],
"countrySubdivision": [
"QmeAXFYc26GPDYVUCpkT8cDtzQpFE8dRqdHQNqT9mdU1B1"
]
}
],
"countryOfResidence": "QmcvGp8nL1ih5w15orZcMGpTiwBJp4UYvgUZsYvu7DZPnG"
}
}
]
}
},
"pii_url": "https://pii.notabene.dev/",
"tracked_billing": false
},
"id": 171,
"createdAt": "2023-06-30T05:39:44.000Z",
"updatedAt": "2023-06-30T05:39:44.000Z"
}
]
}
]
}
Transaction approval can be managed in two ways: through manual or automatic approval. With manual approval, the customer is tasked with manually setting the transaction's approval status. After the transaction receives approval via the Notabene portal, it's crucial for the customer to retain the recipient data for future use.
If the transaction approval is set to auto, the following steps should be followed:
-
Create Travel Transaction:
- Initiate the creation of a Travel Transaction using the appropriate API or method. This step involves providing the necessary transaction details, including the recipient data, such as address, amount, and sequence ID.
-
Send Many Transaction:
- Proceed with sending the transaction using the "Send Many" method or API. This step triggers the actual transaction to be executed and broadcasted. It is important to ensure that the recipient data matches the previously validated travel rule transaction to maintain consistency.
Applicability of Transaction Approval Steps for Both Hot Withdrawal and Deposit Wallets
It's important to highlight that these procedures apply to both the Hot Withdrawal Wallet and the Deposit Wallet. By adhering to these steps, you can maintain a structured process for transaction approval, be it manual or automatic, and correctly carry out travel rule transactions in compliance with the set protocols and requirements for preserving recipient data.
Create Transaction by Token for Withdrawal
Example Request Body
{
"wallet":{
"coin": "eth",
"walletId":1,
"allToken":true,
"tokenOptions":{
"tokenName":"USDC",
"tokenAddress":"0xD87Ba7A50B2E7E660f678A895E4B72E7CB4CCd9C"
}
},
"transaction":{
"recipientsData":{
"recipients":[
{
"address":"0xa5946470206572eC729DA064fDe6a044CCfbE537",
"amount":0.008
}
],
"sequenceId":"e6d677e9-d66a-4c7f-aeb6-73a02f0657e2"
}
},
"travelRule":{
"travelRuleTransactionOptions":{
"sequenceId":"e6d677e9-d66a-4c7f-aeb6-73a02f0657e2",
"comment":"Test Comment",
"outputs":[{
"custodial": false,
"data":null,
"vasp" : {
"id": "did:ethr:0x645fa50712c17cbeff5a52f4199b9a5e283cdea6"
},
"beneficiary": {
"type": "natural",
"name": "Microsoft",
"address": {
"address1": "1st main",
"address2": "M G road",
"city": "Bengalure",
"country": "IN"
}
},
"originator":{
"type":"natural",
"accountNumber": null,
"referenceNumber": "12345",
"name": "Bruce",
"dob": "2020-04-02",
"pob": "London",
"address": {
"address1": "main streat 101",
"address2": "address line 2",
"city": "London",
"country": "GB"
},
"identification": {
"type": "ARNU",
"number": "12345Number",
"country": "IN",
"authority": "Govt of Italy"
}
}
}]
}
}
}
Create Transaction by Native Coin(UTXO) for Deposit
Example Request Body
{
"wallet":{
"coin": "btc",
"walletId":2
},
"transaction":{
"consolidateTransactionResult":["BIND GET CONSLODATION TRANSACTION RESPONSE"]
},
"travelRule":{
"travelRuleTransactionOptions":{
"sequenceId":"07eac7bf-8ca4-48a8-b008-3a4949713dcd",
"comment":"Test Comment",
"outputs":[{
"custodial": false,
"data":null,
"vasp" : {
"id": "did:ethr:0x645fa50712c17cbeff5a52f4199b9a5e283cdea6"
},
"beneficiary": {
"type": "natural",
"name": "Microsoft",
"address": {
"address1": "1st main",
"address2": "M G road",
"city": "Bengalure",
"country": "IN"
}
},
"originator":{
"type":"natural",
"accountNumber": null,
"referenceNumber": "12345",
"name": "Bruce",
"dob": "2020-04-02",
"pob": "London",
"address": {
"address1": "main streat 101",
"address2": "address line 2",
"city": "London",
"country": "GB"
},
"identification": {
"type": "ARNU",
"number": "12345Number",
"country": "IN",
"authority": "Govt of Italy"
}
}
}]
}
}
}
Create Transaction by Token(Non-UTXO) for Deposit
Example Request Body
{
"wallet":{
"coin": "eth",
"walletId":1,
"allToken":true,
"tokenOptions":{
"tokenName":"USDC",
"tokenAddress":"0xD87Ba7A50B2E7E660f678A895E4B72E7CB4CCd9C"
}
},
"transaction":{
"consolidateTransactionResult":["BIND GET CONSLODATION TRANSACTION RESPONSE"]
},
"travelRule":{
"travelRuleTransactionOptions":{
"comment":"Test Comment",
"outputs":[{
"custodial": false,
"data":null,
"vasp" : {
"id": "did:ethr:0x645fa50712c17cbeff5a52f4199b9a5e283cdea6"
},
"beneficiary": {
"type": "natural",
"name": "Microsoft",
"address": {
"address1": "1st main",
"address2": "M G road",
"city": "Bengalure",
"country": "IN"
}
},
"originator":{
"type":"natural",
"accountNumber": null,
"referenceNumber": "12345",
"name": "Bruce",
"dob": "2020-04-02",
"pob": "London",
"address": {
"address1": "main streat 101",
"address2": "address line 2",
"city": "London",
"country": "GB"
},
"identification": {
"type": "ARNU",
"number": "12345Number",
"country": "IN",
"authority": "Govt of Italy"
}
}
}]
}
}
}
Create Transaction by Native Coin(Non-UTXO) for Deposit
Example Request Body
{
"wallet":{
"coin": "eth",
"walletId":1
},
"transaction":{
"consolidateTransactionResult":["BIND GET CONSLODATION TRANSACTION RESPONSE"]
},
"travelRule":{
"travelRuleTransactionOptions":{
"comment":"Test Comment",
"outputs":[{
"custodial": false,
"data":null,
"vasp" : {
"id": "did:ethr:0x645fa50712c17cbeff5a52f4199b9a5e283cdea6"
},
"beneficiary": {
"type": "natural",
"name": "Microsoft",
"address": {
"address1": "1st main",
"address2": "M G road",
"city": "Bengalure",
"country": "IN"
}
},
"originator":{
"type":"natural",
"accountNumber": null,
"referenceNumber": "12345",
"name": "Bruce",
"dob": "2020-04-02",
"pob": "London",
"address": {
"address1": "main streat 101",
"address2": "address line 2",
"city": "London",
"country": "GB"
},
"identification": {
"type": "ARNU",
"number": "12345Number",
"country": "IN",
"authority": "Govt of Italy"
}
}
}]
}
}
}