# Protocol

The on-chain machine. Not a DEX and not a launchpad. It is the operating system of compounding: origination → cell → treasury → next cell.

Chain: Solana. Day-0 no custom program. Live devnet: [`STATUS.md`](../STATUS.md).

## Objects

**Treasury.** USDC on Solana (+ SOL for gas). Controlled by Squads. Inflows: cell cash, acquired-protocol fees, optional raise after token launch conditions. Outflows: deals, split (70/15/10/5), gas, buffer.

Dry powder may sit in allowlisted USDC lending (Kamino, Save) — incidental yield, withdrawn when there is a deal. Buyback `$POOR` via Jupiter. Detail: [`RAILS.md`](RAILS.md).

**Cell.** An owned asset. Minimum fields (even if day-0 is an account + a markdown):

- `type`: `protocol | token | meme | hybrid` (historical paper JSON may still say `web2`)
- `steward`
- `acquired_at`, `basis` (what we paid)
- `ask_passed` / `price_paid`
- P&L: revenue/fee, cost, contribution margin, period
- `hook` (for meme/token: which cash-flow it is hooked to)
- keys: upgrade authority, governance, mint, social

**Proposal.** A target. Scout, memo, screen (pass/fail), proposed offer, state: `draft | loi | closed | passed`.

**Steward.** Who operates the cell. Signs daily ops under Squads policy (spending limit). Does not move the central treasury.

## Flows

```
scout → proposal → constitution §3 screen
                       │ fail → PASS, public memo if it was paper; otherwise silence
                       │ pass
                       ▼
                 under threshold?  Squads closes
                 above threshold?  Realms votes
                       ▼
                 authority rotates to Squads (protocol) / tokens settle on-chain
                       ▼
                 cell born → transform (skill) → cash in USDC → split §5
```

Acquire of a **protocol**, three ways, in order of preference:

1. **Handover** — founder/team turns upgrade authority and protocol treasury over to Squads. On-chain asset purchase. The cleanest.
2. **Governance** — buy or delegate enough tokens to pass a control vote. Only if governance is real (quorum, no admin backdoor).
3. **Fork** — the program is abandoned, keys lost or hostile. Fork, migrate liquidity/users who want it, the cell is the fork. The original may stay dead.

No “little committees” operating someone else’s protocol without the keys. If we do not control upgrade, it is not a cell, it is a position.

Acquire of a **token**: OTC or market, toward control or toward cash-flow (fee share, on-chain buyback). A speculative bag with no control/cash plan does not enter the treasury as a cell.

Acquire of a **meme**: like token, plus brand and channels. A `hook` into a cell that prints is required, or a 90-day plan to create one. If the plan expires with no cash, the position is marked `failed_hook` — we do not dump, we stop feeding it treasury.

## Phases

**Phase 0 — skeleton.** Squads (ops) + Realms (strategy) + USDC treasury. Cells and proposals stay off-chain (repo + memo). The 70/15/10/5 split has four ATAs on vault indexes 1–4; execution is a Squads tx. One custom exception: the cell-inventory PDA (honest liquidity for a token/meme bag; not split, not origination, not `$POOR`). Public ledger hash: memo `{slug}:ledger:<sha>`. Enough for the paper deal and for micro deal #1.

**Phase 1 — on-chain cells.** Custom program: PDA per cell, P&L, automatic split, origination as an account. Done when deal #1 is real and markdown no longer scales. Not before.

**Phase 2 — origination market.** Anyone opens an on-chain proposal. Scout carry paid by the program. Screen still human/agent; the program does not “buy on its own.”

## Skills (the open Platform)

Dropped onto every cell, regardless of type:

| Skill | Protocol | Token / meme |
|---|---|---|
| Underwriter | TVL, fees, keys, audit | holder, LP, community, hook |
| Rewriter | upgrade, IDL, client | — |
| Biller | fee switch, USDC routing | — |
| Pricer | fee take | — |
| Reporter | fees, TVL, users | honest volume, holders, hook |
| Inventory | — | Jupiter rebalance in the cell PDA vault |

Reporter is mandatory. A cell without a public report does not get more treasury.

## Security

- Upgrade authority, treasury, **privacy auditor**: never a single key. Auditor decrypts amounts, does not move funds. [`PRIVACY.md`](PRIVACY.md).
- Acquired protocol: audit or public review before we put our TVL in it.
- Exploit in a cell: pause via Squads, memo, restitution if there is user treasury. Do not “socialize” onto the central treasury without a vote.
- The Bending Poors protocol custodies DAO treasury and, if acquired, the cell protocol’s treasury. It does not custody LP/user funds of an acquired protocol (those stay the users’).

## What the protocol is not

It does not launch other people’s tokens. It does not run a bonding curve. It is not a flip marketplace. It is not a mixer. It is not a hedge fund: Solana tools (USDC lending, Jupiter spot, vesting, Confidential Balances) are rails, not the P&L. Perps, leverage, emissions farms: no. Voting someone else’s governance “for yield” if it is not a cell: no.
