# Smart contracts overview

Tide uses smart contracts to allow users to have full ownership of the credentials generated with the platform and also to allow projects to deploy campaigns in a permissionless way.

### Contracts

* [Wave](https://fiveelementslabs.gitbook.io/tide/wave-contract): the contract that issue the campaign participation badges and release the ERC-20 rewards. Waves are ERC721 compliant, so the badges are NFTs that can be viewed and transferred on any NFT marketplace.&#x20;
* [Wave Factory](https://fiveelementslabs.gitbook.io/tide/wave-factory): the contract that projects can use to deploy their campaigns.

The full code for our contracts can be found in our [public contracts repo](https://github.com/FiveElementsLabs/tide-core-v2).
