Planet

[ research · 2026-10 ]

On-chain commodity index: how a 14-asset PPI works

A commodity index turns many prices into one number. Doing it on a blockchain changes who can use that number: any contract can read it, settle against it, and react to its state without a server in between. This page explains what the Planet PPI is, why the data-quality layer matters more than the price formula, and what a venue can do with it.

1. What "on-chain" actually buys you

An off-chain index is a number in a database. To settle a derivative against it you need a trusted party to report it, and a dispute process when the report is wrong. An on-chain index is a state variable: the contract stores each asset's price, computes the weighted mean, and exposes it through a read call. The settlement is the same transaction that reads it.

Planet's index lives in PlanetCore on Arbitrum One. The 14 assets cover energy, precious and industrial metals, agriculture and industrial inputs. Each asset has a weight (capped at 15%), a base price locked at inception, a current price, and a risk state.

2. Why a single price source is the wrong design

A perpetual market liquidates positions against its price. If the price comes from one key or one API, the liquidation engine cannot tell a real move from a bad print. It treats both the same way: it liquidates. That is how oracle-driven cascades happen.

Planet's mainnet deployment removes the single-key path entirely: the core's relayer address is locked to zero, so the only way to move a price is a payload signed by two of three independent keys, bound to this contract and this chain. The same signed feed is public, so anyone can relay it and pay the gas.

3. The part most indices do not publish: data quality

Every update carries a risk state per asset: normal, caution (stale or unconfirmed) or frozen (excluded from the index and from the staleness gate). The index renormalises over active weights, so a dead feed does not block the market forever — and a freeze cap prevents the basket from being collapsed onto one commodity.

The practical value: a venue reading the index can tighten margin or refuse new positions while a feed is degraded, instead of learning about it after a liquidation. That is the difference between a price and a usable price.

4. The formula, in one paragraph

For each active asset, the contribution is weight × currentPrice / basePrice. The contract sums the contributions and divides by the sum of active weights. The result is a 1e6-fixed number where 1.0 is inception. A frozen asset is skipped in both numerator and denominator; the freeze cap limits how much weight can be skipped at once.

5. What it is used for

6. What it is not

7. Reading the index

The live value, the 14 assets and their states are at /ppi. The public JSON API is /api/v1/ppi; the signed feed a venue would relay is /api/v1/price-signed. The rulebook is at /methodology.