Understand the Full Process
FundChain is powered by an Ethereum smart contract that handles campaign creation, contributions, withdrawals, and refunds — all without intermediaries. Here's exactly how every part of the system works.
Transaction Flow Overview
Connect Wallet
Create / Fund
Smart Contract
Goal Met?
Withdraw / Refund
Campaign Lifecycle
From creation to completion, every campaign follows this transparent lifecycle governed by the smart contract.
Create a Campaign
Any Ethereum wallet holder can create a campaign by setting a funding goal (in ETH) and a deadline. The smart contract deploys your campaign on-chain — no approval process, no middlemen.
- Connect your MetaMask or any Web3 wallet
- Set your funding goal in ETH and campaign duration
- Add a title, description, and banner image
- Your campaign is live on the blockchain instantly
Fund a Campaign
Supporters contribute ETH directly to the smart contract. Every contribution is recorded on-chain with full transparency — the creator cannot touch the funds until the campaign ends successfully.
- Browse active campaigns on the Explore page
- Enter any ETH amount and confirm the transaction
- Your contribution is tracked in real-time on the progress bar
- Funds are held securely by the smart contract, not the creator
Goal Reached — Withdraw
When the deadline passes and the total raised meets or exceeds the goal, the campaign creator can withdraw all funds in a single transaction. The smart contract enforces this — only the creator can withdraw, and only after success.
- Campaign deadline must have passed
- Total contributions must meet or exceed the goal
- Only the original creator wallet can call withdraw
- Funds are transferred directly — zero platform fees
Goal Not Reached — Refund
If the campaign fails to reach its goal by the deadline, every contributor can claim a full refund of their exact contribution. The smart contract guarantees this — no partial refunds, no disputes.
- Campaign deadline must have passed
- Total raised must be below the goal
- Each backer claims their own refund individually
- 100% of your contribution is returned to your wallet
Built for Trust & Security
The Crowdfunding.sol contract is built with Solidity 0.8.24 and OpenZeppelin security primitives. Every function is designed with safety-first principles.
Permissionless
Anyone with an Ethereum wallet can create or fund a campaign. No sign-ups, no KYC, no gatekeepers.
Reentrancy Protected
Built with OpenZeppelin's ReentrancyGuard to prevent exploit attacks on fund, withdraw, and refund functions.
On-Chain Transparency
Every action emits an event — CampaignCreated, Funded, Withdrawn, Refunded — all publicly verifiable on Etherscan.
Zero Platform Fees
The smart contract takes no cut. 100% of contributed funds go to the creator on success or back to backers on failure.
Immutable Rules
Campaign goal and deadline are set at creation and cannot be changed. No one — not even the creator — can modify the terms.
Trustless Escrow
Funds are held by the smart contract, not by any individual or company. Code is law — the rules execute automatically.
Contract Functions
The core smart contract exposes these public functions. Each is secured with custom error handling and reentrancy protection.
createCampaign(goal, duration)WriteCreates a new campaign with a funding goal (wei) and duration (seconds). Returns the campaign ID.
fund(campaignId)PayableContribute ETH to an active campaign. Reverts if campaign has ended or contribution is zero.
withdraw(campaignId)WriteCreator withdraws all funds after deadline if goal is met. Reverts for non-creators or failed campaigns.
refund(campaignId)WriteContributor reclaims their exact contribution if campaign fails. Reverts if goal was reached.
getCampaign(campaignId)ViewReturns the full Campaign struct: creator, goal, deadline, totalRaised, withdrawn status.
getContribution(campaignId, address)ViewReturns the amount a specific address has contributed to a campaign.
Common Questions
What wallet do I need?
Any Ethereum-compatible wallet like MetaMask, Coinbase Wallet, or WalletConnect-supported wallets.
What network does FundChain run on?
Currently deployed on Sepolia testnet for testing. The contract can be deployed to any EVM-compatible chain.
Is there a minimum contribution?
Any amount above 0 ETH is accepted. The smart contract will reject zero-value transactions.
What happens if a campaign fails?
If the goal is not reached by the deadline, every contributor can claim a full refund of their exact contribution.
Can the creator change the goal or deadline?
No. Once created, the goal and deadline are immutable. The smart contract enforces this permanently.
Does FundChain charge fees?
Zero platform fees. You only pay the standard Ethereum gas fee for your transaction.
Ready to try it?
Create your first campaign or fund an innovative project — all secured by Ethereum smart contracts.