How $LOOP works

Plain English plus the actual math. Nothing here is hidden; the goal is that you can verify how value moves before you play.

Read this first

$LOOP is a game, not an investment. No promised yield. You can lose money. Earlier players who exit before others can profit; later players carry more risk — that's the game, not a bug. The founder holds 10% of the genesis supply (vesting over 10 months, public wallet) and takes 20% of arbitrage-bot profit; the other 80% goes to the shared treasury. The treasury is currently founder-controlled behind a 48h timelock — not yet a multisig.

The game framing

$LOOP is an open-ended, transparent (3,3) game on Base. It is explicitly a game — there is no promised yield and you can lose money. Players add approved assets to a shared on-chain treasury in exchange for discounted $LOOP (a bond), stake $LOOP to receive rebases, and watch backing-per-token (BPT). Value enters the system through bonds, the arbitrage bot’s external profit, and asset appreciation. Rebase minting dilutes. The gap between market price and BPT redistributes value from later entrants to earlier exiters. All of this is disclosed, not hidden.

Index, rebase & gLOOP (balance vs. share)

Staking uses Olympus-style index accounting to avoid the rounding drift of balance-rewriting rebases. When you stake, you receive agnostic gLOOP shares. Your $LOOP balance is always:

stakedBalance = gBalance × index / 1e18

Every 8-hour epoch (1,095 per year) the staking contract grows index by the current per-epoch rate r and mints the matching new $LOOP into the staking contract to back the higher balances:

index ← index × (1 + r)

Your share (gLOOP) does not change on a rebase — your balance does. Because new supply is minted to all stakers proportionally, a rebase is not income; at full staking the APY simply equals supply inflation. Anyone can call rebase() permissionlessly to process due epochs.

BPT — the real number

Backing-per-token is the honest measure of what each $LOOP is collateralized by:

BPT = (non-$LOOP treasury value in USD) / $LOOP totalSupply

The treasury holds USDC, WETH, approved user-coins and approved LP — valued at odyssey.fun-native pool prices (with sanity / staleness bounds), USDC at $1, and ETH from a Base price feed. $LOOP itself is never counted as backing. Market price can trade above or below BPT; BPT is the floor the protocol can actually point to.

Bonds & the convex debt-based price

A bond deposits an approved asset into the treasury and mints you discounted $LOOP that is auto-staked on entry and vests linearly over 7 days. Three classes, with zero-debt discounts:

  • USDC / ETH — 3.5%
  • Single user-coin — 3.5%
  • Approved LP — 7%

The effective price is convex in the market’s outstanding bond debt:

bondPrice = marketPrice × (1 − maxDiscount) + BCV × (debtRatio)^p

where debt is the outstanding unvested payouts for that market (decaying linearly to zero over the 7-day term), debtRatio = debt / totalSupply, BCV is the bond control variable (sensitivity), and p is the convexity exponent (default 2). At zero recent buying you get the full discount; a burst of bonding spikes debtRatio, the penalty term grows super-linearly, the discount shrinks and can flip to a premium (bondPrice ≥ marketPrice), which throttles bonding. As debt decays, the discount returns. Each market also has a hard capacity: a cap on $LOOP minted per rolling 7-day window.

The reward-tier schedule

The per-epoch rate r follows a declining schedule keyed to T = cumulative USD value contributed (running sum of bonded-in value at deposit time + bot profit; the founder launch seed is excluded). T is monotonic — it only rises — so r only ever steps down. The per-epoch rate is computed from a target nominal APY:

r = (1 + APY)^(1/1095) − 1
TierT rangeTarget APYPer-epoch r (8h)
1< $5k10,000%0.4224%
2$5k – $50k1,000%0.2192%
3$50k – $250k300%0.1267%
4$250k – $1M100%0.0633%
5$1M – $3M40%0.0307%
6$3M – $8M15%0.0128%
7$8M – $15M6%0.0053%
8$15M – $25M3%0.0027%
9>= $25M (floor)2%0.0018%

Displayed APY is nominal / dilutive — it is the supply-inflation schedule, not yield. At full staking, APY ≈ supply inflation.

Protocol-owned liquidity (POL)

The treasury permanently owns the genesis $LOOP/USDC pool liquidity and keeps all LP that arrives via LP bonds. Liquidity is owned by the protocol, not rented — it cannot be pulled out from under the market. For protocol-owned $LOOP/USDC LP, only the non-$LOOP (USDC) side counts toward backing; the $LOOP side is excluded, consistent with “$LOOP is never backing.”

The arbitrage bot & the on-chain 80/20 splitter

An existing off-chain Python bot trades spreads in the user-coin pools. Its only on-chain surface is the RevenueSplitter: the bot pays profit (USDC and/or user coins) into it, and anyone can poke distribute, which routes 80% to the treasury and 20% to the founder wallet, emitting a public event per distribution. The split ratio is fixed at construction and immutable — it cannot be changed to skim more. This is why the fee is on-chain: the 20% is verifiable, not trust-based. The bot’s external profit is genuinely non-zero-sum value entering the game, so it grows T.

Founder allocation & vesting

The founder holds 50 $LOOP (10% of the 500 genesis supply) in a public Vesting contract — the only founder token source. 5 $LOOP unlock at launch, then 5 per month for 9 months (fully vested by month 9, a 10-month window). A tranche may be staked only after it unlocks; locked tranches cannot stake (and are diluted by rebases — intended). Once unlocked and staked, the founder earns rebases on the same terms as any staker: no special rate, no rebase mint to the founder, no bond preference, no treasury claim.

Trust model — timelock now, multisig later

The treasury and critical parameters sit behind a 48-hour Timelock: withdrawals and parameter changes queue with on-chain events, so any action is visible and delayed. The token has exactly three mint paths — genesis (one-time), the Bond Depository, and the staking rebase — each wired to an immutable address that can never be changed; there is no owner mint, no emergency mint, and no upgrade path that can add a mint.

Be honest about what this is: currently founder control plus a timelock that warns you, not “cannot rug.” The Timelock admin is a single founder address today and is designed to transfer to an independent-signer multisig later. Do not treat it as rug-proof until that multisig is live.

Who profits, who carries risk, where value comes from

Be blunt about this:

  • Bonds add value — they move real assets into the treasury in exchange for discounted $LOOP.
  • The bot adds value — its external arbitrage profit is genuinely non-zero-sum money entering the game (80% to the treasury).
  • Asset appreciation adds value — if treasury holdings rise, backing rises.
  • Rebases dilute — they mint new supply to stakers; they do not create value.
  • The price-over-BPT premium redistributes — when market price sits above BPT, earlier players who exit are paid by later players who enter. That transfer is the game, not a bug.
  • Only the bot’s external slice and real appreciation are non-zero-sum. Everything else is a transfer between players. None of it is yield.

Earlier players who exit before others can profit; later players carry more risk. If you play, understand that you might be the later player.

Read this first

$LOOP is a game, not an investment. No promised yield. You can lose money. Earlier players who exit before others can profit; later players carry more risk — that's the game, not a bug. The founder holds 10% of the genesis supply (vesting over 10 months, public wallet) and takes 20% of arbitrage-bot profit; the other 80% goes to the shared treasury. The treasury is currently founder-controlled behind a 48h timelock — not yet a multisig.