A savings circle that shows its work.
EqubFlow runs a rotating savings group on Arc. It checks that every contribution really arrived, explains each decision in plain words, and can only pay the person whose turn it is.
How a round works.
Each member sends their share to the group's safety lock.
Do not take our word for it.
Pick a demo circle. Your browser re-computes the record from the first entry and tells you whether anything was changed.
Chain broken at entry #.
Where the assistant decides.
A payment is short
Ask for the rest, hold, or escalate
A payment is late
Accept it with the lateness recorded, apply the group's late rule, or escalate
A payment comes from an unknown sender
Hold it, or ask who sent it
A member missed the deadline
Cover from reserve, delay the payout, pay a reduced pot, or escalate
A member asks to swap turns
Recommend yes or no
Idle money sits between rounds
Keep it liquid, move a bounded share, or redeem
What it cannot do.
Assistant
Checker
Authorizer
Executor
Pot
1. It cannot choose who gets paid.
2. It cannot pay twice for one round.
3. It cannot act while the circle is paused.
4. It cannot change the rules during a cycle.
Honest note: Today the pot is held by a wallet that the executor controls. A small contract on Arc that limits even a compromised executor is designed in the project documents and is being tested on testnet.
Built on Arc.
1. Payments settle in USDC on Arc, with a public receipt link.Arc Explorer >>
2. Member and pot wallets are created with Circle's developer-controlled wallets.Circle Documentation >>
3. Idle funds were tested with USYC on Arc testnet: a deposit and a redemption both completed.
4. The code and tests are public under Apache-2.0.GitHub Repository >>
The evidence so far.
People taking partNot yet4
Rounds completedNot yet1
USDC moved (test money)Not yet0.40 USDC
Decisions recordedNot yet20
Discrepancies resolvedNot yet1 (Late)
Automated tests passingNot yet73 of 73
What this demo is, and what it is not.
A small circle of six people using test money
A bank, a lender or a real-money product
Rounds sped up from weeks to hours
A normal savings schedule
Software that checks payments and writes a record anyone can verify
Reviewed by an outside security firm
Open source under Apache-2.0
Finished: some parts are planned, and the page says which
Run it yourself.
export function classifyTransfer( transfer: ObservedTransfer, expectations: RoundExpectations): ClassificationResult { if (transfer.tokenAddress !== expectations.usdcAddress) { return { kind: 'wrong_currency', matched: false }; } const member = expectations.members.find( (m) => m.walletAddress.toLowerCase() === transfer.fromAddress.toLowerCase() ); if (!member) { return { kind: 'unknown_sender', matched: false }; } const diff = transfer.amountBaseUnits - expectations.amountBaseUnits; if (diff < 0n) { return { kind: 'short_amount', delta: diff, matched: false }; } return { kind: 'exact_match', matched: true };}Reusable parts:
- The payment classifier (pure TypeScript, 0 I/O)
- The record verifier (WebCrypto SHA-256)
- The payout authorizer (deterministic gate)
- The database permission and RLS test suite