Sepolia Testnet ยท Live
Documentation

DecentCrowd

Decentralized crowdfunding for Sub-Saharan Africa. Milestone-based escrow, DAO governance, and no intermediaries โ€” built on Ethereum.

โ„น๏ธ
Testnet only. DecentCrowd currently runs on Ethereum Sepolia Testnet. All ETH used is test ETH with no real monetary value. Mainnet launch is planned for a future date.
Getting Started

Install MetaMask

MetaMask is a browser extension that acts as your Ethereum wallet. It lets you connect to DecentCrowd, sign transactions, and manage your funds โ€” without ever giving the app your private key.

1
Install the extension
Go to metamask.io and click Download. It works on Chrome, Firefox, Brave, and Edge. On mobile, download the MetaMask app from the App Store or Google Play.
2
Create a new wallet
Click Create a new wallet. Set a strong password. You'll be shown a 12-word Secret Recovery Phrase โ€” write it down on paper and store it somewhere safe. This phrase is the only way to recover your wallet if you lose access.
3
Your wallet is ready
MetaMask will show your wallet address (e.g. 0xE2E9...1e9F). This is your public identity on the blockchain. Share it freely โ€” it doesn't give anyone access to your funds.
โš ๏ธ
Never share your Secret Recovery Phrase or private key. DecentCrowd will never ask for it. Anyone who has it can take all your funds.
Getting Started

Get Test ETH

To interact with DecentCrowd you need Sepolia ETH to pay for gas (transaction fees). It's free โ€” use any of these faucets:

FaucetAmountRequirement
Google Cloud Web3 Faucet0.05 ETH/dayNone โ€” recommended
Alchemy Faucet0.5 ETH/dayFree Alchemy account
Chainlink Faucet0.1 ETH/day0.001 ETH on mainnet

Paste your wallet address into the faucet and click Send ETH. Funds usually arrive within 30 seconds. You can also request test ETH directly from the app โ€” click your wallet address in the top bar and select Get Test ETH.

Getting Started

Connect Your Wallet

DecentCrowd automatically switches your wallet to Sepolia when you connect. You don't need to configure anything manually.

1
Click Connect Wallet
On app.decentcrowd.cc, click the Connect Wallet button in the top right corner.
2
Approve in MetaMask
MetaMask will pop up asking you to approve the connection. Click Connect. This does not give the app access to your funds โ€” it only lets it read your address.
3
Switch to Sepolia
If you're not already on Sepolia, the app will ask MetaMask to switch networks automatically. Click Switch network in the MetaMask popup. If Sepolia isn't listed, click Approve to add it.

Once connected, your truncated address (e.g. 0xE2E9โ€ฆ1e9F) appears in the top bar with a green dot. Click it to see your full address, balance, and options.

Platform

How Escrow Works

When you pledge ETH to a campaign, your funds are not sent to the creator. They are locked in the DecentCrowd smart contract on Sepolia. The contract acts as a neutral escrow โ€” it holds the funds and releases them only when specific conditions are met.

The pledge flow

  1. You click Back this project and enter an amount
  2. MetaMask asks you to confirm โ€” you approve
  3. Your ETH is sent directly to the smart contract address 0x787dโ€ฆ7b92
  4. The contract records your pledge and adds it to the campaign's raised total
  5. You can see your pledge on Sepolia Etherscan immediately

Milestone-based release

Each campaign is divided into milestones with a percentage of the total raise attached to each one. When a creator completes a milestone, they submit proof to the DAO. If the DAO votes to approve, the corresponding tranche is released to the creator minus the 2.5% platform fee.

Refunds

If a campaign does not reach its goal by its deadline, or if the DAO rejects a milestone vote, the contract automatically enables refunds. Any backer can then call claimRefund() to get their full pledge back โ€” no permission from the creator or platform needed.

โœ…
Your funds are safe. The creator cannot withdraw funds directly. All releases require DAO approval. The contract code is fully open source and verifiable on Etherscan.
Platform

DAO Governance

DecentCrowd uses a decentralized autonomous organization (DAO) to verify milestone completion and authorize fund releases. No single person โ€” including the DecentCrowd team โ€” can unilaterally release funds.

Who can vote?

Any wallet that has pledged ETH to a campaign can vote on that campaign's milestone proposals. Votes are weighted by pledge size โ€” a backer who pledged 0.5 ETH has more voting weight than one who pledged 0.01 ETH.

How a vote works

1
Vote opens
Once a creator submits milestone proof, the platform opens a 24-hour vote on-chain. You'll see a notification in the app bell icon.
2
Backers vote
Go to the DAO page. You'll see active proposals. Click Vote Yes to approve the milestone or Vote No to reject. MetaMask will confirm the transaction.
3
Vote finalised
After 24 hours, anyone can call finaliseMilestone(). If Yes โ‰ฅ No (by weight), funds release to the creator. If No > Yes, refunds are enabled for all backers.
Platform

Back a Campaign

Backing a campaign means pledging Sepolia ETH to it. Your funds go into escrow and are only released to the creator if milestones are approved by the DAO.

1
Find a campaign
Go to the Explore page. Filter by category or country. Click a campaign to read its milestones and team background.
2
Click Back this project
Choose an amount (or enter a custom one). Review the fee breakdown โ€” 2.5% platform fee is shown before you confirm.
3
Confirm in MetaMask
MetaMask will pop up showing the transaction details. Check the amount and click Confirm. The transaction takes about 15 seconds to confirm on Sepolia.
4
Your pledge is live
The campaign's funding bar updates in real time. You'll see your pledge amount on the campaign detail page. You can view the transaction on Etherscan from the confirmation screen.
Platform

Create a Campaign

Anyone can launch a campaign on DecentCrowd. Your campaign is deployed directly to the blockchain โ€” no approval from the platform is needed.

โš ๏ธ
Plan your milestones carefully. Once deployed, milestone descriptions and percentages cannot be changed. Make sure they are clear and verifiable โ€” your backers will vote on them.

Campaign checklist

  • Clear, specific title that describes the real-world outcome
  • Realistic funding goal in ETH
  • 2โ€“3 milestones with verifiable deliverables
  • Milestone percentages that sum to exactly 100
  • Campaign duration between 1 and 365 days

How to deploy

1
Switch to Creator mode
In the app, toggle from Backer to Creator in the top bar. Click New Campaign.
2
Fill in the details
Enter your campaign title, category, country, funding goal, and duration across three steps.
3
Define milestones
Add up to 3 milestones. Each needs a description and a release percentage. They must sum to 100.
4
Deploy on-chain
Click Deploy Campaign. MetaMask will ask you to confirm. The campaign appears on Explore as soon as the transaction confirms (~15 seconds).
Reference

Smart Contract

The DecentCrowd smart contract is deployed on Ethereum Sepolia Testnet. It is the sole custodian of all pledged funds.

Contract Address ยท Sepolia
0x787daAD9f70489D00B9f18bE458De93737827b92
View on Etherscan โ†—

Read functions

FunctionTypeDescription
getCampaign(id)ReadReturns all campaign details including goal, raised, deadline, and status
getMilestone(campaignId, index)ReadReturns milestone description, release percent, vote counts, and status
getPledge(campaignId, address)ReadReturns a specific backer's pledge amount in wei
campaignCount()ReadReturns the total number of campaigns deployed
getAllCampaigns()ReadReturns an array of all campaign IDs

Write functions

FunctionTypeDescription
createCampaign(...)WriteDeploys a new campaign with title, goal, duration, and milestones
pledge(id)WritePledges ETH to a campaign. Send ETH as msg.value
vote(id, support)WriteCasts a weighted vote on the current milestone (true = approve)
finaliseMilestone(id)WriteFinalises a vote after 24h and releases funds or enables refunds
claimRefund(id)WriteClaims a full refund when refunds are enabled

Events

EventTypeEmitted when
CampaignCreatedEventA new campaign is deployed
PledgedEventA backer successfully pledges ETH
MilestoneApprovedEventA milestone vote passes and funds are released
MilestoneRejectedEventA milestone vote fails and refunds are enabled
RefundedEventA backer successfully claims their refund

Interact directly

You can call any read function directly on Etherscan without a wallet. For write functions, connect MetaMask on the Etherscan contract page under the Write Contract tab.

# Example: read campaign 1 details using ethers.js
const provider = new ethers.JsonRpcProvider("https://rpc.sepolia.org");
const contract = new ethers.Contract(
  "0x787daAD9f70489D00B9f18bE458De93737827b92",
  ["function getCampaign(uint256) view returns (uint256,address,string,string,string,string,uint256,uint256,uint256,uint256,uint256,bool,bool)"],
  provider
);
const campaign = await contract.getCampaign(1);
console.log(campaign);
Reference

FAQ

Is this real money?

No. DecentCrowd runs on Ethereum Sepolia Testnet. All ETH used is test ETH with no real monetary value. You can get it for free from any Sepolia faucet.

What is the platform fee?

DecentCrowd charges a 2.5% fee on each milestone release. This is deducted automatically by the smart contract at the time of release. There are no listing fees or withdrawal fees.

What happens if a campaign doesn't reach its goal?

If the campaign deadline passes without reaching the funding goal, the platform enables refunds. Every backer can call claimRefund() to get their full pledge back โ€” the creator receives nothing.

Can I back a campaign without MetaMask?

No. All interactions with the smart contract require a Web3 wallet. MetaMask is the recommended option. On mobile, the MetaMask browser app works the same way.

How long does a transaction take?

Sepolia transactions typically confirm in 15โ€“30 seconds. During periods of high network activity it may take up to a few minutes.

Can the DecentCrowd team take my funds?

No. Funds are held by the smart contract, not by DecentCrowd. The contract owner address (0xE2E9โ€ฆ1e9F) can only enable refunds and open milestone votes โ€” it cannot withdraw pledged funds directly.

Where is the source code?

The smart contract source code is available on GitHub and verified on Sepolia Etherscan.