Blockstarter (part one): concept
I've backed a few things on Kickstarter that never arrived. The money left my account on the day the campaign ended, and after that the only thing I could do was read the update posts and hope.
Blockstarter is my answer to that. It works like Kickstarter, except the money doesn't go to the inventor when funding ends. It goes into an escrow contract on a blockchain, one per project. The inventor gets paid in slices, one per milestone, and only when the backers vote to approve the work. If the backers lose faith, they can vote to cancel and take back whatever is left.
This is part one, and it covers the concept: how a campaign works, who can do what, and what the contracts have to enforce. Part two covers the implementation.
The problem with paying up front
Kickstarter is all-or-nothing. If a project misses its goal, nobody is charged. If it hits its goal, Kickstarter collects every pledge, takes its fee, and pays the rest to the creator in one go. From then on, the backers carry all the risk and have no say. Kickstarter is open about this, and its own line is that it isn't a store.
Most creators are honest, and most failures come from bad luck or bad estimates, not fraud. But the payout has the same shape either way. A creator who is three months into a two-year build already holds the money for the whole thing, so backers have no way to stop funding a project that has clearly stalled.
Blockstarter changes three things:
- The platform never holds the money. Each campaign is its own contract with its own balance. Nobody, including me, can move funds outside the rules written into it.
- Funding is released in stages. The inventor splits the goal into milestones when they create the campaign, and each milestone is a separate payment.
- Backers can stop the money. Every milestone goes to a vote. Backers can approve it, ask for more evidence, or cancel the project and get a refund.
The idea isn't new. Vitalik Buterin described something similar for token sales in his 2018 DAICO post, and the voting rule below borrows from it. Blockstarter applies it to the Kickstarter model of a product, reward tiers and a goal.
Side by side:
- Who holds the money. On Kickstarter, the platform and then the creator. On Blockstarter, a contract, one per campaign.
- When the creator is paid. On Kickstarter, all at once after funding ends. On Blockstarter, one milestone at a time, after a vote.
- If the project stalls. On Kickstarter, backers wait. On Blockstarter, backers can vote to cancel.
- Refunds after a successful campaign. On Kickstarter, they're up to the creator. On Blockstarter, they're automatic and proportional to what's left.
- Fees. Kickstarter takes 5% plus payment processing. Blockstarter takes 3% of each release and nothing on refunds.
- Rewards. On Kickstarter, a survey and a shipping address. On Blockstarter, a token per reward tier, redeemed for the item.
Who does what
A campaign has two main roles, and a third that anyone can play.
The inventor creates the campaign. They set the goal, the funding deadline, the reward tiers and the milestones, and those terms can't change afterwards. Once funded, they work through the milestones in order. For each one they post evidence, wait for the vote, and withdraw the payment.
A backer pledges USDC to a reward tier. USDC is a stablecoin pegged to the US dollar, so a pledge of 100 is worth $100 whether the project runs a month or two years. Each dollar pledged is one vote. Backers vote on every milestone, and at the end they either collect their rewards or claim a refund.
Anyone can push the campaign forward. A contract can't wake itself up when a deadline passes, so somebody has to send a transaction to close funding, count a finished vote, or cancel a campaign whose inventor missed a deadline. The website shows a button for each of these. The contract doesn't care who presses it, so no single party can stall a campaign by doing nothing.
One more rule here. The inventor can't pledge to their own campaign. Without that rule, an inventor could buy enough votes to approve their own milestones.
The website
The website reads from and writes to the contracts. It never holds money and has no database of its own. It has five main pages:
- Explore lists live, funded and finished campaigns, with how much each has raised and how much is still in escrow.
- The project page has the pitch, the reward tiers, the milestone plan with deadlines, and the current vote. It also shows a feed of everything that has happened on-chain.
- Create is the form for a new campaign. It checks the rules before anything is sent, so an inventor can't submit milestones that don't add up to the goal.
- The dashboard shows each visitor what they've backed, the votes waiting for them, and any refunds, rewards or payments they can claim.
- How it works explains the rules with worked examples.
What each visitor sees depends on their role. A backer sees pledge buttons and a vote panel. The inventor sees a form to claim the next milestone, and a note explaining why they can't pledge.
The life of a campaign
Every campaign is a small state machine. It starts in funding and ends in one of three terminal states: failed, cancelled or completed.
- Funding. Backers pledge until the deadline. Pledges over the goal are fine.
- Finalize. After the deadline, anyone closes funding. If the total is short of the goal, the campaign has failed and every backer can claim back exactly what they pledged.
- Kickoff. If the goal was met, milestone 0 pays out straight away. The inventor picks its size at creation, and it can be zero. It's there because most projects need some cash to start, such as tooling or a first production run.
- Claim. When the inventor finishes a milestone, they claim it and attach their evidence: photos, a video, test results or a prototype in someone's hands. That opens a vote.
- Vote. Backers have seven days. Approve releases the milestone's payment. More evidence sends it back to the inventor. Cancel ends the campaign.
- Repeat until the last milestone is approved and the campaign is completed. Backers can then mint their rewards.
The inventor can also lose by missing a deadline. Each milestone has one, and if it passes without an approved claim, anyone can cancel the campaign. Deadlines are at least 21 days apart, which leaves room for three full voting rounds. That way, approving one milestone late can never leave the next one already overdue.
Money over time
This is the part that changes things for a backer. Take a campaign with a goal of 100,000 that raises 120,000, with milestones of 15%, 35% and 50%. Extra funding is split across the milestones in the same proportions.
On Kickstarter, the dashed line is the whole story. On day 30 the creator has 120,000 and backers have nothing left to protect. On Blockstarter, the hatched area is the money backers still control. It shrinks only when they vote to release it. On day 99, a campaign that has gone quiet still has 102,000 in escrow, and a cancel vote would return all of it.
The chart shows gross amounts. Each release pays 97% to the inventor and 3% to the platform, so the kickoff here is 17,460 to the inventor and 540 in fees. Refunds carry no fee.
Voting
Every backer votes with their full pledge. A vote is one of three choices and can't be changed:
- Approve. The work is done. Release the money.
- More evidence. It might be done, but show me. The inventor has to resubmit.
- Cancel. I don't believe this project will deliver. Refund what's left.
Low turnout is the hard part. Most backers won't vote on most milestones. If a simple majority of the people who voted decided the result, an inventor and two friends could approve anything while everyone else is asleep. So Blockstarter takes a rule from the DAICO post and counts silence as a weak "no". Each backer who doesn't vote counts as one sixth of a vote against.
1. Approve wins if approve − (more evidence + cancel) − absent ÷ 6 > 0
2. else Cancel wins if cancel − (approve + more evidence) − absent ÷ 6 > 0
3. else the result is More evidenceHere's what that means in practice. With full turnout, approve needs a simple majority. As turnout drops, it needs a larger share of the people who did vote. Below one in seven, nothing passes, even if every voter approved.
Two examples from the campaign above, where 120,000 is pledged in total:
- 52,000 approve, 9,000 more evidence, 3,000 cancel. That leaves 56,000 absent. The approve score is 52,000 − 12,000 − 9,333 = 30,667, so the milestone is approved.
- 4,000 approve, and nobody else votes. That leaves 116,000 absent. The approve score is 4,000 − 0 − 19,333, which is negative. Cancel doesn't win either, so the inventor is asked for more evidence.
A milestone gets at most three rounds. If the third round still doesn't approve it, the campaign is cancelled. An inventor can't keep resubmitting the same weak evidence forever, and backers can't keep the inventor waiting forever either.
Refunds
There are two kinds of refund:
- Failed campaigns refund in full. Each backer gets back exactly what they pledged.
- Cancelled campaigns refund in proportion. Each backer gets their share of whatever is left in escrow. If 120,000 was raised and 84,000 is left when the campaign is cancelled, a backer who pledged 600 gets 600 × 84,000 ÷ 120,000 = 420.
The 180 that backer doesn't get back paid for milestones that the backers approved. That's the deal. Backers fund work they've seen, and they can stop funding work they haven't.
Backers claim their own refunds. The contract never sends money to a list of people, because a project with ten thousand backers would need a transaction too large to run. Each backer collects their share with a call of their own, whenever they like.
What the contracts have to do
There are two contracts. A factory creates campaigns, and each campaign is its own contract holding its own money. One campaign can't touch another's funds.
Each campaign contract has to:
- Lock the terms. The goal, deadlines, tiers, milestones and pitch are fixed at creation. Milestone amounts must add up to the goal, and deadlines must be at least 21 days apart.
- Take pledges in USDC until the funding deadline, and refuse any from the inventor.
- Track voting power. One USDC pledged is one vote. Power is fixed when funding ends, because pledges stop then.
- Run one vote at a time. It opens a seven-day round when the inventor claims a milestone, records one vote per backer, and applies the rule above when the round ends.
- Release milestones. It credits the inventor and the platform fee, and each payee withdraws when they choose.
- Cancel on a cancel vote, after three failed rounds, or when the inventor misses a milestone deadline.
- Refund in full or in proportion, with each backer claiming their own.
- Mint rewards. Each reward tier is a token. When the campaign completes, backers mint theirs. Burning a token is the signal to ship the item. Shipping addresses stay off-chain.
- Emit an event for everything above, so the website can show a campaign's history without a database.
The pitch and each milestone's evidence are too large to store on-chain, so they live on IPFS. The contract stores only the hash, so nobody can quietly edit the pitch after people have backed it.
What it doesn't fix
Blockstarter moves risk around. It doesn't remove it.
- Backers still judge the evidence. A contract can count votes, but it can't tell whether a prototype works. A convincing video of a fake prototype still passes.
- Large backers carry more weight. One dollar is one vote, so somebody who pledged a lot can swing a result. That's fair, since it's their money at risk, but it isn't one person, one vote.
- Inventors get less up front. A hardware project that needs a large tooling order on day one has to put that in its kickoff milestone and convince backers to fund it unseen. That's the same trust Kickstarter asks for, just for less money.
- It needs a crypto wallet. That's a real barrier for most people who back things on Kickstarter today.
- A cancelled project doesn't refund the money already spent. Backers lose the milestones they approved. They just stop losing more.
Next
Part two covers the build. A Solidity contract enforces these rules, and a clickable demo site simulates a chain in the browser. A shared spec and a parity test keep the two in step.