project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Cross-chain KYC

Web app and smart contract bundle for cross-chain KYC DAO verification

Cross-chain KYC

Created At


Winner of


🥇 LayerZero — Best Omnichain Implementation

Project Description


A lot of projects need KYC for business logic. Such as games, grant programs, even DeFi in some regions. One of popular solution for this is KYC DAO. However, this verification is currently only available on Polygon and Celo and projects on other networks have to use expensive proxies to check for KYC.


Cross-chain KYC is a smart contract bundle that allows the user to transfer the proof of KYC to Base and Optimism. A client contract implementing the KYC DAO interface and can be easy used by any project. The user can themselves transfer KYC proof to the desired chain after which any dApp can verify KYC on-chain in one cheap call.


Web app is live for Base and Optimism support: demo . github .

Smart contracts clients ready and deployed to Base and Optimism mainnet

KYC Proxy

  • Polygon (testnet):
    • adress 0xeA155E0145ff4b240b65601aC55E3d7Ed8878c4E

KYC Client

  • Optimism (testnet):
    • adress 0xc3765f58a10c5636de7628ad434a08f34f2d0fdc
    • chain id: 10132
  • Base (testnet):
    • adress 0xd8425b5d9d5f0a4dd1db58bed2da8070bdc931fa
    • chain id: 10160

Example use case

  1. Game developer on Base need to check KYC before sending a rare NFT.
  2. They redirect the user to before confirming the transaction. The user connects their wallet and creates a KYC proof on Base with LayerZero
  3. Developer add to game contract quick and cheap KYC check via proxy-contract on Base chain


The contact code and KYC Proxy addresses are not changeable. Verification of KYC client is possible only after verification on the original network. This allows to use the contract made during the hackathon in production in any projects.

How it's Made

KYC Proxy:

Smart contract of KYC Proxy and KYC CLient are made on solidity and published on Base and Optimism. Asynchronous messages via LayerZero are used for cross-chain verification. Technical documentation for developers is created on gitbook.

Web app:

Web app is built on React JS with Metamask SDK. Covalent API is used to check for KYC status and pre check account balance.

background image mobile

Join the mailing list

Get the latest news and updates