Comment on page
User Account Verification
post
VEGA_VERIFICATION_ACCOUNT_API_PATH
User Account Verification API
Enclave Environment Variable:
Enter the User Account Verification API endpoint in VEGA_VERIFICATION_ACCOUNT_API_PATH field.
Every VASP can be either the originating and beneficiary VASPThis API is called when the VASP performs the role of the beneficiary VASP.The API is called to verify that the beneficiary address (wallet address, account number) entered by the originator belongs to the beneficiary address (and VASP).
Response Time Standard
This API must respond in 1 second.
Implementation Standards
- IVMS101 format of beneficiary information.
- This API only verifies the existence of a wallet address and name. KYC or Sanction Screening process is not covered by this API.
- This API is designed for only for single account verification. In order to verify multiple accounts, make one of this API call per account.
- For a corporation account, if there are multiple representatives but only one is matched, the result will be retuned as VERIFIED.
Field Name | Description |
---|---|
Authorization | Bearer <VEGA_VERIFICATION_AUTHORIZATION_TOKEN> |
- When only verifying the beneficiary's wallet address
{
"originatingVaspId": "15952089931162060684",
"symbol": "ETH",
"version": "1.0",
"ivms101": {
"beneficiary": {
"accountNumber": ["0x5811001506550d8356a215be229c15b6ef371a9b"]
}
}
}
- When verifying the beneficiary's name and wallet address (when withdrawing more than the mandated threshold of the jurisdiction)
{
"originatingVaspId": "15952089931162060684",
"symbol": "ETH",
"version": "1.0",
"ivms101": {
"beneficiary": {
"beneficiaryPersons": [
{
"naturalPerson": {
"name": {
"nameIdentifier": [
{
"primaryIdentifier": "Taylor",
"secondaryIdentifier": "Robbins",
"nameIdentifierType": "LEGL"
}
]
}
}
}
],
"accountNumber": ["0x5811001506550d8356a215be229c15b6ef371a9b"]
}
}
}
- When verifying the wallet address of a legal person
{
"originatingVaspId": "15952089931162060684",
"symbol": "ETH",
"version": "1.0",
"ivms101": {
"beneficiary": {
"accountNumber": ["0x5811001506550d8356a215be229c15b6ef371a9b"]
}
}
}
- When verifying the name and wallet address of a legal person (when withdrawing more than the mandated threshold of the jurisdiction)
{
"originatingVaspId": "15952089931162060684",
"symbol": "ETH",
"version": "1.0",
"ivms101": {
"beneficiary": {
"beneficiaryPersons": [
{
"legalPerson": {
"name": {
"nameIdentifier": [
{
"legalPersonName": "A Company",
"legalPersonNameIdentifierType": "LEGL"
}
]
}
}
},
{
"naturalPerson": {
"name": {
"nameIdentifier": [
{
"primaryIdentifier": "Taylor",
"secondaryIdentifier": "Robbins",
"nameIdentifierType": "LEGL"
}
]
}
}
}
],
"accountNumber": ["0x5811001506550d8356a215be229c15b6ef371a9b"]
}
}
}
Field Name | Data Type | Required | Example | Description |
---|---|---|---|---|
originatingVaspId | string | true | "15952089931162060684" | Verification requester VASP ID |
symbol | string | true | "ETH" | Symbol of Virtual Asset. |
version | string | true | "1.0" | IVMS101 format version (use 1.0 currently) |
ivms101 | object | true | - | Verification information in IVMS101 format |
ivms101.beneficiary | object | true | - | Beneficiary information object |
ivms101.beneficiary.beneficiaryPersons | array | false | [{"naturalPerson":{"name":{"nameIdentifier":[{"primaryIdentifier":"Taylor","secondaryIdentifier":"Robbins","nameIdentifierType":"LEGL"}]}}}] | The name information of beneficiary: this field is required when the amount exceeds the legal threshold. If presented, the name must be matched to the wallet owner's name. |
ivms101.beneficiary.accountNumber | array | true | [”0x5811001506550d8356a215be229c15b6ef371a9a”] | The wallet address of the beneficiary. The type of the field is an array but it is NOT allowed to pass multiple accounts in it: use this API just for single account verification and call multiple times if required. |
Field Name | Data Type | Required | Example | Description |
---|---|---|---|---|
accountVerificationResult | string | true | "DENIED" | The result of the verification |
reason | string | false | "UNKNOWN-ADDRESS" | The reason field means that the detailed error code for when accountVerificationResult is DENIED |
verifiedAt | string | true | "2022-03-03T21:52:08.092Z" | The verification datetime |
- accountVerificationResult field can be "VERIFIED" or "DENIED"
- VERIFIED: Successfully verified account in beneficiary VASP.
- DENIED: Unknown account or name, not verified on beneficiary VASP side.
- reason field specification is as follows.
- The field is valid only when
result
field is DENIED. - Refer to the below table for the
message
field value.
reason (string) | result (string) | message (string) | Description |
---|---|---|---|
UNKNOWN-SYMBOL | DENIED | The value of symbol name (which is not supported in VASP) | Unknown or not supported asset symbol |
UNKNOWN-ADDRESS | DENIED | The unknown wallet address | Unknown wallet address to the VASP |
MISMATCHED-NAME | DENIED | - | Name mismatch |
UNDEFINED-ERROR | DENIED | Error description | Undefined errors |
Last modified 1mo ago