How Broom works

A launchpad layer on Flap where the creator fee does one thing: buy the floor of an NFT collection and hand the NFTs to the coin's holders. On BNB Chain, with contracts doing the parts you would otherwise have to trust a wallet for.

How it works

  1. 01
    Launch

    You launch a TOKEN_TAXED_V3 coin on Flap through the Broom Launcher and pick a listed collection. The Launcher deploys a tiny fee router for your coin and hands it to Flap as the coin's beneficiary. The pairing is permanent.

  2. 02
    Trade

    People trade on the Flap bonding curve, later on PancakeSwap. Flap collects your buy / sell tax into a processor contract; the tax keeps flowing after graduation.

  3. 03
    Harvest

    Anyone calls harvest(). The router pulls from Flap and forwards 80 % to the collection's vault, attributed to your coin, and 20 % to the protocol treasury.

  4. 04
    Sweep & settle

    The keeper announces a withdrawal to its buy wallet, waits the hour, buys at floor on OpenSea and records the receipt. Each NFT is charged to the coin whose fees paid for it; that coin's creator decides: hold, burn, weighted airdrop, one-ticket lottery, or a named recipient. The draw-based options settle through the raffle below.

Fee split

Every wei that reaches a router is split the same way, forever: 80 % to the paired collection's vault, 20 % to the treasury. The router is an EIP-1167 clone with no owner and no upgrade path. Nothing goes to the coin's creator directly. Flap itself keeps 10 % of the tax before it reaches the router, plus its own curve fee — those never touch Broom.

SPLIT80 / 20 vault / treasury, constant in bytecode
CREATOR0 %. Your upside is the coin.
PAIRINGfixed at launch, forever
HARVESTpermissionless, anyone calls it
OUTFLOWannounced, 1 h delay, 7 d TTL, owner can cancel
RECEIPTSevery buy and delivery, on-chain
RAFFLEdrand round pinned on request, BLS-verified on BSC
SNAPSHOTpublished 15 min before any draw, freezable
REDRAWanyone, if a round goes undelivered 24 h

The vault

Every listed collection today lives on Ethereum, which this contract cannot call. Those collections get an ExternalSweepVault: fees still arrive on BNB Chain with per-coin attribution, but buying happens on Ethereum by the keeper.

  • BNB leaves only through a withdrawal announced with amount, destination and purpose, executable after one hour, expiring after seven days. The owner can cancel; nobody can accelerate.
  • Each acquisition (token id, price, funding coin, purchase txid) and each delivery (destination, txid) is a receipt on the vault.
  • The keeper publishes an audit key — its buy wallet — so every purchase can be checked against the vault's receipts.
  • A winner posts a destination address for the collection's chain on the collection page; the keeper sends the NFT there and confirms the txid.

A native BNB Chain vault that buys through Seaport itself is designed for but not deployed: nothing listed needs it yet.

Raffles

The winning ticket comes from drand quicknet, verified on-chain with the BLS12-381 precompiles BNB Chain ships since Pascal. Nobody picks it, and nobody can re-roll it.

  1. Open. The keeper snapshots holders, weighted by how much of the vault their coin fed, builds a Merkle tree of ticket ranges and opens the raffle with the root and a link to the full list.
  2. Challenge. For 15 minutes no draw can happen. Anyone can fetch the list and recompute the root; the owner can freeze a raffle shown to be wrong.
  3. Draw. Anyone calls requestDraw. The contract pins a drand round two periods in the future — a value that does not exist yet.
  4. Resolve. When that round publishes, anyone submits its signature; the contract verifies it and the randomness sets the winning ticket.
  5. Claim. Anyone submits the winner's Merkle proof; the vault records the winner. If a round goes undelivered for 24 hours, anyone may pin a fresh one.

Trust model

What the keeper can do: post withdrawals (bounded by the delay and TTL), record receipts, open raffles with a holder snapshot.

What it cannot do: move BNB without an hour of public notice, pick or re-roll a winner, or block a raffle from settling — anyone can request the draw and anyone can deliver the beacon.

What stays off-chain and is only made visible, not enforced: the holder snapshot, and the actual purchase on Ethereum. The challenge window and receipts make a bad snapshot or a missing purchase obvious; nothing on-chain rejects them. Say this plainly to your holders.

Contracts

Each listed collection has its own vault; find it on the collection page. Each coin has its own router; find it on the coin page.

FAQ

Do I need the collection's permission?
No. Collections are listed by the registry owner, and a listed collection is fair game for any coin. The vault buys on the open market at floor; the collection's team is not involved and receives nothing.
What happens after graduation?
Flap moves the coin to a PancakeSwap pool. Tax keeps accruing to the same processor, so the same 80 / 20 keeps flowing to the vault.
Why does my coin's router show BNB but the vault did not move?
Tax sits in Flap's processor, then in the router, until someone calls harvest(). It is permissionless; the keeper runs it on a loop, and there is a button on your coin's page.
Can the vault be drained?
Not quietly. BNB only leaves through an announced withdrawal with a one-hour delay that anyone can watch and the owner can cancel. That is a real trust assumption on the operator, stated as such — it is not a no-withdraw vault.