27 dApps on the Sepolia testnet

27 protocols.Built from zero.Live on Sepolia.

Every smart contract here is written from scratch, with no OpenZeppelin and no libraries. Each one has unit, fuzz and attack tests, a deploy script and its own dApp that you can use right now.

live dApps
27
tests passing
838
external libraries
0
series, easy to hard
5

Each dot is one dApp, from 01 to 27. A bigger dot has more tests.

The dApps

Open any of them. They are live.

Every card opens a working app on the Sepolia testnet. You can read everything without a wallet. Connect one to send transactions.

Showing 27 of 27 dApps · all series

01 · /erc20-tokenSeries I · Foundations

ERC-20 Token

A supply-capped token with mint, burn, pause and gasless EIP-2612 permits.

  • ERC-20
  • EIP-712 signatures
  • Access control
Tests
34
Level
Token contract
0x26b4…8B62
02 · /crowdfundSeries I · Foundations

Crowdfunding

Kickstarter-style campaigns from a factory: pledge, then claim or refund, with a platform fee.

  • Factory pattern
  • Pull payments
  • Reentrancy defense
Tests
30
Level
Factory contract
0x49Ed…9FdB
03 · /multisigSeries I · Foundations

MultiSig Wallet

A Gnosis-style N-of-M treasury that runs any call after enough owners approve.

  • Multi-party approval
  • Execution order
  • Replay safety
Tests
27
Level
Wallet contract
0x0721…79f4
04 · /escrowSeries I · Foundations

Escrow Service

Buyer and seller escrow with fees, and an arbiter who can split the funds.

  • State machine
  • Dispute resolution
  • Fee accounting
Tests
31
Level
Escrow contract
0xC1b5…4564
05 · /nftSeries I · Foundations

NFT Collection

ERC-721 from scratch with a Merkle whitelist, royalties and a reveal.

  • ERC-721 internals
  • Merkle proofs
  • ERC-2981 royalties
Tests
33
Level
NFT contract
0x5744…7Fea
06 · /stakeSeries II · DeFi mechanics

Staking Rewards

Synthetix-style rewards that grow every second you stake, with a live ticker.

  • Reward accumulator
  • Checkpoints
  • O(1) rewards
Tests
26
Level
Vault contract
0xacc9…450e
07 · /vestingSeries II · DeFi mechanics

Token Vesting

Cliff and linear vesting schedules that the owner can revoke.

  • Unlock curves
  • Revocation math
  • Time logic
Tests
20
Level
Vesting contract
0xCf40…B935
09 · /daoSeries II · DeFi mechanics

DAO Governance

Snapshot voting power, quorum and on-chain execution of proposals.

  • Checkpoints
  • Quorum math
  • Flash-loan defense
Tests
16
Level
Governor contract
0x9a9C…cC48
10 · /lendSeries II · DeFi mechanics

Lending Protocol

Borrow against collateral, pay interest, and get liquidated when the health factor drops.

  • Health factor
  • Compound interest
  • Liquidations
Tests
23
Level
Vault contract
0x330F…9e34
11 · /hoaSeries III · Real-world law

Owners Association

Dubai Law No. 6 of 2019 on-chain: unit registry, service charges, board and veto.

  • Area-weighted votes
  • Statutory quorums
  • Reserve treasury
Tests
48
Level
Governor contract
0xFeD9…4228
12 · /estateSeries III · Real-world law

Estate Tokenization

DLD/RERA property shares with KYC, rental income and a maintenance reserve.

  • Payout epochs
  • Maintenance reserve
  • Compliance freeze
Tests
20
Level
Registry contract
0x12dd…6180
13 · /waqfSeries IV · Islamic finance

Waqf Endowment

A corpus that can never be spent. Only its income goes to charity.

  • Corpus invariant
  • Donor governance
  • Nazir board
Tests
46
Level
Vault contract
0x3dc6…1c19
14 · /varaSeries IV · Islamic finance

VARA Treasury

Regulated custody: segregated funds, KYC limits and a capital reserve.

  • Reserve rules
  • Tier risk limits
  • Emergency drain
Tests
29
Level
Treasury contract
0xfB14…0818
15 · /sukukSeries IV · Islamic finance

Sukuk Vault

Ijarah sukuk: certificates backed by a leased asset, with Shariah-approved profit.

  • Shariah income gate
  • Profit epochs
  • Face-value redemption
Tests
21
Level
Vault contract
0xAb1b…0bd7
16 · /takafulSeries IV · Islamic finance

Takaful Insurance

Mutual insurance pools with a claims committee and a no-claim surplus.

  • 2-of-3 approvals
  • Qard hasan bridge
  • Surplus snapshots
Tests
18
Level
Pool contract
0xe052…A238
17 · /murabahaSeries IV · Islamic finance

Murabaha Finance

Cost-plus trade finance with a disclosed markup, installments and charity late fees.

  • Charity late fees
  • Early-payment rebate
  • State machine
Tests
16
Level
Book contract
0xa293…e751
18 · /zakatSeries IV · Islamic finance

Zakat Engine

Nisab and hawl, 2.5 percent, and the eight asnaf of Quran 9:60.

  • Ring-fenced fund
  • 2-of-3 committee
  • Wealth snapshots
Tests
22
Level
Engine contract
0x2B5f…8495
19 · /mawaridSeries V · Full platforms

Mawarid RWA

9 contracts

Tokenized real estate end to end: issuance, exchange, rent, governance and insurance.

  • Phased subscriptions
  • Order book
  • Reserve floors
Tests
53
Level
Registry contract
0x7A68…7C50
20 · /tamweelSeries V · Full platforms

Tamweel Credit

10 contracts

A complete digital bank: deposits, credit lines, loans, auctions and governance.

  • EMA oracle
  • Per-second interest
  • Credit scores
Tests
47
Level
Vault contract
0x8F05…19bD
21 · /sahmSeries V · Full platforms

Sahm Exchange

11 contracts

An exchange with an order book, AMM pools, leveraged margin and circuit breakers.

  • Price-time matching
  • Funding + liquidations
  • Circuit breakers
Tests
45
Level
Collateral contract
0xb438…B77b
22 · /rahalaSeries V · Full platforms

Rahala Payments

12 contracts

Cross-border payments: FX, escrow, invoice factoring, netting and arbitration.

  • Travel rule
  • EMA FX rates
  • Batch netting
Tests
37
Level
Accounts contract
0x0843…2A6E
23 · /huwiyyaSeries V · Full platforms

Huwiyya Identity

10 contracts

Decentralized IDs, verifiable credentials, selective disclosure and recovery.

  • Merkle disclosure
  • Reputation decay
  • Guardian recovery
Tests
31
Level
Registry contract
0x7770…8Ae9
24 · /silsilaSeries V · Full platforms

Silsila Supply Chain

12 contracts

Purchase orders, shipment tracking, quality checks and milestone payments.

  • Proof of delivery
  • Milestone escrow
  • Delivery reputation
Tests
43
Level
Registry contract
0x62D0…812c
25 · /damanSeries V · Full platforms

Daman Insurance

12 contracts

Actuarial pricing, claims, parametric payouts, reinsurance and surplus.

  • Risk-class pricing
  • Oracle payouts
  • Mutual surplus
Tests
34
Level
Registry contract
0x0476…1cA9
26 · /ataaSeries V · Full platforms

Ataa Giving

10 contracts

Zakat on 7 asset classes, sadaqa, campaigns, sponsorships and donor tracking.

  • Multi-class zakat
  • FIFO provenance
  • Monthly pledges
Tests
36
Level
Registry contract
0xeE9f…2018
27 · /taqaSeries V · Full platforms

Taqa Energy

12 contracts

Renewable-energy certificates, carbon credits and peer-to-peer energy trading.

  • Auditor-attested mint
  • Certificate exchange
  • No double retirement
Tests
31
Level
Registry contract
0xc183…fb25

The method

Five steps for every contract

The same routine an auditor uses, applied to my own code before anyone else can attack it.

  1. Write down the invariants

    What must never break: supply caps, x·y ≥ k, safe pull payments, quorum math, a waqf corpus that never shrinks.

  2. Review by hand

    Reentrancy, who can call what, rounding direction, denial of service, flash-loan and MEV risk, storage layout.

  3. Test automatically

    Foundry unit and fuzz tests with 256 random runs each, time travel with vm.warp and signed messages with vm.sign.

  4. Attack it

    Write the exploit and prove that the guard stops it: reentrancy attacks in 02 and 04, flash-loan vote buying in 09.

  5. Report

    Each finding gets a severity, an exploit scenario, a fix and a test that keeps it fixed.

~/web3-smart-contract-projects
$ forge test --summary[PASS] testFuzz_MintNeverExceedsCap · 01 erc20-token · 256 runs[PASS] test_Refund_ReentrancyBlocked · 02 crowdfunding[PASS] test_Release_ReentrancyBlocked · 04 escrow[PASS] testFuzz_ClaimNeverPaysMoreThanVested · 07 vesting · 256 runs[PASS] testFuzz_SwapNeverBreaksInvariant · 08 amm-dex · 256 runs[PASS] test_Vote_SnapshotPreventsFlashVoteBuying · 09 dao[PASS] testFuzz_BorrowNeverExceedsLtv · 10 lending · 256 runs[PASS] test_EmergencyDrain_GuardianOnly · 11 owners-association…Ran 27 test suites: 838 tests passed, 0 failed

Real test names from the repository. GitHub Actions runs forge build and forge test on all projects for every push.

  • Solidity 0.8.26
  • Foundry 1.5.1
  • ethers.js v6
  • ERC-20
  • ERC-721
  • ERC-2981
  • EIP-2612
  • EIP-712
  • GitHub Actions

Live status

Is every dApp up right now?

When this page opens, your browser asks each dApp if it is up. Green means it answered.

Try one

What happens when you press a button

Every dApp works the same way. Nothing here uses real money.

  1. Connect a wallet

    MetaMask on Sepolia. Without a wallet you can still read everything.

  2. Press a button

    Approve, then send the action. You sign it in your wallet.

  3. The contract runs

    It checks the rules, changes the state and emits events. A broken rule reverts.

  4. Verified on-chain

    Every transaction links to Sepolia Etherscan.

  5. The dApp updates

    Balances, charts and state come fresh from the chain.

01

Get a wallet

Install MetaMask or another browser wallet.

02

Switch to Sepolia

The badge in each dApp must show “Sepolia Testnet”.

03

Get test ETH

Take free Sepolia ETH from a faucet for gas. The demo tokens come from the dApp itself.

04

Read “How to use”

Each dApp explains its flow at the bottom. Then press the buttons.

Work with me

Need an audit or a new protocol?

The same care you see on this page, for your project. Tell me what you need, and I answer by email.

  • Smart-contract audit

    A full security review of your contracts before they go live.

    Request this
  • New protocol

    Smart contracts for your idea, written from scratch and tested like an audit.

    Request this
  • dApp or full project

    The contracts plus the web app your users need, ready to run.

    Request this

Every request goes straight to my inbox, and I answer by email.

Send a request

Project details (optional)

I only use your data to answer you. Privacy notice