# Build on COTI

- [Core Concepts](/coti-documentation/build-on-coti/core-concepts.md)
- [Account Onboarding Procedure](/coti-documentation/build-on-coti/core-concepts/onboard-user.md)
- [Private Data Types](/coti-documentation/build-on-coti/core-concepts/secure-data-types.md)
- [Supported Operations on Private Data Types](/coti-documentation/build-on-coti/core-concepts/secure-operations-and-gas.md): Secure operations are supported via our gcEVM extension, which is implemented through a set of precompiled contracts.
- [Quickstart](/coti-documentation/build-on-coti/quickstart.md)
- [Guides](/coti-documentation/build-on-coti/guides.md)
- [Setting up COTI Snap with your MetaMask wallet](/coti-documentation/build-on-coti/guides/setting-up-coti-snap-with-your-metamask-wallet.md)
- [Basic Private Smart Contract](/coti-documentation/build-on-coti/guides/basic-private-smart-contract.md)
- [Account Onboard](/coti-documentation/build-on-coti/guides/account-onboard.md)
- [Sending a Transaction with Encrypted Inputs](/coti-documentation/build-on-coti/guides/sending-a-transaction-with-encrypted-inputs.md)
- [Resolving a Transaction's Encrypted Outputs](/coti-documentation/build-on-coti/guides/resolving-a-transactions-encrypted-outputs.md)
- [Writing a Private Smart Contract](/coti-documentation/build-on-coti/guides/writing-a-private-smart-contract.md)
- [Dos and Don'ts](/coti-documentation/build-on-coti/guides/dos-and-donts.md)
- [Proper Use of Types](/coti-documentation/build-on-coti/guides/dos-and-donts/proper-use-of-types.md): Never save garbledtext in storage
- [No Constant/Immutable Secret Types](/coti-documentation/build-on-coti/guides/dos-and-donts/no-constant-immutable-secret-types.md)
- [No Public Contract Variables](/coti-documentation/build-on-coti/guides/dos-and-donts/no-public-contract-variables.md)
- [Best Practices](/coti-documentation/build-on-coti/guides/best-practices.md)
- [Careful Onboarding](/coti-documentation/build-on-coti/guides/best-practices/careful-onboarding.md)
- [Careful Decrypting](/coti-documentation/build-on-coti/guides/best-practices/careful-decrypting.md)
- [Don't loop over an array without an index](/coti-documentation/build-on-coti/guides/best-practices/avoid-secret-array-indexes.md)
- [Check Overflow](/coti-documentation/build-on-coti/guides/best-practices/check-overflow.md)
- [Tools](/coti-documentation/build-on-coti/tools.md)
- [TypeScript SDK](/coti-documentation/build-on-coti/tools/typescript-sdk.md)
- [Ethers.js](/coti-documentation/build-on-coti/tools/ethers.js.md)
- [Python SDK](/coti-documentation/build-on-coti/tools/python-sdk.md)
- [Web3.py](/coti-documentation/build-on-coti/tools/web3.py.md)
- [Contracts Library](/coti-documentation/build-on-coti/tools/contracts-library.md)
- [MPC Core](/coti-documentation/build-on-coti/tools/contracts-library/mpc-core.md)
- [Data Privacy Framework](/coti-documentation/build-on-coti/tools/contracts-library/data-privacy-framework.md)
- [Tokens](/coti-documentation/build-on-coti/tools/contracts-library/tokens.md)
- [Private ERC20](/coti-documentation/build-on-coti/tools/contracts-library/tokens/private-erc20.md)
- [Private ERC721](/coti-documentation/build-on-coti/tools/contracts-library/tokens/private-erc721.md)
- [Onboard](/coti-documentation/build-on-coti/tools/contracts-library/onboard.md)
- [Hardhat](/coti-documentation/build-on-coti/tools/hardhat.md)
- [Remix Plugin](/coti-documentation/build-on-coti/tools/remix-plugin.md)
- [COTI MetaMask Snap](/coti-documentation/build-on-coti/tools/coti-metamask-snap.md): Powered by MetaMask Snaps. MetaMask® is a trademark of ConsenSys.
- [Snap Integration](/coti-documentation/build-on-coti/tools/coti-metamask-snap/snap-integration.md)
- [Developer Sandbox](/coti-documentation/build-on-coti/tools/developer-sandbox.md)
