The kycDAO smart contracts can be utilized to verify the compliance of a specific address by determining the presence of valid kycNFT. These contracts can be invoked on-chain and serve as a means of controlling access to certain actions, only allowing those wallet addresses with valid kycNFT to proceed.
The implementation details for gating differ slightly for each blockchain, however it will mostly amount to simply calling a function such as
hasValidToken(addr) with an address to be checked. The response being a boolean value to say whether the address has a current valid KYC token.
The existence of a kycNFT is NOT enough to ensure an address is compliant
A kycNFT may reach its expiration date or be deemed invalid, resulting in it no longer being considered trusted.
kycDAO smart contracts should be called to confirm that the address's kycNFT token is still valid
Due to the dynamic nature of kycNFTs, it is crucial for those implementing on-chain compliance checks to NOT assume that an address's validation is permanent. Before undertaking any new action that requires a valid kycNFT.
kycNFT gating - implementer guides
Below is a list of chains where the kycDAO smart contracts have been deployed. Include kycNFT gating check in your own smart contracts.
|Chain||Status||Implementer's Guide||Contract Addresses|
|Deployed||Gate on EVM||Polygon & Mumbai|
|Deployed||Gate on EVM||CELO & Alfajores|
|Deployed||Gate on NEAR||NEAR & Testnet|
|Deployed||Gate on Solana||Solana & Testnet|
|Deployed||Gate on Aptos||Aptos & Testnet|
Review contract details:
Being as trustless as possible is important to us and all of our smart contract code is open source and verified in blockchain trackers where possible.