Verify zkKYC Status
Before initiating the request to obtain the status from Get KYC statistics status and Get Users List, please follow Authentication at zkMe API to get your API access parameters.
Get KYC statistics status
https://openapi.zk.me/kyc/v1/status
?mch_no=YourMerchantNumber
&api_key=YourApiKey
Parameters
api_key
string
Your API key
Sample Response
{
"code": 200,
"message": "success",
"data": {
"kyc_participants": 22,
"kyc_verified": 0,
"kyc_participants_daily": [
{
"date": "2023-07-27",
"participants": 2
},
{
"date": "2023-07-28",
"participants": 1
},
{
"date": "2023-08-09",
"participants": 1
},
{
"date": "2023-08-13",
"participants": 2
},
{
"date": "2023-09-14",
"participants": 1
},
{
"date": "2023-09-25",
"participants": 1
},
{
"date": "2023-10-27",
"participants": 2
},
{
"date": "2023-12-01",
"participants": 1
},
{
"date": "2024-01-05",
"participants": 1
},
{
"date": "2024-01-06",
"participants": 1
},
{
"date": "2024-01-10",
"participants": 2
},
{
"date": "2024-01-15",
"participants": 1
},
{
"date": "2024-01-16",
"participants": 1
},
{
"date": "2024-01-17",
"participants": 3
},
{
"date": "2024-01-19",
"participants": 1
},
{
"date": "2024-01-24",
"participants": 1
}
],
"kyc_verified_daily": null,
"meid_count": 4
}
}
Get Users List
Returns a list of users who initiated the verification flow under a dashboard account.
POST https://agw.zk.me/zkseradmin/openapi/kyc/getUsersList
Request Body
{
"mchNo": "YourAppID" ,
"apiKey": "YourApiKey",
"programNo": "YourProgramNo",
"page": 1,
}
Fields Explanation
apiKey
string
Your API Key.
programNo
string
Same as the programNo you pass for the SDK integration.
page
integer
Returns users in blocks of 50 (page 1 = 1–50, page 2 = 51–100, etc.). If fewer users exist, all are returned.
Sample Response
{
"code": ...,
"data": {
"total": ...,
"totalPage": ...,
"users": [
{
"clientUserIdentifier": [
{
"blockchainId": ...,
"network": "...",
"tokenId": "...",
"userId": ...,
"walletAddress": "..."
}
],
"completedTimeUnix": "...",
"ssiWallet": "...",
"status": "...",
"zkmeAccount": "...",
"zkmeId": "..."
},
]
},
"msg": "...",
"timestamp": ...
}
Fields Explanation
code
number
Business status code, e.g. 80000000
indicates success
msg
string
Message describing the result
timestamp
number
Response timestamp in Unix milliseconds
data
object
Main data object (see data
Object below)
data
Object
total
number
Total number of users matched
totalPage
number
Total number of pages
users
array<object>
List of user objects (see users
Object)
users
Object
clientUserIdentifier
array<object>
Identifiers linked to this user (see clientUserIdentifier
Object)
completedTimeUnix
string
Completion time (Unix milliseconds, as string)
ssiWallet
string
zkMe SSI wallet address bound to the user.
status
string
Current KYC/verification status. Possible values include:
Verification Started
OCR Passed
Liveness Checked
ZKP Generated
SBT Minted
OnChain Minted
Note: Only applicable to On-chain Mint
KYC Passed
Verification Failed
zkmeAccount
string
The email address used to log in to zkMe.
zkmeId
string
Unique zkMe user ID
Note: clientUserIdentifier
will be empty if the user’s status
has not yet reached KYC_PASSED
.
clientUserIdentifier
Object
blockchainId
number
Chain ID
network
string
Chain name
tokenId
string
The ID of the Soulbound Token (SBT) minted for the user on the chain.
walletAddress
string
User’s wallet address from the client system.
userId
string
User’s email address, or another non-wallet unique identifier from the client system.
Note:
The returned fields are returned is determined by the configured decentralization level:
For On-chain Mint integrations, the fields
blockchainId
,network
,tokenId
, andwalletAddress
are returned.userId
is not returned.For Cross-chain integrations, only
userId
is returned.
Get Users KYC Result Overview
Returns the verification status of the user for the following credentials: Proof-of-Citizenship (zkPoC), Proof-of-Location (zkPoL), and AML Check (AMLMe).
POST https://agw.zk.me/zkseradmin/openapi/queryKycInfoByAddress
Request Body
{
"mchNo": "YourAppID" ,
"apiKey": "YourApiKey",
"programNo": "YourProgramNo",
"account": "walletAddress", // or email, or other unique identifiers
"chainId": "YourChainID"
}
Fields Explanation
apiKey
string
Your API Key.
programNo
string
Same as the programNo you pass for the SDK integration.
account
string
User's wallet address (recommended), email address, or other unique identifier
chainId
string
Same as the param chainId you pass for the SDK integration.
Supported Chain List
Aptos
aptos-1
Arbitrum
42161
Base
8453
BNB Smart Chain
56
BounceBit
6001
Ethereum
1
Kaia
8217
Manta
169
Neutron
neutron-1
Polygon
137
Ronin
2020
Solana
solana
TON
ton
Aptos Testnet
aptos-2
Plume Testnet
98864
Scroll Sepolia Testnet
534351
Sei Testnet
atlantic-2
ZetaChain Athens3 Testnet
7001
Sample Response
{
"zkme_id":"...",
"kycStatus":"...",
"kycCompleteTimeUnix":"...",
"ssiAddress":"...",
"verifierValues":{
"sanction":...,
"age":...,
"citizenship":...,
"location":...,
"unique":...,
},
}
Fields Explanation
zkme_id
string
Return the zkMe id corresponding to the zkMe account linked to the provided address.
kycStatus
string
Return users' KYC status, including 8-9 stages:
Not Started
Verification Started
OCR Passed
Liveness Checked
ZKP Generated
SBT Minted
OnChain Minted
Note: Only applicable to On-chain Mint
KYC Passed
Verification Failed
kycCompleteTimeUnix
string
Unix timestamp of the mint time of SBT minting in SSI wallet.
ssiAddress
string
User's SSI wallet address.
verifierValues
object
List of verifierValues objects (see verifierValues
Object)
verifierValues
Object
sanction
bool
Return the user's AML Screening verification result with the following output:
If the user passes, return
true
.If the user fails, return
false
.If the AML Screening verification is not configured for the program, return
null
.
age
bool
Return the user's age verification result with the following output:
If the user passes, return
true
.If the user fails, return
false
.If the Proof of Citizenship is not configured for this program, return
null
.
citizenship
bool
Return the user's citizenship verification result with the following output:
If the user passes, return
true
.If the user fails, return
false
.If the Proof of Citizenship is not configured for the program, return
null
.
location
bool
Return the user's location verification result with the following output:
If the user passes, return
true
.If the user fails, return
false
.If the Proof of Location is not configured for the program, return
null
.
unique
bool
Return the user's ID-based uniqueness verification result with the following output:
If the user passes, return
true
.If the user fails, return
false
.If the Uniqueness Check is not configured for the program, return
null
.
Get Users Address Proof Result Overview
Returns the verification status of the user for the following credentials: Proof-of-Address (zkPoA).
POST https://agw.zk.me/zkseradmin/openapi/queryPoAInfoByAddress
Request Body
{
"mchNo": "YourAppID" ,
"apiKey": "YourApiKey",
"programNo": "YourProgramNo",
"account": "walletAddress", // or email, or other unique identifiers
}
Fields Explanation
apiKey
string
Your API Key.
programNo
string
Same as the programNo you pass for the SDK integration.
account
string
User's wallet address (recommended), email address, or other unique identifier
Sample Response
{
"code": ...,
"data": [
{
"completedTimeUnix": "...",
"ssiAddress": "...",
"status": "...",
"verifierValues": {
"countryRegion": ...
},
"zkmeId": "..."
}
],
"msg": "...",
"timestamp": ...
}
Fields Explanation
code
number
Business status code, e.g. 80000000
indicates success
msg
string
Message describing the result
timestamp
number
Response timestamp in Unix milliseconds
data
object
Main data object (see data
Object below)
data
Object
completedTimeUnix
string
Unix timestamp of the mint time of SBT minting in SSI wallet.
ssiAddress
string
User's SSI wallet address.
status
string
Return users' KYC status, including 7 stages:
Not Started
Verification Started
OCR Passed
ZKP Generated
SBT Minted
Verification Passed
Verification Failed
zkme_id
string
Return the zkMe id corresponding to the zkMe account linked to the provided address.
verifierValues
object
List of verifierValues objects (see verifierValues
Object)
verifierValues
Object
countryRegion
bool
Return the user's Address verification result with the following output:
If the user passes, return
true
.If the user fails, return
false
.If the AML Screening verification is not configured for the program, return
null
.
Get Users Accredited Investor Status Overview
Returns the verification status of the user for the following credential: Proof-of-Accredited-Investor (zkPoAI).
POST https://agw.zk.me/zkseradmin/openapi/queryKycInfoByAddressForPoa
Request Body
{
"mchNo": "YourAppID" ,
"apiKey": "YourApiKey",
"programNo": "YourProgramNo",
"account": "walletAddress", // or email, or other unique identifiers
"chainId": "YourChainID"
}
Fields Explanation
apiKey
string
Your API Key.
programNo
string
Same as the programNo you pass for the SDK integration.
account
string
User's wallet address (recommended), email address, or other unique identifier
chainId
string
Same as the param chainId you pass for the SDK integration.
Currently supports Polygon (137) and Base (8453).
Supported Chain List
Aptos
aptos-1
Arbitrum
42161
Base
8453
BNB Smart Chain
56
BounceBit
6001
Ethereum
1
Kaia
8217
Manta
169
Neutron
neutron-1
Polygon
137
Ronin
2020
Solana
solana
TON
ton
Aptos Testnet
aptos-2
Plume Testnet
98864
Scroll Sepolia Testnet
534351
Sei Testnet
atlantic-2
ZetaChain Athens3 Testnet
7001
Sample Response
{
"poaiCompletedTimeUnix":"...",
"poaiStatus":"...",
"ssiAddress":"...",
"zkmeId":"...",
}
Fields Explanation
poaiCompletedTimeUnix
string
Unix timestamp of the mint time of user completed the share data process and minted a SBT in SSI wallet.
poaiStatus
string
Return users' zkPoAI status, including 6 stages:
Verification Started
Data Retrieved
ZKP Generated
SBT Minted
OnChain Minted
Note: Only applicable to On-chain Mint and On-chain Transactional
PoAI Passed (or PoAI Failed)
ssiAddress
string
User's SSI wallet address
zkmeId
string
Return the zkMe id corresponding to the zkMe account linked to the provided address.
Last updated