There are three funding types:
- Pay to Reveal: fixed price, instant access - Traditional Crowdfund: goal + deadline, full refund if it doesn't hit - Dominant Assurance: creators put up their own money as a commitment. If the goal isn't met, backers get a refund plus a share of the creator's commitment as a bonus. Backing is a dominant strategy. This is based on Alex Tabarrok's 1998 paper "The Private Provision of Public Goods via Dominant Assurance Contracts" (https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4682).
One modification I made to the original DAC: backers can withdraw ("unback") at any time before the deadline, and the outcome is determined solely by the total at the deadline. Without this, a creator could fund their own Piece from another wallet to hit the goal and never pay the refund bonus. With unbacking, that attack doesn't work -- backers who see suspicious activity can pull out, forcing the creator to either fully fund it every time (releasing the content, so the audience wins) or risk getting caught short at the deadline and paying the bonus.
The contracts run on an EVM chain, payments in USDC. There's also an API for AI agents and a ChatGPT integration (https://chatgpt.com/g/g-69c869434cec8191b72f10ce3b390d72-pie...). One interesting finding: agents immediately recognize the dominant strategy in the DAC model without explanation and prefer it if given a choice. Humans generally need the simpler funding types first.
Test mode with mock USDC if anyone wants to try it without real money. Happy to answer questions about the mechanism design or the contracts.