Guide 04 · 3 min read · Updated epoch 137

Your basket

Choosing up to 4 stocks and their weights, saved on chain.

What a basket is

A basket is a list of up to 4 stocks from the protocol's reward roster, each with a weight in basis points, the weights summing to exactly 10 000 (100%). It tells the keeper how to convert your share of each epoch into stock. The size of that share is decided elsewhere: by how long you have held over the last 24 hours, as the holder rewards guide explains. The basket decides only what the share is paid in.

It is stored on chain in the distributor contract, under your address: you write it, you can clear it, and nobody else can touch it. Nothing on the claim path reads it; only the keeper does, when it plans an epoch.

The default basket

A holder without a basket is paid in the protocol's default: the market rollout weights, SPY, NVDA, TSLA, GOOGL at 40% / 25% / 20% / 15%. If nobody sets a basket, the epoch is identical to one where the feature did not exist; that property holds by construction, not by arithmetic luck. A basket never changes how much you are owed, only which stocks it arrives as.

StockDefault weight
SPY (S&P 500 ETF)40%
NVDA (NVIDIA)25%
TSLA (Tesla)20%
GOOGL (Alphabet)15%

The rules the contract enforces

The Portfolio editor runs the same checks on every edit, so the contract never gets to refuse a basket after you have signed for it. Each rule is a named revert in the contract, and the same names are what the editor shows.

  • Between 1 and 4 entries.
  • Every entry names a stock that is currently active on the reward roster. A retired stock is refused.
  • No stock twice.
  • Every weight is above zero.
  • Weights sum to exactly 10 000 basis points. The editor tells you how far off you are as you move a weight, so a valid basket is always one edit away.

When a change applies

A basket saved now applies from the next snapshot the keeper takes. An epoch already published is fixed: its allocation was computed against the baskets on chain at its snapshot, and the prices and choices it used are written into the epoch file so anyone can check the exchange was fair.

If one of your stocks cannot be priced or bought in a given epoch, that stock is carved out and the affected value is paid pro rata across the stocks the epoch does hold. You are never paid less than the default basket would have paid you; the allocation conserves value, not quantities.

What it costs

  • Saving, changing or clearing a basket is one transaction that costs its gas in ETH and nothing else. There is no deposit to make and none to get back.
  • No token approval is involved: the basket is a record in the distributor contract, not a transfer.
  • Every action is a single transaction you review and sign.
Open the basket editor
Your basket · Omnia