bkrem/awesome-solidity
bkrem/awesome-solidity has 7,069 GitHub stars and 1,011 forks. GitHot measured -2 stars in 24 hours and +2 in 7 days. Last checked 2026-11-06 05:08 UTC. Last push 2026-09-25.
⟠ A curated list of awesome Solidity resources, libraries, tools and more
Measured star growth
- in 24h
- -2
- in 7 days
- +2
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalAwesome Solidity
A curated list of awesome Solidity resources, libraries, tools and more.
Please check the contribution guidelines for information on formatting and writing pull requests.
Contents
Resources
Official
- Cheatsheet - Cheat sheet from the official docs.
- Docs - Official documentation.
- Ethereum Stack Exchange - Ethereum's Stack Exchange board.
- ethereum/solc-bin - Current and historical builds of the compiler.
- ethereum/solidity - Source code.
Tutorials
- buildspace.so - Hands-on Web3 course for beginners. Free, with an NFT on completion.
- cryptodevhub.io - Community-driven effort to unite people interested in blockchain and crypto technologies.
- CryptoZombies - Interactive code school that teaches you to write smart contracts through building your own crypto-collectibles game.
- Discover Ethereum & Solidity (ludu.co) - Complete course that walks through building a decentralized Twitter clone using best practices.
- ExtropyIO/defi-bot - Tutorial for building DeFi arbitrage bots.
- LearnXInY - Learn the language in 15 minutes (for experienced developers).
- manojpramesh/solidity-cheatsheet - Cheat sheet and best practices.
- nishuzumi/Web3-Enterprise-level-engineering - Web3 Enterprise Engineering Writing Specification Tutorial [Chinese Language - 中文版].
- Questbook - University DAO offering free crypto-dev courses by leading developers.
- Solidity and Vyper cheat sheet - Review both languages side by side.
- topmonks/solidity_quick_ref - Syntax overview.
- useweb3.xyz/tutorials - Curated list of free community tutorials built around specific projects, tasks, and challenges.
- willitscale/learning-solidity - Complete guide to getting started, creating your own crypto, ICOs, and deployment.
- WTF Ethers - Open-source, community-reviewed Ethers.js tutorial in Chinese covering intro and advanced topics [Chinese Language - 中文版].
- WTF Solidity - Open-source, community-reviewed tutorial in Chinese and English covering intro, advanced, and application topics.
Articles
- Best Practices for Smart Contract Development (yos.io, Yos Riady, 2019) - Developer handbook for smart contract developers.
- How to create an ERC20 Token and a Solidity Vendor Contract (medium.com, Emanuele Ricci, 2021) - Create your own ERC20 token and a vendor contract to handle the sell and buy process.
- soliditydeveloper.com/blog - Concepts, guides, design patterns, and more.
- The Complete Guide to Full Stack Ethereum Development (dev.to, Nader Dabit, 2021) - Build full-stack dApps with React, Ethers.js, contracts, and Hardhat.
Security
- Capture the Ether - Game for hacking Ethereum smart contracts and learning security.
- Crypto-Virus/cream-finance-exploit-example - Example implementation of the Cream Finance flashloan exploit.
- crytic/awesome-ethereum-security - Curated list of Ethereum security references, guidance, tools, and more.
- crytic/building-secure-contracts - Guidelines and training material for writing secure smart contracts.
- d-xo/weird-erc20 - Minimal example implementations of ERC20 tokens with surprising/unexpected behaviour.
- Ethereum Smart Contract Security Best Practices (Consensys) - General security philosophy, known attacks, and sample code.
- OriginProtocol/security - Materials related to security: docs, checklists, processes.
- Rari-Capital/security-checklist - Opinionated security and code quality checklist for smart contracts.
- SecDim - Online edutainment platform with real-world smart contract security content and AppSec games.
- sigp/solidity-security-blog - Comprehensive list of known attack vectors and common anti-patterns.
- SunWeb3Sec/DeFiHackLabs - Reproduce DeFi hack incidents using Foundry.
Audits
- Arbitrary Execution - Public security audits by the Arbitrary Execution Team.
- Code4rena - Auditors compete to identify and eliminate high-severity bugs before production.
- Consensys Diligence - Public security audits by the Consensys Diligence Team.
- Hacken - Public security audits by the Hacken Team.
- Immunefi - Bug bounty platform focused on blockchain and smart contract security.
- MixBytes - Public security audits by the MixBytes Team.
- OpenZeppelin - Public security audits by the OpenZeppelin Security Team.
- SpearbitDAO - Public security audits by the SpearbitDAO Team.
- Trail of Bits - Public security audits by the Trail of Bits Team.
Examples
Educational
- alephao/solidity-benchmarks - Benchmarks of popular implementations of ERC standards.
- cyrusadkisson/solidity-baby-steps - Comprehensive collection of contract examples.
- flashbots/simple-arbitrage - Example arbitrage bot using Flashbots.
- fravoll/solidity-patterns - Collection of patterns and best practices for smart contract development.
- kauri.io - Archive of kauri community's content created with the goal to foster the spread of Ethereum development knowledge far and wide.
- libevm/subway - Practical example of how to perform sandwich attacks on Ethereum.
- lsaether/bonding-curves - Smart contracts for bonding curves (aka curve bonded tokens).
- m1guelpf/lil-web3 - Simple, intentionally-limited versions of web3 protocols & apps.
- pedrobergamini/flashloaner-contract - Smart contracts that operate arbitrages between Sushiswap and Uniswap.
- raineorshine/solidity-by-example - Collection of short yet fully functional contracts that demonstrate language features.
- Solidity By Example - Introduction to the language with simple examples.
- useWeb3 - Learn web3 development - Curated overview of the best and latest Ethereum and Web3 development resources.
- WTF Academy - Web3 Open Academy - DApp for learning smart contract development with quizzes and certificates [Chinese Language - 中文版].
Deployed on Ethereum Mainnet
- andrecronje/rarity - D20srd reference implementation.
- axieinfinity/ronin-smart-contracts - Axie Infinity Ronin contracts.
- bancorprotocol/contract-solidity - Bancor Protocol contracts.
- compound-finance/compound-protocol - Compound Protocol contracts.
- dharma-eng/dharma-smart-wallet - Smart wallet for earning interest on stablecoins while retaining custody of funds, with an added security backstop provided by Dharma Labs.
- ensdomains/ens-contracts - Ethereum Name Service (ENS) contracts.
- graphprotocol/contracts - Graph Protocol Contracts.
- OlympusDAO/olympus-contracts - OlympusDAO contracts.
- smartcontractkit/LinkToken - LINK token contracts for the Chainlink Network.
- sushiswap/sushiswap - Sushiswap smart contracts.
- trusttoken/smart-contracts - TrustToken smart contracts.
- Uniswap/uniswap-v3-core - Core smart contracts of Uniswap v3.
- wyvernprotocol/wyvern-v3 - Core smart contracts for Wyvern v3, a decentralized digital asset exchange protocol.
Templates
- ethereum-boilerplate/ethereum-boilerplate - React components and hooks to build dApps fast without running your own backend.
- paulrberg/solidity-template - GitHub template for writing contracts with Hardhat, TypeChain, Ethers, Waffle, Solhint, Solcover, and a Prettier plugin.
- rhlsthrm/typescript-solidity-dev-starter-kit - Starter kit for developing, testing, and deploying smart contracts with a full TypeScript environment.
- scaffold-eth/scaffold-eth-2 - Forkable Ethereum dev stack for building dApps, with a Next.js frontend, wagmi hooks and reusable web3 components.
- tomhirst/solidity-nextjs-starter - Full-stack dApp starter built with Next.js (React).
- transmissions11/foundry-template - Streamlined template for getting started with Foundry.
- wighawag/template-ethereum-contracts - Template to develop smart contracts.
- ZumZoom/solidity-template - Hardhat template with preconfigured GitHub Actions and Coveralls support.
Books
- Blockchain in Action - Book that teaches the essential principles of blockchain and how to create your own decentralized apps.
- Mastering Ethereum - Mastering Ethereum is a book for developers, offering a guide to the operation and use of the Ethereum, Ethereum Classic, RootStock (RSK) and other compatible EVM-based open blockchains.
Practice
- OpenZeppelin/damn-vulnerable-defi - Set of challenges to hack DeFi implementations on Ethereum.
- OpenZeppelin/ethernaut - Web3 wargame played in the Ethereum Virtual Machine. Each level is a smart contract that needs to be 'hacked'.
- Solidity-Challenges - Offers a wide range of challenges, from language-specific tasks to exploit-focused scenarios. Contributors are welcome to add new challenges.
Jobs
- aworker.io - Job board for blockchain and cryptocurrency jobs.
- cryptocurrencyjobs.co - Job board for blockchain and cryptocurrency jobs.
- cryptojobslist.com - Job board for blockchain and cryptocurrency jobs.
- web3.career - Job board for blockchain and cryptocurrency jobs.
- web3vacancy.com - Crypto & Web3 job board for builders and crypto teams.
Libraries
- 0age/AttributeRegistry - ERC-1616 Attribute Registry standard interface, tests, and implementation.
- 0age/HomeWork - Autonomous utility for finding, sharing, and reusing home addresses for contracts.
- 0age/Spawner - Spawn EIP 1167 minimal proxies with an included initialization step during contract creation.
- 0xcert/ethereum-erc721 - Non-fungible token implementation for Ethereum-based blockchains.
- alexvansande/ENSTools - Set of contracts that extends ENS functionality to other smart contracts.
- Anchor - Framework used with Solang for Solana projects.
- Arachnid/solidity-stringutils - Basic string utilities.
- dapphub/dappsys - Contract system framework for flexible multi-contract dapps.
- dmihal/hardhat-interface-generator - Hardhat plugin to automatically generate interfaces from code.
- EthWorks/Waffle - Library for writing and testing smart contracts.
- hifi-finance/prb-math - Smart contract library for advanced fixed-point math.
- ItsNickBarry/hardhat-abi-exporter - Export contract ABIs on compilation via Hardhat.
- maple-labs/erc-20 - Maple implementation of the ERC-20 standard.
- mattdf/RingCrypto - Ring signature related implementations for Ethereum.
- mds1/solidity-trigonometry - Library with basic trigonometry functions.
- MerkleBlue/defimath - Gas-optimized library for DeFi math: Black-Scholes pricing, Greeks, interest rates, and statistics.
- Modular Libraries - Deployed utility libraries to use in your smart contracts.
- mzhu25/sol2string -
LibUintToStringlibrary for efficiently convertinguint256values to strings. - NTA-Capital/SolMATe - Libraries for floating-point matrix manipulation, linear algebra operations, and vector math.
- OpenZeppelin/openzeppelin-contracts - Library for secure smart contract development.
- OpenZeppelin/openzeppelin-contracts-upgradeable - Upgradeable variant of OpenZeppelin Contracts, meant for use in upgradeable contracts.
- optionality/clone-factory - Simple clone contract factory. Install a master copy of a contract, then easily (cheaply) create clones with separate state.
- partylikeits1983/num_complex_solidity - Smart contract library for handling complex numbers.
- pcaversaccio/xdeployer - Hardhat plugin to deploy your smart contracts across multiple EVM chains with the same deterministic address.
- rugpullindex/indexed-sparse-merkle-tree - Dapptools-ready and gas-optimized implementation of a sparse merkle tree.
- Smart Contracts Skeleton - Preconfigured skeleton repository for getting started with smart contract development.
- Solidity Standard Library - Standard library with array, random, math, and string helpers.
- solidstate-network/solidstate-solidity - Upgradeable-first smart contract development library.
- studydefi/money-legos - NPM package providing mainnet addresses, ABIs, and interfaces for popular DeFi protocols.
- Unicode Ethereum Project - Libraries and contracts for Unicode data, algorithms, and utilities.
- Uniswap/uniswap-v2-periphery - Peripheral smart contracts for interacting with Uniswap V2.
- Uniswap/uniswap-v3-periphery - Peripheral smart contracts for interacting with Uniswap V3.
- Vectorized/solady - Gas-optimized smart contract snippets.
- wbobeirne/eth-balance-checker - Smart contract and library pair that allows you to check for multiple ERC20 and Ether balances across multiple addresses in a single RPC call.
Tools
General
- alloy-rs/core - High-performance Ethereum primitives and library written in Rust for EVM development.
- Anish-Agnihotri/MultiFaucet - MultiFaucet drips ETH, tokens, and NFTs across many testnet networks, at once.
- ChainBench/OpenChainBench - Continuous benchmarks for RPC provider latency, stale-state probability, and L1/L2 finality across 20+ EVM chains. Useful for infrastructure selection and integration testing.
- dapp-scratch - CLI for generating JavaScript modules from contracts for decentralized apps.
- dapphub/dapptools - Command-line-friendly tools for blockchain development.
- dethcrypto/ethereum-code-viewer - View the source of deployed Ethereum contracts in VS Code.
- eagr/sol-repl - Lightweight, feature-rich REPL for instant feedback.
- EthereumStudio - Standalone desktop IDE.
- foundry-rs/foundry - Blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
- Hardhat - Development environment to compile, deploy, test, and debug your Ethereum software.
- instant-dapp-ide - Complete dApp development environment as a Docker image you can run from the command line.
- Laika - Make requests to smart contracts without the hassle of writing a single line of code.
- lfglabs-dev/verity - Lean 4 framework for specifying and proving smart contract properties, with EVM-oriented output.
- naddison36/sol2uml - Unified Modeling Language (UML) class diagram generator for smart contracts.
- OpenZeppelin - Framework to build secure smart contracts.
- raineorshine/solidity-repl - REPL CLI.
- Remix - Online real-time compiler and runtime.
- SIF - Code generation from the AST, analyze and instrument source code.
- Smart Contract Sanctuary - Home for Ethereum smart contracts, with verified contracts from Etherscan.
- sol-merger - Merge all imports into a single file for contracts.
- solgraph - Visualize control flows for smart contract security analysis.
- solidity-docgen - Documentation generator for smart contract projects.
- Sourcify - Decentralized and open-sourced smart contract verification service.
- Tenderly - Easily monitor your smart contracts with error tracking, alerting, performance metrics, and detailed contract analytics.
- Testnet Faucets - Directory of testnet faucets across 40+ networks, health-checked daily and verified on-chain, with a free JSON API.
- tintinweb/solidity-shell - Interactive shell with lightweight session recording.
- weiroll/weiroll - Simple and efficient operation-chaining/scripting language for the EVM.
Utility
- Aniket-Engg/sol-profiler - CLI tool to list and store smart contract method attributes.
- Aniket-Engg/sol-verifier - Verify smart contracts on Etherscan.
- cleanunicorn/abi2signature - Use the ABI of a smart contract to find out the function signatures.
- crytic/solc-select - CLI to quickly switch between compiler versions.
- DiverseSolutions/Diverse-Eth-Calculator - Website with Ethereum unit conversion & utility components.
- duaraghav8/Ethlint - Linter to identify and fix style & security issues in smart contracts.
- formo/address-checksum - Validate and convert Ethereum and EVM addresses to EIP-55 checksum format.
- formo/builder-codes - Encode, decode, and validate ERC-8021 builder codes for onchain transaction attribution.
- formo/calldata-decoder - Decode Ethereum and EVM transaction calldata into readable function calls, selectors, and parameters.
- formo/siwe - Create and inspect EIP-4361 SIWE messages for wallet-based authentication.
- ItsNickBarry/hardhat-contract-sizer - Output contract sizes with Hardhat.
- prettier-solidity/prettier-plugin-solidity - Prettier plugin for automatically formatting your code.
- protofire/solhint - Linter that provides security, style guide, and best practice rules for smart contract validation.
- sambacha/prettier-config-solidity - Prettier config optimized to reduce AST churn and conform to the language spec.
- sc-forks/solidity-coverage - Code coverage tool.
- Tenderly/tenderly-cli - Speed up your development with error stack traces.
- tintinweb/solgrep - Scriptable semantic grep utility.
Audit
- Aderyn - Rust-based open-source static analyzer for finding vulnerabilities in smart contracts.
- Echidna - Define properties for your smart contract then use fuzzing to catch security bugs.
- eth-sri/securify2 - Tool for analyzing smart contracts for vulnerabilities and insecure coding.
- ethereum/sourcify - Re-compiler for verifying that bytecode corresponds to specific source code.
- Mythril - Security analysis tool for smart contracts.
- MythX - Detect security vulnerabilities in Ethereum smart contracts throughout the development lifecycle.
- Slither - Static analyzer with support for many common bug types, including visualization tools for security-relevant information.
DevOps
- Embark - Framework that allows you to easily develop and deploy DApps.
- Moesif - Service that provides Ethereum smart contract analytics and anomaly detection for DApps and DAPIs.
Languages
JavaScript
- deno-web3/solc - Compiler bindings for Deno.
- solc-js - JavaScript bindings for the compiler.
- sulk - Configurable contract compilation.
TypeScript
- TypeChain - TypeScript bindings for Ethereum smart contracts.
Rust
- hyperledger-labs/solang - Compiler targeting WASM and BPF, written in Rust.
- rust-ethereum/ethabi - Encode and decode smart contract invocations.
OCaml
- ocaml-solidity - OCaml library providing a parser, a typechecker and miscellaneous utilities for manipulating contracts.
Editor Plugins
Eclipse
- uml2solidity - Model smart contracts with UML.
Emacs
- company-solidity - Autocomplete with company-mode.
- emacs-solidity - Language mode for Emacs.
IntelliJ
- intellij-solidity - Language plugin for IntelliJ.
Sublime
- SublimeEthereum - Syntax package for Sublime Text.
Vim
- solidity.vim - Vim compiler plugin.
- vim-solidity - Vim syntax file.
Visual Studio Code
👉 For a comprehensive list, see results for "Solidity" on Visual Studio Marketplace.
- ConsenSys/vscode-solidity-auditor - Language support and visual security auditor for Visual Studio Code.
- Ethereum Security Bundle - Meta-extension bundling marketplace plugins for secure Ethereum smart contract development.
- sol-profiler-vscode - Visual Studio Code extension for generating and storing smart contract method profiles.
- Solidity + Hardhat - Adds IDE support for contract development with formatting, linting, snippets, references, and more.
- Solidity Contract Flattener - Flatten contracts using
truffle-flattener. - Solidity Visual Developer - Security-centric syntax and semantic highlighting, detailed class outlines, UML diagram generation, and more.
- vscode-solidity - Visual Studio Code language support extension.
License
To the extent possible under law, Ben Kremer has waived all copyright and related or neighboring rights to this work.
Explore related projects
sindresorhus/awesome
😎 Awesome lists about all kinds of interesting topics [NOTE: Pull requests are temporarily disabled until I have a chance to catch up with the existing ones]
532,261 starsEbookFoundation/free-programming-books
:books: Freely available programming books
401,081 starsnilbuild/developer-roadmap
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
371,394 starsvinta/awesome-python
The definitive list that answers "I want to do X in Python, which tool should I use?"
332,943 stars