# Control Surface

Kit spends are two: fill Firsto part orders, and pay the TapeOut tape-out fee. The treasury owner can also withdraw undeployed BNB, unused parts, circuit NFTs, and `$BEM` that has not yet been deposited. Holdings: [Treasury](/treasury).

This page is a control surface, not a governance forum. This launch has no vote, no parameter committee, and no redeem-at-NAV.

```mermaid
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#1a120c","primaryTextColor":"#f5ede4","primaryBorderColor":"#953307","lineColor":"#f46622","secondaryColor":"#221710","tertiaryColor":"#120d09","edgeLabelBackground":"#120d09","noteBkgColor":"#221710","noteTextColor":"#f5ede4","noteBorderColor":"#953307","actorBkg":"#1a120c","actorBorder":"#953307","actorTextColor":"#f5ede4","signalColor":"#f46622","signalTextColor":"#f5ede4","fontFamily":"inherit"}}}%%
flowchart TD
  Trader["Trader"] -->|buy, sell, claim on Dividend| Curve["Flap curve and Dividend"]
  Buyer["kitBuyer"] -->|buyKit, buyKits| Treasury["Treasury BNB: parts and tape-out only"]
  Anyone["Anyone"] -->|tapeout, arm, start, harvest| Treasury
  Owner["Owner"] -->|setKitBuyer| Buyer
  Owner -.-> Limits["Can withdraw BNB, parts, miners, sitting BEM. Cannot change tax, pull Flap LP, stop miners"]
  classDef hot fill:#f46622,stroke:#f46622,color:#120d09
  classDef dim fill:#120d09,stroke:#3a2416,color:#b9a693
  class Treasury hot
  class Limits dim
```

## Treasury holdings

| Asset | Note |
|---|---|
| BNB | Unspent tax, after Flap's commission |
| NAND / LATCH | Parts not yet taped out |
| Circuit NFT | TapeOut result, owned by the treasury |
| Miners | Started on PodMining |
| `$BEM` | Only while a deposit was refused. After a successful deposit it sits in the Flap Dividend |

`$MTAPE` is not locked in the treasury. The `$MTAPE` you hold decides whether you can claim `$BEM`.

## Who can call

| Role | Can | Cannot |
|---|---|---|
| Trader | Buy, sell, claim own `$BEM` on the Dividend | Spend treasury BNB on parts |
| kitBuyer | Buy parts. Order choice is off-chain | Price is unchecked. Replacing the address needs owner `setKitBuyer` |
| Anyone | Tape-out, arm, start, harvest, `distributeBem`, claim for others | Stop. `stopMining` reverts |
| Factory owner | Set kitBuyer, bind the Flap token once, withdraw while the factory still owns the treasury, hand the treasury to a new owner | Change the Flap tax, pull migration LP, stop miners |
| Treasury owner | Withdraw BNB and any sitting WBNB, withdraw parts, withdraw circuit NFTs, withdraw undeposited `$BEM`, transfer that owner | Change the Flap tax, pull `$BEM` already in the Dividend, stop miners |
| Flap Portal | Admin of the Dividend: floor, exclusions, payout receiver, emergency withdraw | Spend this treasury's BNB |

Flap's curve has no team allocation inside these contracts. A launch buy is a purchase, and that bag earns `$BEM`.

This launch is on Flap. The 5% trade tax, after Flap's commission, is sent entirely to the treasury. Only the treasury owner can withdraw that BNB. Portal's admin rights on the Dividend are a separate surface. See [Risks](/risks).

The contract does not check Firsto fill price. The current script reads the official TapeOut API, picks the lowest Firsto venue ask, and posts those ids. Details: [Risks](/risks).

## Hard no

| Item | Status |
|---|---|
| Owner withdraw of treasury BNB | `withdrawQuote`. Also sends WBNB if a balance is sitting here |
| Change trade tax | Immutable after deploy |
| Withdraw migration LP | This treasury never receives it |
| Stop mining | `stopMining` reverts |
| Transfer circuit NFTs out | `withdrawMachines`. Pending output is claimed first, then the NFT leaves |
| Redeem BNB at book | No redeem function |
| Second protocol token | Not provided |

A narrow surface is not the same as no trust assumption. kitBuyer can still fill a rich ask. Owner can still replace kitBuyer. External protocols can still stop paying on the current interface. Those facts live on [Risks](/risks). This page does not dress them up.
