Skip to content
Fear & GreedFOLLOW
docs

How it works, precisely.

A factual description of what the protocol does. For information only, not an offer, recommendation, or promise of any outcome. Fear & Greed is an autonomous on-chain protocol on Robinhood Chain, launched through Long.

the loop

The mechanic

The pool charges a fee, in MSTR

$FNG launches on Long with the MSTR stock token as its numeraire: buyers pay in MSTR, and the pool's Uniswap v4 hook (Doppler's rehype hook) takes its fee from each trade in the currency that trade brings. Buy-side fees are therefore MSTR; sell-side fees are $FNG. The token itself is a plain ERC-20 with no transfer tax.

The distributor collects it

FNGDistributor is the pool's configured fee receiver. Anyone can call harvest(), which calls the hook's collectFees for $FNG; released MSTR is counted by balance delta, so MSTR sent to the contract directly counts too. Any $FNG that lands in the distributor (the sell-side fee) is sent to 0x…dEaD by burnFng(), which anyone can call.

The keeper allocates every epoch

Every 10 minutes the keeper reads every $FNG balance and token-age from the transfer log, computes each eligible wallet's weight, splits the epoch's newly harvested MSTR pro-rata, adds it to each wallet's lifetime cumulative, builds a Merkle tree over (address, cumulative), publishes the snapshot, and posts the root and the snapshot hash on-chain.

It arrives, and nobody presses anything

The keeper submits the claims itself and pays the gas, every epoch, for every holder. claim(account, cumulative, proof) pays cumulative minus whatever that account has already received, straight to that account, and anyone may submit it, so the allocation survives the keeper. Nothing is ever sent to the caller. Amounts under 0.0005 MSTR would cost more gas than they move, so they roll into the next epoch. This site never connects a wallet.

weighting

The formula

At epoch time T, for every wallet with balance b ≥ 10,000 and token-age start s:

multiplier = 1 + min(T − s, 30 days) / 30 days        // 1.0× → 2.0×
weight     = b × multiplier
share      = weight / Σ weight × epoch budget            // integer math, dust carries over
cumulative = previous cumulative + share

Token-age is conserved. When a wallet receives Δ tokens, its age start becomes the balance-weighted average (s·b + s′·Δ) / (b + Δ) where s′ is the sender’s age start, or T for tokens coming from the pool, the distributor or a mint. The sender’s age is unchanged. This makes age impossible to farm with a fresh buy, neutral under splitting or merging wallets, and proportional under partial sells.

Excluded from every epoch: the zero address, 0x…dEaD, the distributor, the Uniswap v4 PoolManager, and any address the keeper publishes in the snapshot’s excluded list.

the mechanism

See how your share works

Every epoch is split by balance × how long the tokens have been held. Longer holders carry more weight. This shows the formula, not a forecast.

Eligibility starts at 10,000 $FNG. The multiplier ramps from 1.0× to 2.0× over 30 days. Token-age travels with the tokens, so buying more averages your age down. It never resets to zero, and an old wallet cannot apply a full 2× to fresh capital.
Your multiplier
1.50×
weight
750,000

You’d carry 1.50× the weight of a same-size holder who just bought in.

Illustrative share of a sample epoch
MSTR0.002138≈ $0.3097

Illustration of the pro-rata formula on a hypothetical epoch allocating 1 MSTR. It is not a prediction, quote, or promise. Real epochs depend on trading volume and can be zero.

parameters

The numbers

Chain
Robinhood Chain
Venue
Long, on Doppler (Uniswap v4)
Pair
MSTR · Strategy Inc. • Robinhood Token
Fee currency
MSTR on buys · $FNG on sells (burned)
Epoch
Every 10 minutes (on-chain minimum 9)
Eligibility
Hold ≥ 10,000 $FNG at the epoch block
Weighting
Balance × token-age multiplier (1.0× → 2.0× over 30 days)
Delivery
automatic, every epoch · dust floor 0.0005 MSTR

Epoch length, eligibility and the excluded list are keeper parameters published in every snapshot. The 9-minute minimum, the allocation cap and the claim rules are enforced by the contract.

on-chain

Contracts

The $FNG token, the distributor, the keeper and the reward token are published here at launch, each linked to the explorer and resolved by address rather than by symbol.

Published at launch

FNGDistributor is a single, non-upgradeable contract: no proxy, no pause, no owner withdraw. Its test suite includes a fuzzed invariant that the sum of every claim never exceeds what was harvested and that the contract balance always equals harvested minus claimed.

risk

Security & risk

The keeper is trusted for the math

The contract prevents the keeper from allocating MSTR that does not exist and from replacing a root faster than every 9 minutes. It cannot prevent a wrong allocation inside those bounds. The mitigation is publicity: every snapshot is reproducible from public data, and a wrong one is provable.

Stock-token issuer powers

MSTR is a tokenised debt security issued by Robinhood Assets (Jersey) Limited. The issuer can pause it, block addresses, adjust its multiplier for corporate actions and burn balances under its terms. If the distributor or your wallet is blocked, claims fail until unblocked.

Allocations can be zero

Amounts depend entirely on third-party trading volume through the Long pool and can vary or be zero. There is no APR and nothing is guaranteed.

Venue dependency

The pool, its fee hook and the share of fees that reach the distributor are Long’s and Doppler’s. Anyone can create another pool for an ERC-20, and trades routed elsewhere pay no fee to this protocol.

Market + liquidity risk

Token prices can move materially and pool depth can be limited. You may lose the entire value of your holdings.

Keeper dependency

If the keeper stops, allocation pauses until it resumes; fees keep accruing in the distributor and nothing already claimable is affected. The ledger shows the age of the last root.

Jurisdiction

Robinhood stock tokens are not offered to US persons. Restricted persons may not participate. Counsel has not yet reviewed this structure.

Experimental software

Smart contracts and keepers can contain bugs. Do not interact with more than you can afford to lose.

Informational only. Not financial, legal, tax, or investment advice, and not a solicitation to buy any asset. $FNG is a token for interacting with an autonomous on-chain protocol; it is not a security, share, deposit, fund interest, or a claim on any entity or its profits. Distributions are protocol-executed allocations of a third-party token, carry no voting rights and no dividend or income entitlement, depend on third-party trading activity, and can be zero. MSTR stock tokens are issued by Robinhood Assets (Jersey) Limited and are not shares of Strategy Inc. Token prices and distributions can move materially and you may lose the entire value of your holdings. Restricted persons (incl. US persons) may not participate.