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
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 have authorized a Soulbound Token under this project account.
https://openapi.zk.me/kyc/v1/users
?mch_no=YourMerchantNumber
&api_key=YourApiKey
&page=1
&num=10
Sample response
{
"code": 200,
"message": "success",
"data": {
"data": [
{
"zkme_id": "...",
"verify_time": "",
"account": "...",
"blockchain_id": ...,
"blockchain_logo_url": "...",
"program_type": "...",
"network": "",
"token_id": "...",
"user_wallet_address": "...",
"authorization_info": null,
"user_id": "",
"ssi_wallet_address": ""
}
],
"page": {
"page": 1,
"num": 10,
"total": 1
}
}
}
Get Program Configuration Details
Returns the configuration of a KYC Program, including program name/status and the list of verifiable attributes (e.g., citizenship whitelist, age threshold, sanctions check, uniqueness rule).
POST https://agw.zk.me/zkseradmin/openapi/queryProgramConfigInfo
Request Body
{
"mchNo": "YourMerchantNumber",
"apiKey": "YourApiKey",
"programNo": "YourProgramID"
}
Fields Explanation
apiKey
string
Your API Key.
programNo
string
Same as the programNo you pass for the SDK integration.
Sample Response
{
"code": 80000000,
"msg": "success",
"timestamp": 1757088277804,
"data": {
"programName": "localhost 10",
"status": 2,
"statusText": "Create",
"verifiableAttributes": [
{
"category": 1,
"kycVerifyProperty": "Citizenship",
"order": 12,
"status": "FORCE_ENABLE",
"value": [
{ "id": 1, "regularName": "Afghanistan" },
{ "id": 2, "regularName": "Aland Islands" }
// ...
],
"verifiableAttributeEnum": "CITIZENSHIP"
},
{
"category": 1,
"kycVerifyProperty": "A user's real identity can only be verified through KYC once within this KYC Program",
"order": 18,
"status": "DEFAULT_DISABLE",
"value": true,
"verifiableAttributeEnum": "UNIQUENESS_CHECK"
},
{
"category": 1,
"kycVerifyProperty": "Sanctions, Warnings, and Fitness & Probity",
"order": 14,
"status": "ENABLE",
"value": true,
"verifiableAttributeEnum": "SANCTION"
},
{
"category": 1,
"kycVerifyProperty": "Age",
"order": 4,
"status": "FORCE_ENABLE",
"value": "18",
"verifiableAttributeEnum": "AGE"
}
]
}
}
Fields Explanation
code
number
Business status code. 80000000
means success.
msg
string
Response message text, e.g., "success"
.
timestamp
number
Server timestamp in milliseconds.
data
object
Program configuration data (see data object below).
data object
programName
string
The name of the KYC Program (e.g., "localhost 10"
).
status
number
Program status code (to be interpreted with statusText
).
statusText
string
Program status description (e.g., "Create"
).
verifiableAttributes
array<object>
List of verifiable attributes (see verifiableAttributes object below).
verifiableAttributes object
category
number
Attribute category. 1
indicates KYC-related.
kycVerifyProperty
string
Attribute description, such as "Citizenship"
or "Age"
.
order
number
Display or verification order.
status
string
Attribute status:
• FORCE_ENABLE
: Mandatory
• ENABLE
: Enabled
• DEFAULT_DISABLE
: Disabled by default
value
any
The configuration value of the attribute:
• array<object> → e.g., whitelist of countries for CITIZENSHIP
• string → e.g., minimum age "18"
• boolean → e.g., enable/disable uniqueness or sanction checks
verifiableAttributeEnum
string
Enum key for stable programmatic reference (e.g., CITIZENSHIP
, AGE
, SANCTION
, UNIQUENESS_CHECK
).
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": "YourMerchantNumber",
"apiKey": "YourApiKey",
"programNo": "YourProgramID",
"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":...,
},
}
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 7-8 stages:
Verification Started
OCR Passed
Liveness Checked
ZKP Generated
SBT Minted
OnChain Minted
Note: Only applicable to On-chain Mint and On-chain Transactional
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
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
.
Get Users Accredited Investor Status Overview
Returns the verification status of the user for the following credentials: Proof-of-Accredited-Investor (zkPoAI).
POST https://agw.zk.me/zkseradmin/openapi/queryKycInfoByAddressForPoa
Request Body
{
"mchNo": "YourMerchantNumber",
"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