> ## Documentation Index
> Fetch the complete documentation index at: https://seilabs-docs-evm-cookbook.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Solidity Development Resources for Sei EVM

> Comprehensive guide on Solidity Development Resources for Sei EVM on Sei. Learn key concepts, commands, and best practices.

Most Solidity development resources for Ethereum Mainnet also apply to Sei.

This page lists a minimal set of resources to help you start building a dApp on Sei EVM.

## IDEs

* **[Remix](https://remix.ethereum.org)**\
  An interactive Solidity IDE. You can use it to start coding and compiling Solidity smart contracts without installing anything.
* **[VSCode](https://code.visualstudio.com)** + **[Solidity extension](https://marketplace.visualstudio.com/items?itemName=NomicFoundation.hardhat-solidity)**

## Basic Solidity

* **[CryptoZombies](https://cryptozombies.io/en/course)**\
  An end-to-end introduction to building dApps on the EVM. It has lessons for complete beginners and for developers from other disciplines.
* **[Solidity by Example](https://solidity-by-example.org)**\
  Introduces Solidity concepts progressively through simple examples. It suits developers who have some programming background.
* **[Blockchain Basics course by Cyfrin Updraft](https://updraft.cyfrin.io/courses/blockchain-basics)**\
  Covers the fundamentals of blockchain, DeFi, and smart contracts.
* **[Solidity Smart Contract Development by Cyfrin Updraft](https://updraft.cyfrin.io/courses/solidity)**\
  Gives you hands-on experience to become a smart contract developer.

## Intermediate Solidity

* **[The Solidity Language](https://docs.soliditylang.org)**\
  Official documentation with an end-to-end description of smart contracts, blockchain basics, compiling, and deployment on an EVM.
* **[Solidity Patterns](https://github.com/fravoll/solidity-patterns)**\
  A repository of code templates, with explanations of how to use them.
* **[OpenZeppelin](https://www.openzeppelin.com)**\
  A library of customizable template contracts for common Ethereum token deployments, such as ERC-20, ERC-721, ERC-1155, and Proxy. These contracts are not gas optimized. They are the de facto standard for smart contract templates, and almost all existing smart contracts use them.
* **[Uniswap](https://github.com/Uniswap)**\
  A professional, easy-to-read smart contract for the [Uniswap V2 pools](https://github.com/Uniswap/v2-core). It gives an overview of a Solidity dApp in production. A [guided walkthrough](https://ethereum.org/en/developers/tutorials/uniswap-v2-annotated-code/) is available. For the more advanced Uniswap pools, see [Uniswap V3](https://github.com/Uniswap/v3-core) and [Uniswap V4](https://github.com/Uniswap/v4-core).
* **[Morpho Finance](https://github.com/morpho-org)**\
  Morpho Finance's contracts are a real-world example of production-grade Solidity smart contracts. They show how a successful DeFi lending protocol is structured and implemented. In Morpho's codebase, you can learn advanced patterns for gas optimization and security best practices. You can also see how to implement complex financial logic in production. The accompanying [documentation](https://docs.morpho.org/overview/) gives more context on the protocol's architecture and design principles.
* **[Sky / Maker DAO](https://github.com/makerdao)**
  An early DeFi protocol that created the DAI and USDS stablecoins. MakerDAO's codebase shows complex financial mechanisms, including collateralized debt positions, oracles, and governance systems. The project demonstrates how to implement a stable cryptocurrency, backed by crypto collateral, through sophisticated risk management systems.
* **[Rareskills Blog](https://rareskills.io/blog)**\
  Has in-depth articles on various Solidity concepts. It also has the [Book of Gas Optimization](https://www.rareskills.io/post/gas-optimization).
* **[Foundry Fundamentals course by Cyfrin Updraft](https://updraft.cyfrin.io/courses/foundry)**\
  A web3 development course on Foundry, the industry-standard framework for building, deploying, and testing smart contracts.
* **[Smart Contract Programmer YT channel](https://www.youtube.com/@smartcontractprogrammer)**\
  Has many in-depth videos on topics from ABI encoding to EVM memory management.
* **[DeFi developer roadmap](https://github.com/OffcierCia/DeFi-Developer-Road-Map)**

## Advanced Solidity

* **[Solmate repository](https://github.com/transmissions11/solmate)** and **[Solady repository](https://github.com/Vectorized/solady)**\
  Gas-optimized contracts written in Solidity or Yul.
* **[Yul](https://docs.soliditylang.org/en/latest/yul.html)**\
  An intermediate language for Solidity, similar to inline assembly for the EVM. It has control flow constructs and exposes low-level memory management.
* **[Advanced Foundry course by Cyfrin Updraft](https://updraft.cyfrin.io/courses/advanced-foundry)**\
  Teaches advanced smart contract development, including how to build DeFi protocols, stablecoins, DAOs, and more.
* **[Smart Contract Security course by Cyfrin Updraft](https://updraft.cyfrin.io/courses/security)**\
  Teaches you how to audit protocols and write secure ones.
* **[Assembly and Formal Verification course by Cyfrin Updraft](https://updraft.cyfrin.io/courses/formal-verification)**\
  Covers assembly with Yul, EVM opcodes, formal verification testing, and related tools.
* **[Smart Contract DevOps course by Cyfrin Updraft](https://updraft.cyfrin.io/courses/wallets)**\
  Focuses on post-deployment security, wallet access control, and ongoing protocol maintenance.
* **[Secureum YT Channel](https://www.youtube.com/@SecureumVideos)**\
  Has videos on topics from Solidity basics to advanced subjects such as fuzzing and auditing.

## Tutorials

* **[Ethernaut](https://ethernaut.openzeppelin.com)**\
  Learn Solidity by solving puzzles.
* **[Damn Vulnerable DeFi](https://www.damnvulnerabledefi.xyz)**\
  A series of smart contract challenges designed to test and improve your Solidity skills.

## Testing

* **[Echidna](https://github.com/crytic/echidna)**\
  A fuzz testing tool for Solidity.
* **[Slither](https://github.com/crytic/slither)**\
  A static analysis framework that detects vulnerabilities.
* **[solidity-coverage](https://github.com/sc-forks/solidity-coverage)**\
  Gives code coverage metrics for Solidity tests.

## Smart contract archives

* **[Smart contract sanctuary](https://github.com/tintinweb/smart-contract-sanctuary)**\
  A collection of contracts verified on Etherscan.
* **[EVM function signature database](https://www.4byte.directory)**
* **[EVM verified contracts on Etherscan](https://etherscan.io/contractsVerified)**
  Browse the verified contracts on Etherscan directly.

## Using the OpenZeppelin Wizard

OpenZeppelin has a web-based wizard for creating standard contracts. To use it, see the [EVM Contract Wizard](/evm/evm-wizard) page in these docs, or go to [https://wizard.openzeppelin.com/](https://wizard.openzeppelin.com/).

With the wizard, you can:

1. Select the contract type (for example, ERC-20, ERC-721, or ERC-1155)
2. Configure settings, features, and access controls
3. Add custom functionality through a user-friendly interface
4. Generate ready-to-use Solidity code

The wizard is useful for:

* Beginners who are learning smart contract development
* Quickly bootstrapping standard token contracts
* Exploring different configuration options
* Understanding best practices in contract development

## Best practices & security considerations

When you develop on Sei EVM with OpenZeppelin contracts, follow these best practices:

1. **Always use the latest version** of OpenZeppelin contracts
2. **Start with existing, audited components** instead of building from scratch
3. **Run comprehensive tests** before you deploy to Sei Mainnet
4. **Consider upgradeability** for complex applications
5. **Use access controls** such as `Ownable` or `AccessControl` for privileged functions
6. **Implement reentrancy guards** where needed
7. **Avoid `transfer()` and `send()`** for ETH transfers. Use `call()` with reentrancy protection instead.
8. **Validate all inputs** and check for edge cases
9. **Consider gas optimization**, but not at the expense of security
10. **Consider getting an audit** for high-value contracts


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.