Non-custodial escrow for early-stage raises. Caps, timelines, and refunds enforced by smart contracts.
Private beta opening soon
Most fundraising relies on manual settlement and reputational enforcement. Custody is social. Refunds are promises. Caps and timelines depend on coordination and good faith. Even honest teams fail under pressure, market shifts, or operational constraints. Capset replaces trust-based execution with programmatic enforcement. Terms are set on-chain, outcomes are automatic, and recovery is enabled when conditions fail.
Capset routes funds into non-custodial smart contracts with fixed parameters and publicly referenced terms. If conditions aren't met, contributors can claim refunds permissionlessly. No exceptions, no manual intervention.
Hard caps, soft caps, deadlines, and allocation rules encoded in the contract.
Contributions locked until terms are satisfied. No early access, no custody risk.
If soft cap isn't reached by deadline, contributors can claim their refunds. No approval needed.
Five immutable states enforced on-chain
When you contribute, you receive an ERC20 claim token representing your allocation under the listed terms. These tokens are portable, programmable, and designed for transparent settlement.
Each claim token represents a fixed allocation. Your balance reflects your position in the raise, making calculations and verification straightforward.
Claim tokens are standard ERC20s. You can transfer allocation between addresses or integrate with other contracts without intermediaries.
Claim tokens support vesting schedules, unlock conditions, and composable distribution logic. Enabling transparent, automated settlement.
We never hold funds. Contracts are permissionless and auditable. No trusted intermediaries.
Once deployed, core rules cannot change. Caps, deadlines, and refund logic are set at deployment.
We treat failure as a first-class outcome with programmatic recovery.
Refunds and releases happen permissionlessly.
All allocations tracked on-chain and publicly verifiable.
Deploy on any EVM chain
Battle-tested security patterns
Built with OpenZeppelin standards and battle-tested patterns. Currently in private testing on Base Sepolia.
function finalize() external nonReentrant { require(state() == State.Ended, "Not ended"); require(!finalized, "Already finalized"); finalized = true; // Success: softCap reached AND tokens deposited if (totalRaised >= softCap && tokensDeposited) { successful = true; totalAllocated = requiredTokens; // Split funds: platform fee + team payout uint256 fee = (totalRaised * platformFeeBps) / 10_000; uint256 payout = totalRaised - fee; safeTransfer(feeRecipient, fee); safeTransfer(owner(), payout); } else { // Failed: enable automatic refunds successful = false; } emit Finalized(totalRaised, totalAllocated, successful); }
Web3 teams launching presales, community rounds, or early-stage raises with fixed caps and timelines. Also used by DAOs, protocols, and creators managing programmatic allocation and settlement.
Join the waitlist to get notified when private beta opens.