Who can act, what every control does, and where trust still lives.

Formation splits authority across distinct, named wallets and enforces the split on-chain. Below is the whole model in plain English, plus an honest map of the one place it can still be gamed.

Four labels, used everywhere.

Cryptography proves provenance: who signed, that nothing was altered. It does not prove the truth of an off-chain statement. That distinction is why a milestone is attested, never enforced.

Six roles. Separate keys. No one can stand in for another.

Issuer ≠ verifier ≠ platform. The separation is the trust model, and the program enforces it by pinned pubkey.

A raise that can't change the rules after you're in.

  1. 01. The raise opens (Raising)
    Terms are hashed and frozen on-chain: floor, ceiling, deadline, lockups, use of proceeds. Investors commit real USDC into a program-owned vault, not the issuer's wallet.
    Investor commits · Issuer may post a bond
  2. 02. The deadline closes the round (Raising → Funded / Failed)
    After the deadline the issuer closes. It succeeds only if the floor was met. If it wasn't, the deal closes failed and every investor can pull a full refund. No discretion either way.
    Issuer signs the close
  3. 03. Milestones are verified, releases queued (Funded)
    The verifier attests each milestone, then queues a release that pins the exact amount and recipient and starts a timelock. This moves zero dollars. It opens a visible challenge window.
    Verifier attests & queues
  4. 04. Money moves, or stays frozen (Funded)
    Once the timelock elapses with no open challenge, anyone can push the pre-authorized transfer to the pinned recipient. A single open challenge freezes every release until it resolves.
    Permissionless to execute · Investor can challenge

Every mechanism, and exactly what backs it.

Setting up the raise

Taking the money

Proving things & moving money out

Keeping the issuer honest

Protecting investors after the raise

Where trust still lives.

Formation makes the parts that can be enforced on-chain enforceable by default, and makes the remaining off-chain assumptions explicit, visible, and accountable. It does not claim nothing can go wrong.

Enforced trustlessly

No party can bypass these, not even the platform.

The two-wallet problem

The program enforces that the verifier signed, but it cannot prove the verifier is truly independent of the issuer. Signatures prove provenance, never identity. We don't pretend otherwise. We defend it in layers: