Docs

How the hamper works

Short and complete. If something here and the contract disagree, the contract wins: read it on Blockscout.

How it works

  1. The vault. BasketVault is one contract on Robinhood Chain (4663) with no owner, no proxy and no admin withdraw. It holds a fixed list of Robinhood stock tokens (the list is set at deploy and cannot change), plus any USDG and ETH that has not been turned into stock tokens yet.
  2. The coin. The coin launches on Pons. Right after launch the deployer binds it to the vault once (setToken, callable a single time). That is the only privileged function.
  3. Fees in. Creator fees are deposited by hand from the team wallet to the vault, visible on-chain. The planned time is every Monday 15:00 UTC; the contract cannot force a deposit, so amount and timing are not guaranteed. Every deposit tx is listed on the token page.
  4. Weekly weights. A rule-based scorer, rationale written by an LLM: the scorer turns public data into target weights with fixed rules; an LLM then writes the rationale from the published numbers only. The agent key signs the weights together with the hash of that rationale. Anyone can post the signed proposal to the vault.
  5. 48h public delay. A posted proposal sits in public for at least 48h. After that anyone can call activate.
  6. Anyone moves the basket. accumulate turns deposited ETH into the most underweight stock token; rebalance sells an overweight token for an underweight one. Both are permissionless, small and capped per call, priced against Chainlink feeds, and closed on weekends.
  7. Burn to receive the assets in the vault. Any holder can burn coins and receive their pro-rata share of every asset in the vault, in kind. See How to redeem.

Mechanical limits

  • Starts equal-weight. Until the first proposal is activated, every asset has the same weight.
  • At most 1000 bps per week. The frozen method moves weights by at most 1000 bps in total per weekly proposal (sum of absolute changes across all assets, which is 5% of the basket moving one way). The contract enforces the same limit (MAX_TURNOVER_BPS = 1000, sum of absolute changes) and accepts one proposal per 7 days.
  • No earlier than 48h. A proposal activates no earlier than 48h after it is posted.
  • So early weeks stay close to equal-weight. With these limits the basket drifts slowly from equal weight; for many weeks it will look much like the equal-weight basket of the same tokens.
  • Max 25% per asset. No single asset can be targeted above 2500 bps.
  • The agent key is held by the team. It is one immutable address. It can only propose weights within the limits above; it cannot move assets, withdraw or change the asset list. Nothing on-chain forces the weights to come from the published rules: you can check each proposal file against the method yourself.
  • Per-call caps. A rebalance moves at most min($500, max($20, 5% of the basket value)) per call, bounded by how far the two assets are from their weights, and must use at least half of that cap; once per 5 minutes. Rebalance and accumulate also wait while a pool price is more than 2% away from Chainlink; accumulate spends at most 0.1 ETH per call. Both are paused on weekends (Sat 00:00 to Mon 00:00 UTC) and while a feed is older than 25h: that is expected, not an error.

How to redeem

  1. Open the vault page and connect a browser wallet on Robinhood Chain.
  2. Enter how many coins to burn and press Show assets. The page calls quoteRedeem and lists the assets you would receive now: each stock token, USDG and ETH, rounded down.
  3. Press Redeem. Your wallet asks to approve the vault for exactly that amount, then to call redeem. Your coins go to the dead address and the assets arrive in your wallet in the same transaction.
  4. If an issuer has frozen or paused one token so it cannot be transferred, tick skip for it. That leg is forfeited to the remaining holders; every other asset is still paid.
  5. Advanced: if your wallet cannot receive ETH, you can choose to skip the ETH leg. The ETH share is then forfeited to the remaining holders. It is off by default.

At launch the vault holds very little. What one coin redeems for can be far below the coin's market price, and the vault does not support the coin's price in any way. The redeem share is amount / (total supply − coins at the dead address), and coins still inside the Pons curve count in that supply.

Redeem uses no oracle and works on weekends. You receive the stock tokens themselves; turning them into anything else is up to you and costs pool fees and slippage.

Method (frozen, v1-frozen-2026-11-09)

Every proposal file embeds the full parameter set and its sha256, plus a sha256 of the scorer code. Changing any rule means a new method version, announced before the week it applies to. No language model chooses any weight or score.

Universe

The vault's fixed token list, in order: that order is also the order of the weights on-chain. Index-type tokens (SPY, QQQ, GLD, SGOV) are scored on price factors only.

Data

  • Daily closes from keyless vendor endpoints: used for momentum, volatility and market size. Vendor prices are not republished; only the derived metrics and a sha256 of the input snapshot are, so the price part cannot be fully recomputed by the public.
  • Fundamentals from SEC EDGAR XBRL (public): point-in-time, only filings dated on or before the price date.
  • Chainlink feeds on Robinhood Chain: used for everything shown on this site and for the scorecard.

Factors (per asset)

FactorMetricBetter when
Momentum 12-1close 21 trading days ago / close 252 trading days ago − 1higher
Low volatilityst. dev. of 126 daily log changes × √252lower
Qualitymean of z(ROE), z(gross margin), z(−accruals)higher
Valuationmean of z(trailing earnings / market cap), z(trailing free cash flow / market cap)higher
  • ROE = trailing 12-month net income / average equity (now and one year earlier); empty if equity ≤ 0.
  • Gross margin = (revenue − cost of revenue) / revenue, trailing 12 months. Accruals = (net income − operating cash flow) / total assets.
  • Market cap = shares outstanding × close.

Scores to weights

  1. Cross-sectional z-score per metric (clipped to ±2.5; empty if fewer than 3 assets have it).
  2. Composite = weighted mean of available factor scores: momentum 0.35, quality 0.25, valuation 0.20, low volatility 0.20, re-normalised over the factors an asset has.
  3. Rank by composite; linear rank weights (best = N, worst = 1), capped at 2500 bps each.
  4. Move from the active weights toward that target only as far as 1000 bps of total change allows; integer bps summing to exactly 10000.

Rationale

Written by an LLM after the numbers exist, from the published numbers only. A validator rejects any number in the text that is not in the proposal, and a human reads it before signing. Its keccak256 hash (rationaleHash) is signed with the weights and stored on-chain, so the text cannot be swapped later. Raw proposal files are linked from the log so you can recompute the hash.

Scorecard

  • Forward periods only, no backtests. One period per proposal, entry and exit priced with the same Chainlink feed.
  • Compared with equal weight of the same universe (the only comparison that could show anything about the rules), SPY, QQQ, SGOV (cash), and the percentile among 10,000 random weightings.
  • Periods touching Fri 21:00 to Sun 24:00 UTC, or with a feed older than 25h, are skipped. A token frozen during a period counts as −100%.
  • It tracks the target weights on paper. The real vault also pays pool fees and slippage on every trade.
  • Honest expectation: the difference versus equal weight is about zero. A weekly record needs years before any interval is narrow enough to mean something. The site says "not statistically significant" until it is.

Fees and deposits

Creator tax on Pons trades: 2%. The tax goes to the team wallet. Creator fees are deposited by hand from the team wallet to the vault, every Monday 15:00 UTC, visible on-chain; each deposit tx is linked on the token page. The contract cannot force a deposit, so amount and timing are not guaranteed.

Limits and risks

  • Issuer control. The Robinhood stock tokens are issued by a third party that can pause, freeze or adminBurn them, including the tokens held by this vault. A frozen token cannot be redeemed until it is unfrozen.
  • Stale feeds on weekends. Stock feeds do not update on weekends and US holidays. The vault does not trade on weekends; values shown then use the last feed price. There is no holiday guard in the contract.
  • Small basket value. At launch the vault holds very little; redeem value per coin can be far below the coin's market price.
  • Costs of trading. Each rebalance and accumulate goes through two pool legs; the contract accepts up to 1% below the Chainlink quote plus pool fees per call, and callers can be front-run within that band. This shows up as a drag versus the paper scorecard.
  • Team keys. The agent key and the team wallet are held by the team. Fee deposits depend on the team.
  • No third-party audit. The contract has not been audited by a third party. It has its own tests and an internal review only.
  • Experimental. This is a research log with a coin attached. It can fail in ways nobody expected. You can lose all value.
  • Not available to US persons or restricted jurisdictions. The stock tokens must not be delivered to US persons. Redeem is permissionless and the contract does not enforce this; you are responsible for where you are.
  • Not investment advice. Nothing on this site is a recommendation to buy, hold or sell anything.

Addresses

Loading
-

For agents