Blockchain developers are in demand right now, and I’m not afraid to admit building something real, is the best way to prove that you know your stuff. While it is nice to have a certificate, it is much better to have a working smart contract on your GitHub.
Ethereum’s programming language for smart contracts is Solidity. It’s an easy thing to do, but most students fail to do it before ever writing a line of code. The single question remains: what should I actually construct? If it’s too easy, it reinforces the same habits, and if it’s too difficult, you’re waiting a long time and it won’t be fun.
This is why I created this list of 21 solidity project ideas, that’s why I already split it into beginner, intermediate and final year level. There’s no need to start from scratch: Each one is accompanied by a quick explanation and links to source code.
What Is Solidity and Why Should You Learn It?
Solidity is a programming language designed to create smart contracts, primarily for the Ethereum platform. A smart contract is a small piece of program code that runs autonomously on the blockchain when specific conditions are fulfilled. No one in between, no waiting for someone’s approval. Solidity is likely to be the code behind any crypto app you’ve ever used, any NFT marketplace, or any DeFi platform. The syntax resembles that of JavaScript, so if you’ve ever written code before, it won’t sound that different.
Why Should You Learn It?
- Blockchain jobs pay well: Solidity developers remain in high demand and that’s reflected in salaries.
- It’s not that hard to start: If you have some programming experience in JavaScript or Python, you can write your first contract in a day or two.
- Great for your portfolio: Once you deploy a smart contract, you can create actual things.
- Works beyond Ethereum: Solidity is supported by Polygon, BNB Chain, Avalanche and Arbitrum.
- Huge free community: There’s an abundance of docs, tutorials and open-source code available—you are never stuck.
- Opens doors to bigger fields: This is the foundational skill of DeFi, NFT, DAOs and Web3 gaming.
Tools and Prerequisites Before You Start
Set up before starting any project. Believe me, it will save a lot of headache later.
Remix IDE: Browser-based IDE to write, test, and deploy contracts without the need to install anything. Perfect for your first few projects.
Hardhat: A framework for building larger projects. It can compile, test and debug contracts locally.
Foundry: A new and faster alternative to Hardhat. Tests are coded directly in Solidity, something that some folks find very nice.
MetaMask: A browser wallet where you can connect with your Dapps and sign transactions.
Sepolia Testnet: Practice network where you deploy contracts on the free fake ETH. No actual cash involved.
OpenZeppelin: A library of already built and secure contracts (e.g. ERC-20, ERC-721). Instead, use it rather than writing everything from the ground up.
Basic JavaScript and blockchain concepts: Understanding of what is a wallet, what is gas, what is a transaction, and simple JS not too intimidating to be scared by the frontend part.
| Also, if you want ideas beyond blockchain, check out our list of computer science project ideas for more topics to explore. |
Easy Solidity Project Ideas for Beginners
If you’re not familiar with this, begin here. Here are some small solidity project ideas that you can complete in a few days’ time and still learn the basics. See them as beginner-friendly Solidity projects: no big setups, no complicated math, just working contracts ready to deploy and demonstrate to all.
1. Simple Storage Contract
This is the “hello world” example of Solidity. You create a contract that can store a number (or a name) on the blockchain and be read later. It’s a small one, but it does cover variables, functions and the real-world process of deployment.
Features:
- Store and update a value.
- Displays the value that was saved
- Emit an event when the value changes
Tech Stack: Solidity, Remix IDE, MetaMask
Difficulty: Very Easy
Source Code:Simple Storage on GitHub
2. Voting System
Create a contract where individuals are able to vote on options and the outcome cannot be modified. Only one vote per wallet. It’s a good way to become familiar with mappings, structs, and access control, and, let’s face it, it’s pretty popular in college homework as well.
Features:
- One vote per wallet
- Admin adds candidates
- Live vote count
Tech Stack: Solidity, Hardhat, Ethers.js
Difficulty: Easy
Source Code:Voting contract (Solidity docs)
3. Crowdfunding Platform
In this case, individuals donate ETH to support a campaign and if it fails to meet the target by the deadline they receive a refund. You’ll learn about how contracts hold the funds, deal with deadlines and sending ETH safely. A little more reasoning than the first two.
Features:
- Establish a fundraising target and time frame
- Contribute ETH
- Refund if the goal fails
Tech Stack: Solidity, Hardhat, React
Difficulty: Easy to Medium
Source Code:Fund Me on GitHub
4. Digital Wallet (Ether Transfer)
A straightforward contract that is able to deposit ETH, check your balance, and withdraw whenever you desire. It may seem simple, but it’s a fundamental lesson for beginners: how to send Ether safely and how to make common mistakes, such as reentrancy, which you need to avoid.
Features:
- Deposit and withdrawal of ETH
- Check balance
- Only the owner can withdraw
Tech Stack: Solidity, Remix IDE, MetaMask
Difficulty: Easy
Source Code:Solidity by Example on GitHub
5. To-Do List DApp
Make a ‘to do’ list that exists on the blockchain. Users create tasks, check them off and delete them as appropriate. Combine it with a basic frontend build using React and you’ve got your first real DApp to show off in your portfolio.
Features:
- Add, complete and delete tasks
- Only the user’s list is viewed by each user
- Simple web frontend
Tech Stack: Solidity, React, Ethers.js
Difficulty: Easy
Source Code:Solidity by Example on GitHub
6. Simple Auction Contract
Create an auction with people bidding and the person with the highest bid wins the product, with everyone else receiving a refund of what they bid. It is a nice upgrade as it involves setting a time limit, tracking your bids, and their pattern of withdrawing—all of which will appear in real contracts.
Features:
- Make a bid before the time limit expires!
- Highest bid wins
- Outbid users are able to withdraw
Tech Stack: Solidity, Hardhat, Sepolia Testnet
Difficulty: Medium
Source Code:Simple Open Auction (Solidity docs)
7. Token Faucet
Create a contract which gives out your own test tokens to anyone who requests them, but has a cooldown so that nobody exhausts it. A simple concept but helps you get used to tokens, timestamps, and simple rules.
Features:
- Claim free tokens
- The cooldown timer will apply to each wallet
- Owner can refill the faucet
Tech Stack: Solidity, OpenZeppelin, Remix IDE
Difficulty: Easy
Source Code:OpenZeppelin Contracts on GitHub
Intermediate Solidity Project Ideas to Level Up
Everything you’ve learned so far?All of the fundamentals? Good. These solidity project ideas are solid, adding more logic, more security thinking and much closer to what real blockchain apps do. Each will be approximately a week long depending on how much time you have.
8. ERC-20 Token Creation
Design and create your own cryptocurrency token with a name, symbol, and total supply. Sounds fancy, but with OpenZeppelin it is rather quick. You will find out how token standards work, how transfers and allowances operate and why most of the crypto projects begin as this.
Features:
- Make a supply of coins that will remain the same or increase as time goes on
- Transfer and approve tokens
- Minting and burning for the owner
Tech Stack: Solidity, OpenZeppelin, Hardhat
Difficulty: Easy to Medium
Source Code:OpenZeppelin ERC-20 on GitHub
9. NFT Minting Platform (ERC-721)
Create an agreement that allows for the creation of one’s own NFTs, with different metadata, a link to the image etc. It is working according to the ERC-721 standard. You’ll also learn about IPFS, token IDs and how marketplaces such as OpenSea read your contract.
Features:
- Create custom metadata for Mint NFTs
- Restrict the supply and put in a mint price
- Show other wallets’ NFTs that are held by the wallet
Tech Stack: Solidity, OpenZeppelin, IPFS
Difficulty: Medium
Source Code:NFT project on GitHub
10. Decentralized Lottery
Players purchase a ticket with ETH and after a scheduled period of time, a contract selects one player to receive the pot. Randomness is the hard part as blockchains are predictable. You’ll learn about Chainlink VRF and why Solidity’s pseudo-random tricks are a bad idea.
Features:
- Enter by paying a ticket fee
- Random winner selection
- Automatic payout and reset
Tech Stack: Solidity, Chainlink VRF, Hardhat
Difficulty: Medium
Source Code:Smart Contract Lottery on GitHub
11. Escrow Smart Contract
An agreement in which money is withheld by a buyer and a seller until they agree to the terms. In case of mistakes, an arbiter can intervene. It’s a real world example, which will teach you about state machines, roles and proper funds protection.
Features:
- Buyer deposits funds into escrow
- If confirmed, pay release fee
- Arbiter resolves disputes
Tech Stack: Solidity, Remix IDE, Hardhat
Difficulty: Medium
Source Code:Safe Remote Purchase (Solidity docs)
12. Supply Chain Tracker
Trace a product from the factory to the end-user and document each stage of the process on-chain. It is updated by each handler and the history can be seen by everyone. It is a classic use case of blockchain and it is a great exercise of structs, enums and role-based permissions.
Features:
- Ensure that registered products have an individual ID number.
- Update status at each stage
- Public history lookup
Tech Stack: Solidity, Hardhat, React
Difficulty: Medium
Source Code:Solidity by Example (structs and enums)
13. Multi-Signature Wallet
A wallet that requires multiple owners to authorize transfers, such as with a shared bank account with a greater level of security. The first person suggests an action, and the rest of the group agrees, after which the transaction is carried out. Ideal for the comprehension of how actual teams and DAOs safeguard their treasure funds.
Features:
- It can be a multi-user with a minimum number of approvals required
- Place, verify and complete orders
- To remove a confirmation prior to execution
Tech Stack: Solidity, Hardhat, Ethers.js
Difficulty: Medium to Hard
Source Code:Multi-Sig Wallet (Solidity by Example)
14. Decentralized Marketplace
Create a basic marketplace for people to sell products at a price and people have to pay using ETH. The contract is responsible for the ownership and pays the seller. You will learn the concepts of payments, listings and events, and it integrates well with your NFT project.
Features:
- List and delist items
- Buy with ETH
- Seller withdraws earnings
Tech Stack: Solidity, Hardhat, React
Difficulty: Medium
Source Code:NFT Marketplace on GitHub
Best Solidity Project Ideas for Final Year Students
In your last year, something that stands out is needed. These solidity project ideas are larger, more realistic and will be a great addition to your resume and viva voce. Choose one, make a good plan and at least 2-3 weeks.
15. Decentralized Voting System with Identity Verification
An enhanced version of the simple voting app. Verified voters only can vote and all votes are on-chain, meaning no one is able to manipulate the outcome of a vote. You will face issues relating to eligibility, administration, and voting processes such as registration, voting, and result declaration.
Features:
- Registered voters (admin approved)
- Each person can cast one verified vote
- The ability to control the phase of the fighting (opening, closing, displaying results)
Tech Stack: Solidity, Hardhat, React
Difficulty: Medium to Hard
Source Code:Blockchain Voting DApp on GitHub
16. Blockchain-Based Healthcare Records System
Medical records are the patients’ property and their physicians have access to them only with their consent. Keep access rules and hash on-chain and store actual files on IPFS. It’s a wonderful topic as it exhibits privacy, ownership, and even in the world of use.
Features:
- Badgers access or withdraw doctor permission to view
- Record hashes recorded on-chain
- Access history log
Tech Stack: Solidity, IPFS, React
Difficulty: Hard
Source Code:Search healthcare records on GitHub
17. Certificate Verification System
Universities provide certificates as on-chain records and employers can instantly verify them. Educational diplomas no longer to be fake. You will store a hash of each certificate, and allow others to verify if it is a real certificate. Very popular for the final year, give your own spin on it.
Features:
- Institution issues certificates
- The certificates are publicly verifiable with certificate ID
- Revoke fake and incorrect certificates
Tech Stack: Solidity, Hardhat, IPFS
Difficulty: Medium
Source Code:Search certificate verification on GitHub
18. Land Registry on Blockchain
Record land ownership on-chain, where records are not easily forgeable or can be changed without notice. Property can be transferred by owners and a government role approves each transfer. This is a very useful suggestion and is often favored by the examiner due to being straightforward.
Features:
- Enrol land with identity numbers.
- Transfer of ownership by approval
- Full ownership history
Tech Stack: Solidity, Hardhat, React
Difficulty: Hard
Source Code:Search land registry on GitHub
19. Decentralized Insurance Platform
A premium is paid by the users into a common fund, and the claims are paid depending on the conditions. For instance, automatic flight delay insurance based on real data from an Oracle. It is difficult, but it encompasses pooled funds, claims logic and oracles within one project.
Features:
- Purchase a policy that has a premium
- Automatic Payment from an oracle
- Shared liquidity pool
Tech Stack: Solidity, Chainlink, Hardhat
Difficulty: Hard
Source Code:Chainlink Parametric Insurance on GitHub
20. Staking and Yield Platform
Users place their tokens in a contract and receive rewards over the course of time. Most DeFi Apps are based on this principle. Here you’ll be dealing with reward math, timings and a withdrawal system, be careful with these numbers, it costs a lot when you get it wrong.
Features:
- Stake and unstake tokens
- Rewards depend on the time in staked
- Claim rewards anytime
Tech Stack: Solidity, OpenZeppelin, Hardhat
Difficulty: Hard
Source Code:Staking Rewards (Solidity by Example)
21. Decentralized Exchange (DEX)
Create a small Uniswap exchanging one token with the other by means of a liquidity pool. The most challenging, yet the most impressive project on this list! You will understand what automated market makers are, the constant product formula, and how liquidity providers make fees.
Features:
- Increase and decrease liquidity
- Swap the tokens in the pool
- Liquidity providers will incur a small fee
Tech Stack: Solidity, Hardhat, Ethers.js
Difficulty: Very Hard
Source Code:Constant Product AMM (Solidity by Example)
How to Choose the Right Project from These Solidity Project Ideas
Toss and turn over which one to choose? Don’t stress. Simply skim through these quick points and you’ll make your choice easier.
1. Check your skill level honestly: If you have just written a few contracts, go through the beginner list. Usually, jumping in to a DEX leads to frustration.
2. Look at your deadline: Is the deadline two weeks away? For medium go for something medium. An over-ambitious task that is rushed up is worse than a simpler job that is done properly.
3. Pick something you’re curious about: If you like voting or healthcare, develop that. The annoying pests will be much easier to maneuver.
4. Think about your viva: Decide on a topic that you can explain simply. Clear answers are more favourably received by the examiners than fancy answers.
5. Add your own twist: Certificate verification is a popular method and consider including something rarely found, such as expiration dates or QR codes.
6. Make sure code and docs exist: Always have a project that has good reference code and tutorials – never be completely lost.
Tips to Make Your Solidity Project Stand Out
The construction of the contract is just half the work. This is what people really notice.
- Write unit tests: Test the normal and the weird cases as well. Having a project that has good tests will make it look more serious than one that doesn’t.
- Check for common security bugs: Reentrancy problems, overflow and missing access control. If you do these in your viva, they are a thing of respect!
- Build a simple frontend: You can use React with Ethers.js. No one wants to deal with a contract, via the command line.
- Deploy on Sepolia: It works on my laptop is just a fancy way of saying it shouldn’t work on any laptop unless deployed on Sepolia.
- Write a clear README: Describe the project, how to use it, and tools used.
- Record a short demo video: 2 minutes is ample. It will save you if the live demo decides to break!
Common Mistakes to Avoid in Solidity Projects
However, a great number of students make the same sort of errors, and the positive thing is that they’re easy to avoid provided that you know how.
1. Ignoring gas costs: Loops over big arrays and no value contracts are very costly to run. Store only what is essential; keep things simple.
2. Skipping security checks: The two major ones are reentrancy and lack of access control. Avoid reinventing the wheel by using OpenZeppelin and the checks-effects-interactions pattern.
3. Using fake randomness: Block timestamps and block hashes are easy to predict. For projects that require random numbers, use Chainlink VRF.
4. Picking a project that’s too big: Half finished DEXs are worse than completed voting apps. Stay focused and plan to build upon it.
5. Copying code without understanding it: Examiners will query why you wrote something a certain way; copying code without understanding it. You can’t explain it, it shows quickly.
6. Testing too late: Avoid waiting until the last night to do tests. Write them as they go and you will be able to catch bugs early.
Final Thoughts
That’s the complete list, then. These are some solidity project ideas that will help you get started or develop something for your final year, as it were. Do small things, stick to the jobs you’ve started, and don’t look at the first version as a mess! Everyone’s does.
My advice? Choose one project and just dive in! Write a few lines down in Remix, break something, fix it. This is the way one understands Solidity. Then, you’ll feel more comfortable in your interviews and vivas, as you have a few projects finished and on GitHub, with tests and a clean README.
Make sure to save this page and revisit it anytime you have new solidity project ideas. And should you find yourself struggling with a blockchain task, Best Assignment Grade has you covered.
FAQs
1. What are the best Solidity projects for beginners?
You can begin with a storage contract, a voting system, or a crowdfunding application. They’re small, quick to complete, and will provide you with the fundamentals, such as functions, mappings, and sending ETH.
2. Which Solidity project is best for final year?
Safe options include certificate verification, land registry or a healthcare records system. These will help you solve real problems, are easy to explain during a viva and you can add your own twist.
3. Where can I get Solidity project ideas with source code?
The first place to look is GitHub. The code of Solidity by Example, OpenZeppelin and Chainlink’s repos are also solid. Simply read, understand, and make it your own.
4. How long does a Solidity project take?
Projects for beginners typically take 2-4 days. About a week for intermediate and more than 3 weeks for final year projects (frontend and testing).



