# KYC-Gated Contract Calls

[ZetaChain](https://www.zetachain.com/), a new L1 blockchain with built-in interoperability, required KYC (Know Your Customer) and AML (Anti-Money Laundering) checks on contributors receiving an airdrop greater than 200 ZETA; additionally, they prevented airdrop claiming from OFAC sanctioned geographies.

ZetaChain used EthSign’s [TokenTable](https://www.tokentable.xyz/) to conduct their KYC-gated airdrop on January 31st, 2024 to facilitate a compliant, streamlined airdrop for both ZETA recipients and the ZetaChain team.

In order to restrict non-KYC’ed addresses from claiming ZETA via TokenTable, the off-chain KYC verification status of recipient addresses must be communicated to [TokenTable Unlocker](https://docs.tokentable.xyz/developers/v2.5) smart contract.

[Sign Protocol](https://docs.sign.global/) was implemented in parallel with SumSub to a) bind the airdrop recipient's wallet address to an their KYC verification status, and b) to port recipient addresses’ KYC verification status on-chain so that TokenTable’s Unlocker smart contract can validate it.

### Airdrop Claiming Flow

1. Whitelisted wallets from non-sanctioned geographies are able to connect to [claims.zetachain.com](https://claims.zetachain.com/).
2. Claimers can view how much ZETA they have available to claim, and any lockup terms.
3. Conduct KYC verification via Sumsub by submitting their government ID.
4. To bind their address and KYC verification, claimers must use SIGN Protocol to sign an attestation message that is a hash of their address and KYC status using the following Schema.

```json
{
  "name": "zeta kyc schema",
  "data": [
    {
      "type": "string",
      "name": "applicant"
    },
    {
      "type": "string",
      "name": "applicantId"
    }
  ]
}
```

### Impact

A total of **17,789,923 ZETA** airdropped to KYC’ed claimers valued at **$29,709,171.41** ($1.67/ZETA on 2/1/2024).

“Working with the product and team has been a pleasure. The combination of SIGN Protocol and TokenTable enabled an airdrop experience that was safe, transparent, and seamless for users, with the flexibility and attention to detail that was needed for such a critical moment for ZetaChain. As well, the team has been incredible in helping make sure users are heard and helping resolve any issues that came up at any step of the process.”

— [Brandon Truong](https://www.linkedin.com/in/truong-brandon/), lead product contributor for ZetaChain.

As of Febuary 5th, 2024:

* 14786 — Total KYC whitelisted addresses
* 13736 — Total KYC applicants
* 12858 — Passed KYC
* 295 — Rejected due to block list/fraud
* KYC pass rate - 98.21%
* Median verification time - 14 sec


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sign.global/case-studies/sumsub.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
