One stream.
Split by shares,
every second.
SharedArc pays a whole team from one pre-funded pool. One rate goes in; shares decide who gets what. Change anyone’s share and everyone re-prices from that second — nothing already earned moves.
Example numbers, not a live pool. The ticking uses the same accrual math as the contract.
Paying a team onchain today means picking a compromise.
Streams know about time but not about teams. Splitters know about teams but not about time. Manual transfers know about neither. SharedArc is the merge: a split that happens over time.
The rate is constant.
The slices move.
Read it left to right: the pool’s whole rate is the height of the band, and each color is one member’s slice. Every event below is a single transaction.
Why one write is enough.
The pool keeps a single running number: how much one share has earned since the start. Each member only remembers where that number was when they joined. Their pay is the gap, times their shares.
What’s earned is theirs.
An owner can pause, re-weight or cancel the future. Nothing can touch the past. Each rule is a Foundry invariant, checked after every step of randomized runs.
Open source, tested, headed to mainnet.
An MIT-licensed building block: the contract, an SDK and the app that drives it. No token, no sale, no yield, no fees.
Every package builds and its tests pass locally, including the invariant suite. The address and each proof transaction fill in as the deployment lands. Every wallet in the proof run belongs to the author.
- DripPool0x92b8…A44f
- Deploy, verified on Sourcifydeploy tx · Sourcify
- Proof pool, first depositin progress
- withdrawFor paid by someone elsein progress
- Join, freeze, resume, no back-payin progress
- Pay everyone in one transactionin progress
- Cancel, member withdraws anywayin progress
Open the tap.
Shares do the rest.
$ git clone https://github.com/r4topunk/sharedarc $ cd sharedarc && pnpm install $ pnpm check # build + tests + lint $ pnpm --filter @sharedarc/web dev