Testing with Veriscope Sandbox Environment (aka Robot VASPs)
To streamline testing & integration efforts, Veriscope has a sandbox environment which enables VASPs to test the end-to-end flow without having to coordinate with others VASPs or run two nodes in parallel.
The sandbox environment simulates webhook events & responses for oVASPs and bVASPs depending on the direction of the flow. If your VASP initiates a new attestation [to a particular destination address], the sandbox will act as bVASP. On the otherhand, if your VASP responds to a particular attestation, the sandbox will act as oVASP.
This page describes how to test with the sandbox environment.
By including a test_vars parameter when creating/sending a KYC template you can determine the IVMS state code that the sandbox VASP uses when creating a KYC template. If the test_vars parameter is not set, the sandbox will auto-accept the template sent.
|
Test as Originator VASP (Sandbox as bVASP)
Step 1 - Post attestation
Using the Veriscope Postman collection, create a new attestation to any of the PCF Corp VASP test addresses listed below (tBTC, tETH, tZEC, or tXMR).
Field | Value |
---|---|
VASP ENTITY |
PCF Corp |
VASP TYPE |
BENEFICIARY |
VASP API_URL |
|
VASP TA Account |
0xC0cA43B4848823d5417cAAFB9e8E6704b9d5375c |
VASP User |
Felix Bailey |
VASP User Account (Shyft User Id) |
0xb532cCA105f966a76C3826451818b55fB2190933 |
tBTC Address |
18crLganfufUzqFB2eH7jt4jPPYze45gZs |
Private Key |
L5HBFYkwBtVCk51NCCGDogDRjy5vhn7vP2WhEy1TAwXnYTvbCA1o |
tETH Address |
0xA4bdddE6cEA9FB6a57949EBA19E6D213dc569C67 |
Private Key |
932dc3b6fae4b3d7234563f34f90487140378b1ee569cff1176f489ea9769b35 |
tZEC Address |
t1V6m4PFXCNU3zBDEHfEEwC3ZpxKAZHmiC2 |
Private Key |
L4PzvEARNJcKhTh7uBXELrXHcMaP8w9pF8rniWXnx66c1X4j76yN |
tXMR Address |
45VzrocqjddFmy6vC58XPx5unNdHQozupbuCYPtFCXGreP7mZwCLijrX2pCSeMd1jiTFLohGVwqLyJauAtQ9d8xx3WjGKax |
Private Key |
1e7b4a3c9f464b4a6f65c10089f547504dcdda67bce51cbb0bef52b3b4d4690c |
`POST` {{baseUrl}}/api/v1/server/set_v3_attestation
"ta_account": "0x5871A9b7BBd7E64db1cdDB01B631545F45A98d0c",
"user_account": "0xb532cCA105f966a76C3826451818b55fB2190933",
"jurisdiction": "5",
"coin_blockchain": "tETH",
"coin_token": "tETH",
"coin_address": "0xA4bdddE6cEA9FB6a57949EBA19E6D213dc569C67",
"coin_memo":""
|
[]
On posting an attestation, you will receive the following webhook events.
Webhook Event: NEW_ATTESTATION
"eventType": "NEW_ATTESTATION"
{
"eventType": "NEW_ATTESTATION",
"ta_account": "0x5871A9b7BBd7E64db1cdDB01B631545F45A98d0c",
"jurisdiction": "5",
"effective_time": "1628341125",
"expiry_time": "1691585925",
"is_managed": "1",
"attestation_hash": "0xf2f719d6c093732266d2a48fbaba56eebb3e3a7eb22eeecd47f445529fc7b4f7",
"transaction_hash": "0xecdf5bcf0077fb605a241200795d75d76bc23f1ad6eba827e543d42b274974cc",
"user_account": "0xb532cCA105f966a76C3826451818b55fB2190933",
"public_data": "0x00",
"public_data_decoded": null,
"documents_matrix_encrypted": "0x37383963383564316331366463343330306330343430653764323438633062373165323632396339623261613439316634313461626264653665353765626662666166633330303937303364313065353664626237643765656563376462653363336663666263336663663737656663663566636233646465363565636364373362643633623664363662313661643362643137366233366662353961636462316362356438363166333838363263336536643938613964353763363737383564633935663235306363353337383535363932613564653535303139326161373065613064336334373531633964323761343834393439303132353234323461343830393239323932356135653462353935393439343932353235323461343230393536333064656231343037326233383138643261613830383437303332633132393931616363363265393961306333333033333231613333343037643864373835623037326135636166303330646531633636366331626335366332623863326636373631623564363734333137366332336362353333356230656239333465383430646439336466666631303735666666366535333061",
"documents_matrix_encrypted_decoded": "789c85d1c16dc4300c0440e7d248c0b71e2629c9b2aa491f414abbde6e57ebfbfafc3009703d10e56dbb7d7eeec7dbe3c3fcfbc3fcf77efcf5fcb3dde65eccd73bd63b6d66b16ad3bd176b36fb59acdb1cb5d861f38862c3e6d98a9d57c67785dc95f250cc537855692a5de550192aa70ea0d3c4751c9d27a48494901252424a4809292925a5e4b59594949252524a42095630deb14072b3818d2aa80847032c12991acc62e99a0c3303321a33407d8d785b072a5caf030de1c666c1bc56c2b8c2f6761b5d6743176c23cb5335b0eb934e840dd93dfff1075fff6e530a",
"availability_address_encrypted": "0x2020202020202020202020202020202020202020202020202020202020202020",
"availability_address_encrypted_decoded": null,
"version_code": "3",
"coin_blockchain": "tETH",
"coin_token": "tETH",
"coin_address": "0xa4bddde6cea9fb6a57949eba19e6d213dc569c67",
"coin_memo": null
}
Webhook Event: OR_DATA_REQ
Handling tips
|
"eventType": "OR_DATA_REQ"
{
"eventType": "OR_DATA_REQ",
"kycTemplate": {
"AttestationHash": "0xf2f719d6c093732266d2a48fbaba56eebb3e3a7eb22eeecd47f445529fc7b4f7",
"BeneficiaryTAAddress": "0xC0cA43B4848823d5417cAAFB9e8E6704b9d5375c",
"BeneficiaryTAPublicKey": "0x04c2d213d585fed2213395e61f99b988f692aec84d38b288d14ffc4a90c879531cd92105bf1336da88ec6bf1f86a74293695cfeaa444dc9fcf2614d201e4a64c02",
"BeneficiaryUserAddress": "0xb532cca105f966a76c3826451818b55fb2190933",
"BeneficiaryUserPublicKey": "0x04030d33064a0312133b5c658d6639776c2583f536d683d337dcbef9a7a92b3e948309ed6d539af0be4789f2cb12a7f307b5f3b2bba5691d38b7f22780c7f9cf06",
"BeneficiaryTASignatureHash": "0x0b709dd4809f36a22fe48250b24a5e41e8aea491bace26627f5c68ea9b4fad3f",
"BeneficiaryTASignature": {
"r": "0x46f872cf316d3dfec32647408cb368fb2d03e99bbd8a96dd6f98548d5ab1e9ab",
"s": "0x6a2eda3f0fc77a0753d983709a851bb2e66e0d1aa13515a008658f24f252206f",
"v": "0x25"
},
"BeneficiaryUserSignatureHash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"BeneficiaryUserSignature": {
"r": "0x44b6fd5ca7bd65df4b63e532783ab9fba32021677bc86d25a19901b2bcc25212",
"s": "0x2e005a04016ffb0a4be91feb00a91870fe5b82141f6d901d0f949143c05146c2",
"v": "0x25"
},
"CoinBlockchain": "tETH",
"CoinToken": "tETH",
"CoinAddress": "0xa4bddde6cea9fb6a57949eba19e6d213dc569c67",
"CoinMemo": null,
"CoinTransactionHash": null,
"CoinTransactionValue": null,
"SenderTAAddress": "0x5871a9b7bbd7e64db1cddb01b631545f45a98d0c",
"SenderTAPublicKey": null,
"SenderUserAddress": "0xb532cca105f966a76c3826451818b55fb2190933",
"SenderUserPublicKey": null,
"SenderTASignatureHash": null,
"SenderTASignature": null,
"SenderUserSignatureHash": null,
"SenderUserSignature": null,
"BeneficiaryKYC": null,
"SenderKYC": null,
"BeneficiaryTAUrl": "https://pcf.veriscope.network/kyc-template",
"SenderTAUrl": "https://sandbox.veriscope.network/kyc-template"
}
}
Step 2 - Respond with signature data
`POST` {{baseUrl}}/api/v1/server/create_kyc_template
"attestation_hash": "0xf2f719d6c093732266d2a48fbaba56eebb3e3a7eb22eeecd47f445529fc7b4f7",
"user_account": "0xb34111d81f65cc3662db94f2e82303ad5d39dc60",
"user_public_key": "0x04fa1e9e68c2e4d1f7735091f1c72a760b93be8ebb226150c33babc737a7388367752313b30617ef31fd5271d735eaa5ab81046c774698b774794339f8cc7b560d",
"user_signature": "{\"r\":\"0x7696c2cb4895b320d14fd88f92b948bd549b100eef7899d8b0a4710401a322af\",\"s\":\"0x01cd1a9729d88a9db7fe6802c6e52e709170dd93782eb96f5e630d141623ca10\",\"v\":\"0x25\"}",
"user_signature_hash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"ivms_encrypt": (optional),
"coin_transaction_hash": (optional),
"coin_transaction_value": (optional),
"ivms_state_code": (optional),
"test_vars": "ivms_state_code=0307"
"coin_address_crypto_proof": (Optional)
-
Postman: Create Template
Webhook Event: BE_ENC
"eventType": "BE_ENC"
{
"eventType": "BE_ENC",
"kycTemplate": {
"AttestationHash": "0xf2f719d6c093732266d2a48fbaba56eebb3e3a7eb22eeecd47f445529fc7b4f7",
"BeneficiaryTAAddress": "0xC0cA43B4848823d5417cAAFB9e8E6704b9d5375c",
"BeneficiaryTAPublicKey": "0x04c2d213d585fed2213395e61f99b988f692aec84d38b288d14ffc4a90c879531cd92105bf1336da88ec6bf1f86a74293695cfeaa444dc9fcf2614d201e4a64c02",
"BeneficiaryUserAddress": "0xb532cca105f966a76c3826451818b55fb2190933",
"BeneficiaryUserPublicKey": "0x04030d33064a0312133b5c658d6639776c2583f536d683d337dcbef9a7a92b3e948309ed6d539af0be4789f2cb12a7f307b5f3b2bba5691d38b7f22780c7f9cf06",
"BeneficiaryTASignatureHash": "0x0b709dd4809f36a22fe48250b24a5e41e8aea491bace26627f5c68ea9b4fad3f",
"BeneficiaryTASignature": {
"r": "0x46f872cf316d3dfec32647408cb368fb2d03e99bbd8a96dd6f98548d5ab1e9ab",
"s": "0x6a2eda3f0fc77a0753d983709a851bb2e66e0d1aa13515a008658f24f252206f",
"v": "0x25"
},
"BeneficiaryUserSignatureHash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"BeneficiaryUserSignature": {
"r": "0x44b6fd5ca7bd65df4b63e532783ab9fba32021677bc86d25a19901b2bcc25212",
"s": "0x2e005a04016ffb0a4be91feb00a91870fe5b82141f6d901d0f949143c05146c2",
"v": "0x25"
},
"CoinBlockchain": "tETH",
"CoinToken": "tETH",
"CoinAddress": "0xa4bddde6cea9fb6a57949eba19e6d213dc569c67",
"CoinMemo": null,
"CoinTransactionHash": null,
"CoinTransactionValue": null,
"SenderTAAddress": "0x5871a9b7bbd7e64db1cddb01b631545f45a98d0c",
"SenderTAPublicKey": "696b447bdbbd2e6df023c0d8cf4bf0c3867217c5a69513915b3bb5455a176e27eec0014baa4629c1aded7ec16e45b2f8cdfa2cd6a97fe6470ea9d2446aae682a",
"SenderUserAddress": "0xb532cca105f966a76c3826451818b55fb2190933",
"SenderUserPublicKey": "0x04fa1e9e68c2e4d1f7735091f1c72a760b93be8ebb226150c33babc737a7388367752313b30617ef31fd5271d735eaa5ab81046c774698b774794339f8cc7b560d",
"SenderTASignatureHash": "0x0b709dd4809f36a22fe48250b24a5e41e8aea491bace26627f5c68ea9b4fad3f",
"SenderTASignature": {
"r": "0xda7ad1af2ce1530215e29a842bbd62d77c1ca85515472aab21959463450c6b14",
"s": "0x57d7f70727d6d8965ec1451c29b9df3bd6e2de2e176db530a6d6ede7b07af5f3",
"v": "0x25"
},
"SenderUserSignatureHash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"SenderUserSignature": {
"r": "0x7696c2cb4895b320d14fd88f92b948bd549b100eef7899d8b0a4710401a322af",
"s": "0x01cd1a9729d88a9db7fe6802c6e52e709170dd93782eb96f5e630d141623ca10",
"v": "0x25"
},
"BeneficiaryKYC": "BNJjcSmk0+menM+1GznnaxWzFm/SlIr9LHoIVE+dYQ1gU2NG91jAHH1s/fj9nT9mhn1331/flQ8y7HVJZO1WxRnNPfzINvwuM2rf8KnSqBQoI30kljr/0X+ngavp8YtSnbBfB4o1xWM9H1z5cV11MmK5diZ/mFILdSn9AerkvOHjJerx3Is=",
"SenderKYC": null,
"BeneficiaryTAUrl": "https://pcf.veriscope.network/kyc-template",
"SenderTAUrl": "https://sandbox.veriscope.network/kyc-template"
}
}
Webhook Event: OR_KYC_REQ
"eventType": "OR_KYC_REQ"
{
"eventType": "OR_KYC_REQ",
"kycTemplate": {
"AttestationHash": "0xf2f719d6c093732266d2a48fbaba56eebb3e3a7eb22eeecd47f445529fc7b4f7",
"BeneficiaryTAAddress": "0xC0cA43B4848823d5417cAAFB9e8E6704b9d5375c",
"BeneficiaryTAPublicKey": "0x04c2d213d585fed2213395e61f99b988f692aec84d38b288d14ffc4a90c879531cd92105bf1336da88ec6bf1f86a74293695cfeaa444dc9fcf2614d201e4a64c02",
"BeneficiaryUserAddress": "0xb532cca105f966a76c3826451818b55fb2190933",
"BeneficiaryUserPublicKey": "0x04030d33064a0312133b5c658d6639776c2583f536d683d337dcbef9a7a92b3e948309ed6d539af0be4789f2cb12a7f307b5f3b2bba5691d38b7f22780c7f9cf06",
"BeneficiaryTASignatureHash": "0x0b709dd4809f36a22fe48250b24a5e41e8aea491bace26627f5c68ea9b4fad3f",
"BeneficiaryTASignature": {
"r": "0x46f872cf316d3dfec32647408cb368fb2d03e99bbd8a96dd6f98548d5ab1e9ab",
"s": "0x6a2eda3f0fc77a0753d983709a851bb2e66e0d1aa13515a008658f24f252206f",
"v": "0x25"
},
"BeneficiaryUserSignatureHash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"BeneficiaryUserSignature": {
"r": "0x44b6fd5ca7bd65df4b63e532783ab9fba32021677bc86d25a19901b2bcc25212",
"s": "0x2e005a04016ffb0a4be91feb00a91870fe5b82141f6d901d0f949143c05146c2",
"v": "0x25"
},
"CoinBlockchain": "tETH",
"CoinToken": "tETH",
"CoinAddress": "0xa4bddde6cea9fb6a57949eba19e6d213dc569c67",
"CoinMemo": null,
"CoinTransactionHash": null,
"CoinTransactionValue": null,
"SenderTAAddress": "0x5871a9b7bbd7e64db1cddb01b631545f45a98d0c",
"SenderTAPublicKey": "696b447bdbbd2e6df023c0d8cf4bf0c3867217c5a69513915b3bb5455a176e27eec0014baa4629c1aded7ec16e45b2f8cdfa2cd6a97fe6470ea9d2446aae682a",
"SenderUserAddress": "0xb532cca105f966a76c3826451818b55fb2190933",
"SenderUserPublicKey": "0x04fa1e9e68c2e4d1f7735091f1c72a760b93be8ebb226150c33babc737a7388367752313b30617ef31fd5271d735eaa5ab81046c774698b774794339f8cc7b560d",
"SenderTASignatureHash": "0x0b709dd4809f36a22fe48250b24a5e41e8aea491bace26627f5c68ea9b4fad3f",
"SenderTASignature": {
"r": "0xda7ad1af2ce1530215e29a842bbd62d77c1ca85515472aab21959463450c6b14",
"s": "0x57d7f70727d6d8965ec1451c29b9df3bd6e2de2e176db530a6d6ede7b07af5f3",
"v": "0x25"
},
"SenderUserSignatureHash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"SenderUserSignature": {
"r": "0x7696c2cb4895b320d14fd88f92b948bd549b100eef7899d8b0a4710401a322af",
"s": "0x01cd1a9729d88a9db7fe6802c6e52e709170dd93782eb96f5e630d141623ca10",
"v": "0x25"
},
"BeneficiaryKYC": "BNJjcSmk0+menM+1GznnaxWzFm/SlIr9LHoIVE+dYQ1gU2NG91jAHH1s/fj9nT9mhn1331/flQ8y7HVJZO1WxRnNPfzINvwuM2rf8KnSqBQoI30kljr/0X+ngavp8YtSnbBfB4o1xWM9H1z5cV11MmK5diZ/mFILdSn9AerkvOHjJerx3Is=",
"SenderKYC": null,
"BeneficiaryTAUrl": "https://pcf.veriscope.network/kyc-template",
"SenderTAUrl": "https://sandbox.veriscope.network/kyc-template"
}
}
Step 3: Send Encrypted IVMS data
`POST` {{baseUrl}}/api/v1/server/create_kyc_template
"attestation_hash": "0xf2f719d6c093732266d2a48fbaba56eebb3e3a7eb22eeecd47f445529fc7b4f7",
"user_account": "0xb34111d81f65cc3662db94f2e82303ad5d39dc60",
"user_public_key": "0x04fa1e9e68c2e4d1f7735091f1c72a760b93be8ebb226150c33babc737a7388367752313b30617ef31fd5271d735eaa5ab81046c774698b774794339f8cc7b560d",
"user_signature": "{\"r\":\"0x7696c2cb4895b320d14fd88f92b948bd549b100eef7899d8b0a4710401a322af\",\"s\":\"0x01cd1a9729d88a9db7fe6802c6e52e709170dd93782eb96f5e630d141623ca10\",\"v\":\"0x25\"}",
"user_signature_hash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"ivms_encrypt": "BHSDX4Epe9uUNUNKsbLFVuEyesD5sohV0q9bDGCPBz087IgYZhiR4HB/uBJTjqrA3n8b3TkepPvBYeRyYdAbdsYc3j1hw9dnRAFZgS02BZrqbwTOsKfTYDZyPj7P+sMjk2hi7TXOmd0Qk2lEdUHB0ARavH/S7zMVI0v8geuv+og=",
"coin_transaction_hash": (optional),
"coin_transaction_value": (optional),
"ivms_state_code": (optional),
"test_vars": "ivms_state_code=0202"
"coin_address_crypto_proof": (Optional)
Webhook Event: OR_KYC_ACCEPTED
"eventType": "OR_KYC_ACCEPTED"
{
"eventType": "OR_KYC_ACCEPTED",
"kycTemplate": {
"AttestationHash": "0xf2f719d6c093732266d2a48fbaba56eebb3e3a7eb22eeecd47f445529fc7b4f7",
"BeneficiaryTAAddress": "0xC0cA43B4848823d5417cAAFB9e8E6704b9d5375c",
"BeneficiaryTAPublicKey": "0x04c2d213d585fed2213395e61f99b988f692aec84d38b288d14ffc4a90c879531cd92105bf1336da88ec6bf1f86a74293695cfeaa444dc9fcf2614d201e4a64c02",
"BeneficiaryUserAddress": "0xb532cca105f966a76c3826451818b55fb2190933",
"BeneficiaryUserPublicKey": "0x04030d33064a0312133b5c658d6639776c2583f536d683d337dcbef9a7a92b3e948309ed6d539af0be4789f2cb12a7f307b5f3b2bba5691d38b7f22780c7f9cf06",
"BeneficiaryTASignatureHash": "0x0b709dd4809f36a22fe48250b24a5e41e8aea491bace26627f5c68ea9b4fad3f",
"BeneficiaryTASignature": {
"r": "0x46f872cf316d3dfec32647408cb368fb2d03e99bbd8a96dd6f98548d5ab1e9ab",
"s": "0x6a2eda3f0fc77a0753d983709a851bb2e66e0d1aa13515a008658f24f252206f",
"v": "0x25"
},
"BeneficiaryUserSignatureHash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"BeneficiaryUserSignature": {
"r": "0x44b6fd5ca7bd65df4b63e532783ab9fba32021677bc86d25a19901b2bcc25212",
"s": "0x2e005a04016ffb0a4be91feb00a91870fe5b82141f6d901d0f949143c05146c2",
"v": "0x25"
},
"CoinBlockchain": "tETH",
"CoinToken": "tETH",
"CoinAddress": "0xa4bddde6cea9fb6a57949eba19e6d213dc569c67",
"CoinMemo": null,
"CoinTransactionHash": null,
"CoinTransactionValue": null,
"SenderTAAddress": "0x5871a9b7bbd7e64db1cddb01b631545f45a98d0c",
"SenderTAPublicKey": "696b447bdbbd2e6df023c0d8cf4bf0c3867217c5a69513915b3bb5455a176e27eec0014baa4629c1aded7ec16e45b2f8cdfa2cd6a97fe6470ea9d2446aae682a",
"SenderUserAddress": "0xb532cca105f966a76c3826451818b55fb2190933",
"SenderUserPublicKey": "0x04fa1e9e68c2e4d1f7735091f1c72a760b93be8ebb226150c33babc737a7388367752313b30617ef31fd5271d735eaa5ab81046c774698b774794339f8cc7b560d",
"SenderTASignatureHash": "0x0b709dd4809f36a22fe48250b24a5e41e8aea491bace26627f5c68ea9b4fad3f",
"SenderTASignature": {
"r": "0xda7ad1af2ce1530215e29a842bbd62d77c1ca85515472aab21959463450c6b14",
"s": "0x57d7f70727d6d8965ec1451c29b9df3bd6e2de2e176db530a6d6ede7b07af5f3",
"v": "0x25"
},
"SenderUserSignatureHash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"SenderUserSignature": {
"r": "0x7696c2cb4895b320d14fd88f92b948bd549b100eef7899d8b0a4710401a322af",
"s": "0x01cd1a9729d88a9db7fe6802c6e52e709170dd93782eb96f5e630d141623ca10",
"v": "0x25"
},
"BeneficiaryKYC": "BNJjcSmk0+menM+1GznnaxWzFm/SlIr9LHoIVE+dYQ1gU2NG91jAHH1s/fj9nT9mhn1331/flQ8y7HVJZO1WxRnNPfzINvwuM2rf8KnSqBQoI30kljr/0X+ngavp8YtSnbBfB4o1xWM9H1z5cV11MmK5diZ/mFILdSn9AerkvOHjJerx3Is=",
"SenderKYC": "BGNoMNJ8DVLFEFsRvsduOsipPAf3zCwmlQnMOFYPxv5GBzXUGcX8TvPmf/6W5kHJ4ubUIIPN9uPjVrsqirLFWloW2sjLUS5Q2z75Nxl/O0Z0jfr6WDvLV2AO5/qfDQPl8CP6R8ZCdKY3Bt9exfYa8+nCLxYDEttnP0mwdxgQLHY=",
"BeneficiaryTAUrl": "https://pcf.veriscope.network/kyc-template",
"SenderTAUrl": "https://sandbox.veriscope.network/kyc-template"
}
}
Step 4: Accept bVASP KYC template
`POST` {{baseUrl}}/api/v1/server/create_kyc_template
"attestation_hash": "0xf2f719d6c093732266d2a48fbaba56eebb3e3a7eb22eeecd47f445529fc7b4f7",
"user_account": "0xb34111d81f65cc3662db94f2e82303ad5d39dc60",
"user_public_key": "0x04fa1e9e68c2e4d1f7735091f1c72a760b93be8ebb226150c33babc737a7388367752313b30617ef31fd5271d735eaa5ab81046c774698b774794339f8cc7b560d",
"user_signature": "{\"r\":\"0x7696c2cb4895b320d14fd88f92b948bd549b100eef7899d8b0a4710401a322af\",\"s\":\"0x01cd1a9729d88a9db7fe6802c6e52e709170dd93782eb96f5e630d141623ca10\",\"v\":\"0x25\"}",
"user_signature_hash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"ivms_encrypt": "BHSDX4Epe9uUNUNKsbLFVuEyesD5sohV0q9bDGCPBz087IgYZhiR4HB/uBJTjqrA3n8b3TkepPvBYeRyYdAbdsYc3j1hw9dnRAFZgS02BZrqbwTOsKfTYDZyPj7P+sMjk2hi7TXOmd0Qk2lEdUHB0ARavH/S7zMVI0v8geuv+og=",
"coin_transaction_hash": (optional),
"coin_transaction_value": (optional),
"ivms_state_code": "0202",
"test_vars": "ivms_state_code=0202"
"coin_address_crypto_proof": (Optional)
Test as Beneficiary VASP (Sandbox as oVASP)
Field | Value |
---|---|
VASP ENTITY |
Paycase Inc |
VASP TYPE |
ORIGINATOR |
VASP API_URL |
|
VASP TA Account |
0xc2106031Dac53b629976e12aF769F60afcB38793 |
VASP User |
Dora Carlson |
VASP User Account (Shyft User Id) |
0xDF122a5c1d5ddE991E2FDC5a5743B30F2a34EA6e |
tBTC Address |
13J8EydyW5Agge9K4UsxMfKE6u7B2gtfgn |
Private Key |
L4TbrtWiz3UpnSz8kmjsgpvhTZNojz6bd427ufpM56kLFwjkNqif |
tETH Address |
0x08dd8246c4c15F6dA97e5a40ED5a24C405b4FB24 |
Private Key |
c0d5445e7eb374aba6ed2a1c584111875467004d4d400848419856faa5361e66 |
tZEC Address |
t1JLYsteVEu7ER5fzE2veqF8Cx5gV3U2mvX |
Private Key |
L1CUhWLbmW1H9SKHvykP4h7i6nnSxErZM2bJnSHhDkBWPzFP9tuw |
tXMR Address |
47Rgk6NAKz1jBNugTxdE3edm2rqaGFCF1ZPKyCEfX77SU9kW37RpfEGCbwaFfqjUHmNPX6QM3ECK5LvdbyF1k6888hGt6TR |
Private Key |
17bab4ece2c82fe88868fd19b33696bb934825bd9d9907a9dbf2d6e39c461b0b |
Step 1: Respond to attestation
Using the Veriscope Postman collection, create a KYC template and respond to any of the attestations listed below.
Attestation Hash |
---|
0xb4584f3c6cd13da48d4ade65491d5a07ff2ab8dade45a65d956818c818c8aab3 |
0x45310f730a6c342566ae3449414cfd825e4b4a9fa1b4fac0c9889cd7df68152e |
0x73406f62b3cd862305dfa3b29a1cd3731be58a263494003ca59e219728b7d5c0 |
0x9187cdd007b3f560876fdb495c33e808038e1b9479d933342a03d898dcbbbf1c |
`POST` {{baseUrl}}/api/v1/server/create_kyc_template
"attestation_hash": "0x390438fbb40ea36ddaea9bf550fd0102f42304965ce6a3ad53e1e6bab39b6988",
"user_account": "0xDF122a5c1d5ddE991E2FDC5a5743B30F2a34EA6e",
"user_public_key": "0x04f0c1de568a05a905951dac793b718a34b38269e4df028c995c2e00c1d64179fadebcbcd8fad4471ebb93f684946f8be8cb9b6087439357eb147f2b7da4a33006",
"user_signature": "{\"r\":\"0x74f05df791123c5b3ced1df6547d07d6eb8f280a6221e44fa7aa2f9bf6812e44\",\"s\":\"0x5422e347d5d0c499f5650dda3a69f0162074a4412ee002c20b9c299a341c1876\",\"v\":\"0x26\"}",
"user_signature_hash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"ivms_encrypt": (optional),
"coin_transaction_hash": (optional),
"coin_transaction_value": (optional),
"ivms_state_code": (optional),
"test_vars": "ivms_state_code=0202"
"coin_address_crypto_proof": (Optional)
On creating a KYC template, you will receive the following webhook events.
Webhook Event: OR_KYC_ACCEPTED
"eventType": "BE_KYC_REQ"
{
"eventType": "BE_KYC_REQ",
"kycTemplate": {
"AttestationHash": "0x390438fbb40ea36ddaea9bf550fd0102f42304965ce6a3ad53e1e6bab39b6988",
"BeneficiaryTAAddress": "0x5871A9b7BBd7E64db1cdDB01B631545F45A98d0c",
"BeneficiaryTAPublicKey": "696b447bdbbd2e6df023c0d8cf4bf0c3867217c5a69513915b3bb5455a176e27eec0014baa4629c1aded7ec16e45b2f8cdfa2cd6a97fe6470ea9d2446aae682a",
"BeneficiaryUserAddress": "0xdf122a5c1d5dde991e2fdc5a5743b30f2a34ea6e",
"BeneficiaryUserPublicKey": "0x04f0c1de568a05a905951dac793b718a34b38269e4df028c995c2e00c1d64179fadebcbcd8fad4471ebb93f684946f8be8cb9b6087439357eb147f2b7da4a33006",
"BeneficiaryTASignatureHash": "0x0b709dd4809f36a22fe48250b24a5e41e8aea491bace26627f5c68ea9b4fad3f",
"BeneficiaryTASignature": {
"r": "0xda7ad1af2ce1530215e29a842bbd62d77c1ca85515472aab21959463450c6b14",
"s": "0x57d7f70727d6d8965ec1451c29b9df3bd6e2de2e176db530a6d6ede7b07af5f3",
"v": "0x25"
},
"BeneficiaryUserSignatureHash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"BeneficiaryUserSignature": {
"r": "0x74f05df791123c5b3ced1df6547d07d6eb8f280a6221e44fa7aa2f9bf6812e44",
"s": "0x5422e347d5d0c499f5650dda3a69f0162074a4412ee002c20b9c299a341c1876",
"v": "0x26"
},
"CoinBlockchain": "tBTC",
"CoinToken": "tBTC",
"CoinAddress": "1FRf4bSEBw7zbKDjZZ47kbeB4Lw6rvbnxm",
"CoinMemo": "sandbox test btc",
"CoinTransactionHash": null,
"CoinTransactionValue": null,
"SenderTAAddress": "0xc2106031dac53b629976e12af769f60afcb38793",
"SenderTAPublicKey": "0x046131efac648ffc1980062b428f532e0b5860dd0c559a853c3e43058bba54e79bab5c03487999f75dfdeacbfd8d5564efe87570fae9a5d309012100d60afd7b37",
"SenderUserAddress": "0xdf122a5c1d5dde991e2fdc5a5743b30f2a34ea6e",
"SenderUserPublicKey": "0x04f0c1de568a05a905951dac793b718a34b38269e4df028c995c2e00c1d64179fadebcbcd8fad4471ebb93f684946f8be8cb9b6087439357eb147f2b7da4a33006",
"SenderTASignatureHash": "0x0b709dd4809f36a22fe48250b24a5e41e8aea491bace26627f5c68ea9b4fad3f",
"SenderTASignature": {
"r": "0xf5855d2e9b70d6fd0cfb3658c626742c4e3cde5bdea3961ef796b4bb3363b5f3",
"s": "0x4e88c6ded3e549683bf936fd764e1322debaead339557dd868edcb00503c8a27",
"v": "0x26"
},
"SenderUserSignatureHash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"SenderUserSignature": {
"r": "0x74f05df791123c5b3ced1df6547d07d6eb8f280a6221e44fa7aa2f9bf6812e44",
"s": "0x5422e347d5d0c499f5650dda3a69f0162074a4412ee002c20b9c299a341c1876",
"v": "0x26"
},
"BeneficiaryKYC": null,
"SenderKYC": null,
"BeneficiaryTAUrl": "https://sandbox.veriscope.network/kyc-template",
"SenderTAUrl": "https://paycase.veriscope.network/kyc-template"
}
}
Step 2: Sends IVMS data
`POST` {{baseUrl}}/api/v1/server/create_kyc_template
"attestation_hash": "0x390438fbb40ea36ddaea9bf550fd0102f42304965ce6a3ad53e1e6bab39b6988",
"user_account": "0xDF122a5c1d5ddE991E2FDC5a5743B30F2a34EA6e",
"user_public_key": "0x04f0c1de568a05a905951dac793b718a34b38269e4df028c995c2e00c1d64179fadebcbcd8fad4471ebb93f684946f8be8cb9b6087439357eb147f2b7da4a33006",
"user_signature": "{\"r\":\"0x74f05df791123c5b3ced1df6547d07d6eb8f280a6221e44fa7aa2f9bf6812e44\",\"s\":\"0x5422e347d5d0c499f5650dda3a69f0162074a4412ee002c20b9c299a341c1876\",\"v\":\"0x26\"}",
"user_signature_hash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"ivms_encrypt": "BIKUH525I1VZ6EBVlwKHwmDUcI+hhqiOW8JmA9XRk5hZ675enAjKqlLepoiLGLyckaN14+kvApHDFfdl1I2E4Ost+SkerOYMYQGG1XHUbtVNU+z6vQm/YLwPXWh4cQrUPGGtg/reH93c/o7ikCgRPr4cAuSVv7H2do23w+aKlNE=",
"coin_transaction_hash": (optional),
"coin_transaction_value": (optional),
"ivms_state_code": (optional),
"test_vars": "ivms_state_code=0202"
"coin_address_crypto_proof": (Optional)
Webhook Event: OR_ENC
"eventType": "OR_ENC"
{
"eventType": "OR_ENC",
"kycTemplate": {
"AttestationHash": "0x390438fbb40ea36ddaea9bf550fd0102f42304965ce6a3ad53e1e6bab39b6988",
"BeneficiaryTAAddress": "0x5871A9b7BBd7E64db1cdDB01B631545F45A98d0c",
"BeneficiaryTAPublicKey": "696b447bdbbd2e6df023c0d8cf4bf0c3867217c5a69513915b3bb5455a176e27eec0014baa4629c1aded7ec16e45b2f8cdfa2cd6a97fe6470ea9d2446aae682a",
"BeneficiaryUserAddress": "0xdf122a5c1d5dde991e2fdc5a5743b30f2a34ea6e",
"BeneficiaryUserPublicKey": "0x04f0c1de568a05a905951dac793b718a34b38269e4df028c995c2e00c1d64179fadebcbcd8fad4471ebb93f684946f8be8cb9b6087439357eb147f2b7da4a33006",
"BeneficiaryTASignatureHash": "0x0b709dd4809f36a22fe48250b24a5e41e8aea491bace26627f5c68ea9b4fad3f",
"BeneficiaryTASignature": {
"r": "0xda7ad1af2ce1530215e29a842bbd62d77c1ca85515472aab21959463450c6b14",
"s": "0x57d7f70727d6d8965ec1451c29b9df3bd6e2de2e176db530a6d6ede7b07af5f3",
"v": "0x25"
},
"BeneficiaryUserSignatureHash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"BeneficiaryUserSignature": {
"r": "0x74f05df791123c5b3ced1df6547d07d6eb8f280a6221e44fa7aa2f9bf6812e44",
"s": "0x5422e347d5d0c499f5650dda3a69f0162074a4412ee002c20b9c299a341c1876",
"v": "0x26"
},
"CoinBlockchain": "tBTC",
"CoinToken": "tBTC",
"CoinAddress": "1FRf4bSEBw7zbKDjZZ47kbeB4Lw6rvbnxm",
"CoinMemo": "sandbox test btc",
"CoinTransactionHash": null,
"CoinTransactionValue": null,
"SenderTAAddress": "0xc2106031dac53b629976e12af769f60afcb38793",
"SenderTAPublicKey": "0x046131efac648ffc1980062b428f532e0b5860dd0c559a853c3e43058bba54e79bab5c03487999f75dfdeacbfd8d5564efe87570fae9a5d309012100d60afd7b37",
"SenderUserAddress": "0xdf122a5c1d5dde991e2fdc5a5743b30f2a34ea6e",
"SenderUserPublicKey": "0x04f0c1de568a05a905951dac793b718a34b38269e4df028c995c2e00c1d64179fadebcbcd8fad4471ebb93f684946f8be8cb9b6087439357eb147f2b7da4a33006",
"SenderTASignatureHash": "0x0b709dd4809f36a22fe48250b24a5e41e8aea491bace26627f5c68ea9b4fad3f",
"SenderTASignature": {
"r": "0xf5855d2e9b70d6fd0cfb3658c626742c4e3cde5bdea3961ef796b4bb3363b5f3",
"s": "0x4e88c6ded3e549683bf936fd764e1322debaead339557dd868edcb00503c8a27",
"v": "0x26"
},
"SenderUserSignatureHash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"SenderUserSignature": {
"r": "0x74f05df791123c5b3ced1df6547d07d6eb8f280a6221e44fa7aa2f9bf6812e44",
"s": "0x5422e347d5d0c499f5650dda3a69f0162074a4412ee002c20b9c299a341c1876",
"v": "0x26"
},
"BeneficiaryKYC": "BIKUH525I1VZ6EBVlwKHwmDUcI+hhqiOW8JmA9XRk5hZ675enAjKqlLepoiLGLyckaN14+kvApHDFfdl1I2E4Ost+SkerOYMYQGG1XHUbtVNU+z6vQm/YLwPXWh4cQrUPGGtg/reH93c/o7ikCgRPr4cAuSVv7H2do23w+aKlNE=",
"SenderKYC": "BC5QNJ1Vwqo3CQ2BSrum6U1m/df7ultUxP1qTJOZR9efGMuPXAcnei9XZpofa2IEyxqgc6OWC+7SHcwFbHW875Zb2aUgDB9bYrvzw8ZQ4FZsctCP4cDCyHzstaERMSK+p1tteGmV9Q0SmJKwhGKh9BOWyQirpFekV+jfWePd8Sai2sDdH7I=",
"BeneficiaryTAUrl": "https://sandbox.veriscope.network/kyc-template",
"SenderTAUrl": "https://paycase.veriscope.network/kyc-template"
}
}
Webhook Event: BE_KYC_ACCEPTED
"eventType": "BE_KYC_ACCEPTED"
{
"eventType": "BE_KYC_ACCEPTED",
"kycTemplate": {
"AttestationHash": "0x390438fbb40ea36ddaea9bf550fd0102f42304965ce6a3ad53e1e6bab39b6988",
"BeneficiaryTAAddress": "0x5871A9b7BBd7E64db1cdDB01B631545F45A98d0c",
"BeneficiaryTAPublicKey": "696b447bdbbd2e6df023c0d8cf4bf0c3867217c5a69513915b3bb5455a176e27eec0014baa4629c1aded7ec16e45b2f8cdfa2cd6a97fe6470ea9d2446aae682a",
"BeneficiaryUserAddress": "0xdf122a5c1d5dde991e2fdc5a5743b30f2a34ea6e",
"BeneficiaryUserPublicKey": "0x04f0c1de568a05a905951dac793b718a34b38269e4df028c995c2e00c1d64179fadebcbcd8fad4471ebb93f684946f8be8cb9b6087439357eb147f2b7da4a33006",
"BeneficiaryTASignatureHash": "0x0b709dd4809f36a22fe48250b24a5e41e8aea491bace26627f5c68ea9b4fad3f",
"BeneficiaryTASignature": {
"r": "0xda7ad1af2ce1530215e29a842bbd62d77c1ca85515472aab21959463450c6b14",
"s": "0x57d7f70727d6d8965ec1451c29b9df3bd6e2de2e176db530a6d6ede7b07af5f3",
"v": "0x25"
},
"BeneficiaryUserSignatureHash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"BeneficiaryUserSignature": {
"r": "0x74f05df791123c5b3ced1df6547d07d6eb8f280a6221e44fa7aa2f9bf6812e44",
"s": "0x5422e347d5d0c499f5650dda3a69f0162074a4412ee002c20b9c299a341c1876",
"v": "0x26"
},
"CoinBlockchain": "tBTC",
"CoinToken": "tBTC",
"CoinAddress": "1FRf4bSEBw7zbKDjZZ47kbeB4Lw6rvbnxm",
"CoinMemo": "sandbox test btc",
"CoinTransactionHash": null,
"CoinTransactionValue": null,
"SenderTAAddress": "0xc2106031dac53b629976e12af769f60afcb38793",
"SenderTAPublicKey": "0x046131efac648ffc1980062b428f532e0b5860dd0c559a853c3e43058bba54e79bab5c03487999f75dfdeacbfd8d5564efe87570fae9a5d309012100d60afd7b37",
"SenderUserAddress": "0xdf122a5c1d5dde991e2fdc5a5743b30f2a34ea6e",
"SenderUserPublicKey": "0x04f0c1de568a05a905951dac793b718a34b38269e4df028c995c2e00c1d64179fadebcbcd8fad4471ebb93f684946f8be8cb9b6087439357eb147f2b7da4a33006",
"SenderTASignatureHash": "0x0b709dd4809f36a22fe48250b24a5e41e8aea491bace26627f5c68ea9b4fad3f",
"SenderTASignature": {
"r": "0xf5855d2e9b70d6fd0cfb3658c626742c4e3cde5bdea3961ef796b4bb3363b5f3",
"s": "0x4e88c6ded3e549683bf936fd764e1322debaead339557dd868edcb00503c8a27",
"v": "0x26"
},
"SenderUserSignatureHash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"SenderUserSignature": {
"r": "0x74f05df791123c5b3ced1df6547d07d6eb8f280a6221e44fa7aa2f9bf6812e44",
"s": "0x5422e347d5d0c499f5650dda3a69f0162074a4412ee002c20b9c299a341c1876",
"v": "0x26"
},
"BeneficiaryKYC": "BIKUH525I1VZ6EBVlwKHwmDUcI+hhqiOW8JmA9XRk5hZ675enAjKqlLepoiLGLyckaN14+kvApHDFfdl1I2E4Ost+SkerOYMYQGG1XHUbtVNU+z6vQm/YLwPXWh4cQrUPGGtg/reH93c/o7ikCgRPr4cAuSVv7H2do23w+aKlNE=",
"SenderKYC": "BC5QNJ1Vwqo3CQ2BSrum6U1m/df7ultUxP1qTJOZR9efGMuPXAcnei9XZpofa2IEyxqgc6OWC+7SHcwFbHW875Zb2aUgDB9bYrvzw8ZQ4FZsctCP4cDCyHzstaERMSK+p1tteGmV9Q0SmJKwhGKh9BOWyQirpFekV+jfWePd8Sai2sDdH7I=",
"BeneficiaryTAUrl": "https://sandbox.veriscope.network/kyc-template",
"SenderTAUrl": "https://paycase.veriscope.network/kyc-template"
}
}
Step 3: Accepts oVASP KYC template
`POST` {{baseUrl}}/api/v1/server/create_kyc_template
"attestation_hash": "0x390438fbb40ea36ddaea9bf550fd0102f42304965ce6a3ad53e1e6bab39b6988",
"user_account": "0xDF122a5c1d5ddE991E2FDC5a5743B30F2a34EA6e",
"user_public_key": "0x04f0c1de568a05a905951dac793b718a34b38269e4df028c995c2e00c1d64179fadebcbcd8fad4471ebb93f684946f8be8cb9b6087439357eb147f2b7da4a33006",
"user_signature": "{\"r\":\"0x74f05df791123c5b3ced1df6547d07d6eb8f280a6221e44fa7aa2f9bf6812e44\",\"s\":\"0x5422e347d5d0c499f5650dda3a69f0162074a4412ee002c20b9c299a341c1876\",\"v\":\"0x26\"}",
"user_signature_hash": "0x7ec005c40fadb64f4180dcc14d9f5927f649096a08478a4a5a112a3aa77ca549",
"ivms_encrypt": (optional),
"coin_transaction_hash": (optional),
"coin_transaction_value": (optional),
"ivms_state_code": "0202",
"test_vars": "ivms_state_code=0202"
"coin_address_crypto_proof": (Optional)