# On-chain gating

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.

# Important


# 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
Polygon Deployed Gate on EVM Polygon & Mumbai
CELO Deployed Gate on EVM CELO & Alfajores
NEAR Deployed Gate on NEAR NEAR & Testnet
Solana Deployed Gate on Solana Solana & Testnet
Aptos 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.

If you're interested, see our Github repo for source code or review the contract implementations under EVM , NEAR , Solana and Aptos