Mercle is the credentialing tool for communities to run KPI driven campaigns to attract new customers, increase engagement from existing customers and reward the most valuable customers of the community.
Mercle allows protocols to issue identity credentials as dynamic SBTs to its network participants. It is the combination of SBTs and verifiable credentials. Features:
Goal: Mercle is to provide a no-code plug-and-play solution to help protocol, DAO, and communities to achieve:
Problems:
We have divided the User Profiles data into two parts.
1.User Actions / Identity
This is an IPNS
profile that is not an NFT (yet). It is meant to be soulbound data (did:walletaddress)
containing proofs of the work the user has done. The proofs are not restricted to a token or a community but an aggregate data proof of the user.
The user requests a claim saying they have done a task. Mercle (for now, but later will be decentralized to the community level) will verify and attest the request claim if the claim is valid by signing the request with a Mercle wallet. This claim will be made verifiable onchain in the MembershipNFT contract.
The MembershipNFT contract has CLAIM_ISSUER_ROLE
role with the Mercle address as whitelisted. The plan is any person with the role should be able to issue claims.
2.Rewards Profile
This is the NFT contract that contains all rewards the user has claimed for the tasks they have performed. The claims and rewards are attested by Mercle wallet (has CLAIM_ISSUER_ROLE on contract). The NFT contract has two important variables isOpenMint and isTradable. isOpenMint allows anybody to mint tokens from the contract which can be toggled on/off. isTradable allows the tokens to be transferred from one address to another to make the token soulbound or tradable. It can be toggled on/off as well. There is another function mintNFTCampaign to allow users to mint from contract based on whitelisting. A minter will have to submit merkle proof and other parameters for minting. This is used when isOpenMint is not enabled and minting is allowed for selected few (eg community members).