Skip to main content

Concepts

TL;DR
  • The treasury receives 30% of the raise in stock at graduation and can only trade that stock against USDG on the listing's pool, inside the health gate.
  • Seven strategies: Lots, Buy-back, Spot, Rebalance, Percentage buy-back, Cycle, Lots with reserve; all frozen at launch, and the owner can upgrade the logic only, through a two-day controller.
  • A keeper, anyone's bot, sends each action and keeps 0.1% of what it produced; what the treasury earns buys the token back and burns it.
  • Holders have no claim on the treasury itself (none today; one may be added later). Lots, Rebalance and Cycle have a backtest model; the others do not.

The treasury model​

A launch creates a treasury that receives 30% of the raise in stock at graduation and runs one strategy, chosen by the creator before launch. It can only ever trade that stock against USDG on the listing's pool, and only while the health gate is open: a fresh Chainlink price, an open trading calendar, the pool within 0.5% of that price and of its own 600-second mean, and a 1% slippage limit on each fill. A closed market, a stale feed or a pushed pool stops the stock leg; the token side keeps trading.

Every strategy shares the same plumbing. A keeper, anyone's bot, sends each action when it is due and keeps 0.1% of what it produced (bountyBps 10). Stock from the tax share or a donation is income, booked by book() at the live price before the strategy can use it. Stock set aside for the burn sits in buybackStock; buyback() spends it on the token in its own pool, at most once per 10 seconds, priced off the pool's 600-second mean within a 3% impact limit, and burns what it bought. collectFees() credits the buy-side pool fee to buybackStock and burns the sell-side fee. Three things burn: opening premiums, buy-backs, and the token side of the pool fee.

The seven strategies​

Lots (kind 0)​

Hold the stock, sell a slice at each target price, buy back after a dip. The profit buys the token and burns it. Graduation stock is booked as a lot at the price of the day. A lot sells in two steps when the price rises past its cost by tp1Bps and then tp2Bps; the principal returns as USDG and the profit stays in stock for the burn. When the price falls dipBps under the last sale, lotBps of the USDG buys a new lot. A stop is the only way a lot sells under its cost.

Acts: rises: sells half a lot at tp1Bps, the rest at tp2Bps; falls: buys a new lot at dipBps under the last sale; sells at stopBps under cost if a stop is set; fees arrive: booked as a new lot; buyback() spends profit 500 USDG at a time (buybackChunkUsdg). Frozen at launch: every number in the table, plus the listing's gates. Upgradeable by the owner through the two-day controller: the logic only, under the same frozen configuration. Backtest model: yes.

fieldmeaningbound or floorrelease default
tp1Bpsfirst take-profit, over costgreater than 0; no execution-cost floorcreator's choice
tp2Bpssecond take-profit0 (whole lot at tp1Bps), or greater than tp1Bpscreator's choice
dipBpsdip under the last sale that triggers a buybetween 0 and 100%creator's choice
stopBpssale under cost; 0 = neverunder 100%creator's choice
lotBpsshare of the USDG reserve one dip buy spendscreator's choice

Buy-back (kind 1)​

Hold the stock and never trade it. Every fee buys the token and burns it. The treasury opens no stock position; its graduation stock is protected and never spent. Every tax share, pool fee and donation goes to buybackStock, and buyback() burns it one chunk per 10 seconds. Parameters: tp1Bps, tp2Bps, dipBps, lotBps are accepted and ignored; a nonzero stopBps must exceed slippage + pool fee + bounty. Frozen: the protected graduation stock and the buy-back pacing. Upgradeable: logic only. Backtest model: none.

Spot (kind 2)​

Keep a fixed split of stock and cash, say 70/30: sell a little when the stock runs ahead, buy a little when it lags. The treasury holds a target share of its tradable value in stock and trades back toward the target whenever the share leaves a band around it. A policy contract proposes one action and the treasury checks it against its frozen limits before it swaps. Trade sizes are fixed USDG amounts.

Acts: rises: stock share passes targetBps + band: sells down to target; payoutBps of the gain over average cost goes to buybackStock; falls: stock share drops under targetBps − band: buys up to target; fees arrive: booked into inventory at the live price. Frozen: all six words and the policy. Upgradeable: logic only. Backtest model: none.

fieldmeaningbound or floorrelease default
targetBpsshare of tradable value held in stock20% to 90%creator's choice
deadbandBpsband around the targetat least 2 × (slippage + pool fee + bounty); under the target; target + band under 100%creator's choice
cooldownleast time between actions60 sfront end suggests 600 s
payoutBpsshare of a sale's gain sent to the burn0 to 100%creator's choice
maxTradeUsdgmost one action tradesfrom the listing's minLotUsdg (5 USDG) to its sellChunkUsdg (2,000 USDG)creator's choice
maxDailyTurnoverUsdgmost one US trading day tradesfrom maxTradeUsdg to 24 × maxTradeUsdgcreator's choice

Rebalance (kind 3)​

The same fixed split, traded in percentages of what the treasury holds, so a bigger treasury trades bigger. Net cash from a sale first covers the cost of what was sold and any tracked loss; only the remaining gain funds the burn.

Acts: rises: sells the slice over target, at most sellBps of tradable stock per action; falls: buys back to target, at most buyBps of available USDG per action; fees arrive: booked into inventory at the live price. Frozen: all words and the policy. Upgradeable: logic only. Backtest model: yes.

fieldmeaningbound or floorrelease default
targetBpsshare of tradable value held in stock20% to 90%creator's choice
bandband around the targetat least pool fee + bounty; under the target; target + band under 100%creator's choice
cooldownleast time between actions60 sfront end suggests 600 s
payoutBpsshare of a sale's gain sent to the burn0 to 100%creator's choice
buyBps, sellBpsper-action caps, as a share of cash or of tradable stock0.01% to 25%creator's choice
daily buy, daily sellper-day caps, each on its own base0.01% to 100%creator's choice

Percentage buy-back (kind 4)​

Trades like Lots; each buy-back spends only a tenth of the jar. Lots with one change: each buyback() offers a tenth of the waiting buybackStock, raised to the listing's minimum lot when smaller, so a budget of any size leaves in the same number of steps. Parameters as Lots, with a nonzero stopBps required to exceed slippage + pool fee + bounty; the buy-back share is fixed at 10%. Frozen and upgradeable: as Lots. Backtest model: Lots' model applies to the trading rule.

Cycle (kind 5)​

Trades like Lots, and buys back in once when the stock keeps climbing after a sale. Lots plus one re-entry: after a real sale, a rise of dipBps over that sale's price buys once more, sized like a dip buy, after at least 600 seconds and a newer price report. Any buy consumes the entry. Buy-backs are a tenth of the budget per call.

Acts: rises: take-profit as Lots; after a sale, one recovery buy at dipBps over the sale price; falls: dip buy as Lots; stop if set; fees arrive: booked as a lot; buy-backs a tenth at a time. The treasury checks the rung floor, the quote does not: a quote under it is accepted and the launch fails. Frozen and upgradeable: as Lots. Backtest model: yes.

fieldmeaningbound or floorrelease default
tp1Bps, dipBpsas Lotsat least 2 × (slippage + pool fee): 2.1% on a 0.05% pool, 2.6% on a 0.30% pool, with the 1% slippage defaultcreator's choice
tp2Bps, lotBps, stopBpsas Lots; a nonzero stop must exceed slippage + pool fee + bountyas Lotscreator's choice

Lots with reserve (kind 6)​

Trades like Lots, but first turns part of the graduation stock into cash, so the first dip can be bought. Graduation hands the treasury its exact stock principal, and reserveBps of it is the reserve target. While no stop or take-profit is due, each keeper call sells one chunk of the graduation lot for USDG (the listing's sellChunkUsdg, within maxSlippageBps of the oracle, never on a price only the pool vouches for) and moves the dip reference to that sale price. The proceeds are reserve, not profit: they never fund the buy-back. Once the target is sold, the rule is Lots, with dips bought from the reserve.

Acts: after graduation: sells chunks of the graduation lot until reserveBps of it is cash; rises: take-profit as Lots; falls: dip buy as Lots from the reserve, within the optional limits; stop if set; fees arrive: booked as a lot; buyback() spends profit 500 USDG at a time, as Lots. The rung floor is Cycle's, checked the same way. Frozen and upgradeable: as Lots. Backtest model: none.

fieldmeaningbound or floorrelease default
tp1Bps, dipBpsas Lotsat least 2 × (slippage + pool fee), as Cyclecreator's choice
tp2Bps, lotBps, stopBpsas Lotsas Lotscreator's choice
reserveBpsshare of the graduation stock sold into the reserve0 to 50%; 0 is plain Lots; over 50% the launch revertscreator's choice
cashFloorBpscash a dip buy must leave untouched0 to 100%; 0 = no floor0
dipBudgetBpsmost all dip buys may spend over the treasury's life0 to 100%; 0 = no budget0
maxDipBuysmost dip buys over the treasury's life0 = no limit0

The floor and the budget are shares of the graduation stock's USDG value, frozen when graduation books it; later sales, fees and price moves never change them. The config is engine version 3, schema 4, paired with V2LotReservePolicy: words[0] is reserveBps, words[1] packs cashFloorBps (bits 0 to 15), dipBudgetBps (16 to 31) and maxDipBuys (32 to 47), and words[2] is zero.

Choosing between them​

At graduation the treasury holds stock and no USDG. Spot and Rebalance sell down to their target on their first action, which gives them cash; Lots with reserve sells its chosen share in chunks right after graduation; Lots, Percentage buy-back and Cycle have cash for a dip buy only after their first take-profit or stop; Buy-back never holds cash.

LotsBuy-backSpotRebalancePercentage buy-backCycleLots with reserve
holds and spends cashyes, a dip buy spends it on a new lotno; the stock never tradesyes, managed to the target splityes, managed to the target splityes, as Lotsyes, as Lotsyes, a reserve built at graduation
where cash comes from after graduationa take-profit or stop sale; no opening cash positionnone; it sells no stocksells to USDG whenever the stock share is over target, without waiting for a take-profit; at most maxTradeUsdg per actionas Spot; at most sellBps of tradable stock per actionas Lotsa take-profit or stop first, then a dip or recovery buy; still starts with no cashsells reserveBps (0 to 50%) of the graduation stock right after graduation, chunk by chunk; then as Lots
holds stock through a fallyes, buys dipsyes, never tradesbuys back to targetbuys back to targetyes, buys dipsyes, buys dipsyes, buys dips from the reserve
sells on a riseat two targetsnothe slice over targetthe slice over targetat two targetsat two targetsat two targets
buys back in after sellingon a dip onlynoon a fall under the bandon a fall under the bandon a dip onlyon a dip, or on a further riseon a dip, the first one included
buy-back budget made ofprofit, pool feesall incomegain share, pool feesgain share, pool feesprofit, pool feesprofit, pool feesprofit, pool fees
backtest modelyesnonenoneyesvia Lotsyesnone

What comes next​

Each item is planned or under consideration and may be added later; none is promised.

  • Dividend and income strategies. Treasuries that pay realised income to holders or stakers beside the burn exist in source and are not registered. Holders would then have a claim on that income; existing proxy treasuries could reach it by upgrade.
  • Rebalance on net asset value. Trade limits as a share of everything the treasury holds, its own LP and the waiting buy-back budget included, in place of the tradable part only; in source and tests, not registered.
  • Removing Cycle's rung floor. Giving Cycle the cost check Lots uses, so 0.01% rungs launch there too; v2.1.
  • Launches paired with ETH in place of a stock. Scheduled as v2.1: a curve and a pool quoted in WETH.
  • Reinvesting pool fees as liquidity, deepening the locked pool in place of funding buy-backs; and one-click presets in Builder, named strategies that fill the launch form with every number still editable.