Build a Web3 portfolio in 2026 that gets you hired. Essential projects, GitHub examples, and on-chain proof for developers, designers, and non-technical roles. Land $120K+ blockchain jobs.
In Web3, your portfolio is the resume. Hiring managers open your GitHub, block explorer links, and on-chain activity before they read your cover letter. This guide shows how to build a small set of verifiable projects that prove you can ship and explain trade-offs, whether you write smart contracts, build frontends, or work in non-technical roles.
A Web3 portfolio is a structured set of public proof: GitHub repos with tests, deployed and verified contracts on a block explorer, a live demo, and short write-ups that explain what you built and what you left out. It answers one question for a reviewer: can this person ship safer software that works on-chain and explain the choices behind it.
It is different from a traditional tech portfolio. Screenshots are not enough. A reviewer will click a repo, run tests, check the verified source on Etherscan or a matching explorer like Arbiscan or Basescan, and inspect transactions. If the link is dead, the contract is unverified, or there are no tests, confidence drops.
This guide is for three groups. Pick one track first, then build proof for that track.
Smart contract and protocol developers.
You need to show Solidity, security habits, and EVM understanding. Proof is a tested contract, a verified deployment, and notes on access control and failure cases. Tools you will use include Solidity, OpenZeppelin Contracts 5.x, and Foundry (forge, cast, anvil) or Hardhat. Frontend and full-stack dApp developers.
You need to show wallet connection, transaction states, and how your UI handles chain data. Proof is a Next.js or React app using wagmi or viem or ethers.js that connects a wallet, handles pending, confirmed, failed, and wrong-network states, and reads and writes to a contract you deployed. Hosting is often Vercel or Netlify for the frontend and a testnet for the contract. Non-technical contributors: research, data, community, growth, operations.
You need to show clear thinking and shipped work without code as the main artifact. Proof is a Dune dashboard with SQL queries and findings, a governance forum post or proposal, a content series that explains a protocol, or a documented community program with outcomes. On-chain participation (voting, POAPs, attestations) helps, but it never replaces a clear write-up.
If you are switching tracks, start with one. A focused portfolio for one role beats a scattered set for three.
Hiring in Web3 runs on proof that a stranger can check in minutes. Recruiters often spend 10 to 15 seconds on first scan looking for role fit and one-click proof links. Experienced reviewers then open one project deep and check tests, README, and deployment. Your job is to make that path short.
The system has three layers. You need at least two strong, one weaker is fine while you build.
Your GitHub profile is usually the first technical page a team opens. Surveys of engineering hiring in 2026 report 78% to 87% of technical recruiters check GitHub for engineering roles. A good profile does four things: states your target role in one line, pins 3 to 6 best repos, shows consistent activity over months, and points to one main destination.
For each repo, include:
forge test or npx hardhat test, and forge script or deploy steps. Do not commit private keys or RPC URLs. Use .env.example.Commit early with clear messages. Pin repos that match your target role. A profile README that repeats your one-line role, your top three projects, and links to demos and verified contracts helps reviewers who never scroll.
Your public wallet and ENS name give a readable, checkable history. ENS documentation describes ENS as human-readable names that map to addresses and can hold text records, avatars, and primary name settings. You can register a name at app.ens.domains. Fees depend on name length and length of registration, and you renew periodically.
Use this layer to show you participate, not just push code:
You do not need a mainnet deployment to prove skill. Reviewers accept testnet deployments with verified source and tests. Many teams suggest Sepolia, Holesky, or a low-cost Layer 2 testnet for early work. Note: Sepolia is scheduled for retirement around September 2026 with a successor testnet launching in parallel in 2026. If you plan a project that lives for many months, design it so you can redeploy to the successor network and keep explorer links updated.
Short, specific writing proves you can explain. In remote-first Web3 teams, that skill is part of engineering.
Good formats:
Write plainly. Name the tool version you used, link the query or repo, and state what you would improve next. One or two solid posts beat frequent short threads with no links.
Choose three projects. The pattern that holds up in hiring reviews is: one flagship full-stack dApp, one depth project tied to your track, and one open-source contribution. Three documented projects beat ten clones.
Quality checks for every contract you publish: use OpenZeppelin Contracts as the base where it fits, write tests with Foundry or Hardhat, run a static analyzer such as Slither on at least one project and document what you fixed, and verify the source on the right explorer. Etherscan's verification rebuilds your source with the compiler version and settings you provide and compares the bytecode to on-chain code. The most common failures are wrong compiler version, wrong constructor argument encoding, and missing library addresses. The Etherscan docs and Foundry Book both note you should pass the exact version including commit hash, ABI-encode constructor args, and list library addresses per chain. Use Standard JSON Input when you need to capture remappings reliably.
| Project | What it proves | Suggested stack and notes |
|---|---|---|
| Multi-sig wallet | Access control, transaction approval, safe ETH handling | Solidity, OpenZeppelin AccessControl, Foundry tests for permission and revert cases |
| Verifiable lottery | Randomness limits, commit-reveal or VRF integration, fund handling | Chainlink VRF docs for request and fulfill flow, tests for insufficient funds and double-entry |
| ERC-721 collection with allowlist | Token standard, merkle proofs, metadata on IPFS via Pinata or similar | OpenZeppelin ERC721, IPFS metadata, royalty standard ERC-2981, frontend mint with wallet states |
| On-chain governance system | Proposal lifecycle, voting, timelock | OpenZeppelin Governor, tests for voting power, quorum, and execution delay |
| Basic AMM or DEX | Price math, pool invariants, rounding | Public Uniswap V2-style constant product as reference, extensive fuzz and invariant tests, document impermanent loss limits |
| Staking or yield rebalancer | Reward math, time-weighted accounting, emergency withdraw | Reward per token accumulator, tests for zero-stake and clock edge cases, state change assertions |
For each project, deploy to a testnet. You can fund Sepolia with faucets: Alchemy drips about 0.1 ETH per day and requires a free account, Google Cloud's faucet drips about 0.05 ETH per day with a Google sign-in, and QuickNode's multi-chain faucet drips roughly 0.05 to 0.25 ETH depending on network and time, with a small mainnet balance requirement on some faucets. All three rate-limit per 24 hours and check that your testnet balance is not already high. Verify the contract, then put the explorer link at the top of the README.
| Project | What it proves | Required handling |
|---|---|---|
| Wallet dashboard | Connect, read balances, list NFTs, show history | wagmi and viem, display ENS name and avatar, handle wrong network and rejected signature |
| DAO proposal explorer | Indexing and filtering | Fetch from a governance subgraph or forum API, paginate and search proposals, link to on-chain vote transaction |
| Gas tracker | Fee estimation and UX | Show base fee and priority fee on Ethereum and at least one Layer 2, explain timing trade-offs, mobile layout |
Your frontend should handle wallet states, transaction states, readable revert messages, event display after confirmation, and env-based RPC config. Deploy the app on Vercel or Netlify and link it from the contract repo. Record a short Loom that shows connect, transact, and confirm.
| Project | What it proves | How to document |
|---|---|---|
| Dune dashboard for a protocol you follow | SQL, metric choice, insight | Link the dashboard, publish the queries, write a 300-word summary of one finding and one limit of the data |
| DAO contribution log | Initiative and follow-through | List issues you closed, docs you improved, calls you ran, with links to forum posts and a short outcome note |
| Technical content series | Depth and clarity | Two posts on one niche, such as decentralized derivatives or NFT financialization, with primary source links and a clear takeaway per post |
| Go-to-market plan for a hypothetical protocol | Strategy and Web3 distribution | One PDF or mirror post with channel, cost, and sequencing assumptions, plus what you would test first |
Non-technical contributors still need a GitHub presence for docs and dashboards, but your main hub can be a personal site or mirror that aggregates content, dashboards, and governance links.
Benefits- You control the evidence. A verified contract and a test suite show what you can ship without asking a reference to explain.
Costs and trade-offs- Time. A single flagship project with tests, deployment, verification, and a frontend often takes 2 to 4 weeks of focused work. Plan for that, not a weekend copy-paste.
forge coverage or forge snapshot takes time and can hide flaky assumptions if you treat the numbers as proof by themselves.Use this sequence. It is built for 3 to 6 months at 8 to 12 hours per week.
Week 1: choose a role and set up the tools- Write one line: target role, scope, and stack. Example: I build tested Solidity contracts with Foundry and TypeScript frontends.
foundryup.npm install @openzeppelin/contracts or forge install OpenZeppelin/openzeppelin-contracts with remappings.Weeks 2 to 4: ship the flagship full-stack dApp- Build a staking app. Contract: stake and withdraw an ERC-20 you mint, accrue rewards over time, emit events, and allow emergency withdraw. Frontend: connect wallet, show staked balance and accrued rewards, handle approve, stake, and withdraw flows.
Month 2: add depth and security notes- Pick one depth project from the table for your track. Add a SECURITY.md and a short section on reentrancy, access control, oracle assumptions, integer precision, and admin key risk. Run Slither, paste the summary, and note what you fixed.
forge coverage --report lcov and forge snapshot and record the key numbers in the README, but keep the text focused on what the numbers mean, not just the numbers.Month 3: contribute and publish- Submit one open-source pull request to a recognized repo such as OpenZeppelin Contracts, Foundry, viem, or wagmi. Start with tests or docs labeled good first issue or help wanted. Link the merged PR and write one sentence on what changed and why.
Before you apply: run this checklist- Can a reviewer click from your profile to a repo to a verified contract to a demo in under 10 minutes without asking you for anything.
Use a hub and spoke model. Your personal site is the hub, GitHub, explorer, Dune, and Mirror are the spokes.
On the hub:
On GitHub:
When you apply, tailor which proof you put first. For DeFi roles, lead with staking and AMM work and the verified lending or vault code. For security roles, lead with contest findings and Slither or fuzz reports. For frontend roles, lead with the wallet dashboard and transaction state handling.
Do I need a mainnet deployment to get hired
No. Teams accept verified testnet deployments with tests and a demo as beginner proof. Add mainnet only when you have a live protocol that needs it and you can pay for audit and monitoring. How many projects do I need
Two to three strong projects with full proof beat six shallow clones. One flagship with contract, tests, verification, and frontend, plus one depth project and one merged PR, is enough to start applying. What salary does a Web3 portfolio support
Published hiring data in 2026 varies by source and level. National surveys place the median blockchain developer base around $133,000 to $156,000 in the United States, with junior bases often $87,000 to $120,000 and senior or audit-focused roles well above $175,000 before token grants. Your offer depends on level, stack, and location. A portfolio helps you argue for that level with checkable proof. Can I build a portfolio for non-technical roles
Yes. Use Dune dashboards, governance contributions, and written analysis as your core proof. Show SQL, sources, and outcomes. Link forum posts and dashboard queries so reviewers can verify them. Which testnet should I use in 2026
Sepolia remains the common default for EVM testing. You can bridge its ETH to Base Sepolia or Arbitrum Sepolia for Layer 2 testing. Plan for Sepolia's scheduled retirement around September 2026 and keep a branch ready to redeploy to its successor. Do I need an ENS name
It helps for readability and for linking your work, but it is not required. If you use one, register on app.ens.domains, set the primary name, and add text records for links. Point it to your site if you want. What do reviewers look for in tests
They look for coverage of real risk: owner-only functions reject others, invalid inputs revert with the right error, edge values behave as intended, events emit with correct args, and state updates are asserted. Fuzz and invariant tests add signal if you explain the invariant, not just the number. How long will this take
Most beginners who follow the sequence above publish a hiring-ready set in 3 to 6 months of part-time work, then improve it weekly based on questions they get in screens.
Explore more guides and career playbooks