Verify zkKYC Status
Get KYC statistics status
https://openapi.zk.me/kyc/v1/status
    ?mch_no=YourMerchantNumber
    &api_key=YourApiKeyParameters
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/getUsersListRequest 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
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.
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/queryKycInfoByAddressRequest 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/queryKycInfoByAddressForPoaRequest 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
