What can be an underlying
The asset side of the venue: 44 entries holding a real on-chain asset, and 67 that cannot.
The registry is the asset side of the venue: what a market can be quoted against, and what a vault is allowed to hold.
111 pairables on 2026-08-25. 44 are hard grade, meaning a real tokenised asset exists on chain and the vault holds it, and together they carry $68.4m of verified liquidity across the 43 of them that record a figure, every one measured at a $25,000 fill and dated. The other 67 have no token to hold and route to a perp instead.
The hard tier is the part nobody else has assembled: 30 tokenised equities across three issuers, staked dollars, private credit, tokenised reinsurance, three sovereign bonds, gold and EURC. The full breakdown by category follows, including the long tail that the same machinery happens to make expressible.
| Category | Count | Examples |
|---|---|---|
| equity | 30 | SPY, NVDA, TSLA, KO, QQQ, AAPL |
| fx | 29 | EUR, JPY, AUD, BRL, CHF, CNY |
| sku | 9 | COKE-20OZ, EGGS-DOZ, BIGMAC-CH, RAMEN-PK, PEAR-EA |
| cost-of-living | 6 | RENT-NYC-1BR, HOME-US-MED, TUITION-IVY, MINWAGE-HR |
| culture | 5 | DRAKE-LISTENERS, MRBEAST-SUBS, CS2-CONCURRENT, WIKI-PAGEVIEW |
| metal | 4 | XAU-OZT, XAG-OZT, COPPER-LB, SLV |
| crypto | 4 | BTC, ETH, SOL, USDE |
| onchain | 4 | SOL-TVL, ETH-GAS-GWEI, MADLADS-FLOOR, SOL-STAKE-APY |
| sovereign | 4 | CETES, TESOURO, GILTS, KTB |
| yield | 3 | USDY, SYRUP-USDC, EUSX |
| liability | 3 | TBILL-RATE, TNOTE-RATE, US-DEBT-TN |
| energy | 2 | WTI-BBL, NATGAS-MMBTU |
| weather | 2 | PHX-HIGH-F, NYC-RAIN-IN |
| private | 2 | SPACEX-VAL, OPENAI-VAL |
| credit | 2 | PRIME, PST |
| collectible | 1 | PSA10-CHARIZARD |
| insurance | 1 | ONYC |
Those are category counts across all 111 entries, hard and index alike, which
is why metal still reads 4 with SLV in it and sovereign still reads 4 with
TESOURO in it: both were demoted to index grade on 2026-08-25 without leaving
the registry. Reading down the table, the top four categories are 74 of the 111
entries and are where the real assets and the deepest feeds sit.
The tail below them exists because a pairable is a number rather than a mint, so
the same registry that holds thirty tokenised equities can also hold
PHX-HIGH-F, the Phoenix daily high, which is the clearest proof that a
pairable need not be a price at all. That is a consequence of the design rather
than the reason for it.
KO ships deliberately alongside COKE-20OZ, because the stock and the bottle
are different pairables and only one of them is something a vault can hold.
The three things an entry must have
source in seed.json is a sentence describing what the relayer
implements. It is not something the program reads. Push-feed entries name a
Pyth symbol rather than a feed id on purpose: resolve the id at deploy
time from Pyth's own registry instead of pasting a hex string nobody can
verify by eye.
Price tier for pears, country for a Big Mac, cadence for anything slow. A pairable that leaves one of those free will read as a permanent provider disagreement and hold forever.
"D'Anjou 80s at $48.00" means 80 pears in a 4/5 bushel carton, so $0.60 a pear falls straight out of the published row. One pear is a legitimate unit because USDA already said what one is.
What makes an entry HARD rather than INDEX
One field: assetMint, the tokenised version of the thing. A market can hold it
directly, so units are tokens, no price is consulted on any value-moving path,
and coverage is 1.00 by construction.
The program enforces the biconditional, so a hard badge and a real mint imply each other. But whether an asset may back a market is a separate and narrower question than whether the asset is any good, and that is what the three gates decide.
vaultable is narrower than "is this a real asset". BUIDL and BENJI are real
BlackRock and Franklin Templeton funds with genuine assets behind them, and
neither can ever be a vault asset here. See Refused, and why.
Fulfilment is only enabled where an agent could actually buy it
Nine pairables carry a FulfillmentConfig: COKE-20OZ, EGGS-DOZ, MILK-GAL,
BIGMAC-US, BIGMAC-CH, GAS-GAL, RAMEN-PK, RICE-20LB and PEAR-EA.
Everything else is quoted and settled, and the UI must not imply otherwise.
Sixteen entries are still a human's word
Fifteen pairables are priced by an operator attestation in
relayer/config/relayer.yaml as of 2026-08-25, down from twenty, and one
(MINWAGE-HR at $7.25) by a pinned constant that is a convention rather than a
measurement. Eggs, milk, petrol, copper and MrBeast's subscriber count left the
manual tier that day for live keyless sources.
COKE-20OZ: { value: 2.49, asOf: "2026-08-17" }
PEAR-EA: { value: 0.60, asOf: "2026-08-17" } # D'Anjou 80s, USDA
BIGMAC-US: { value: 5.69, asOf: "2026-08-18" }
BIGMAC-CH: { value: 8.17, asOf: "2026-08-18" } # the PPP joke
HOME-US-MED: { value: 419200, asOf: "2026-08-17" }
OPENAI-VAL: { value: 300000000000, asOf: "2026-08-17" }
A typed number now stops publishing thirty days after the date it carries, and
the shelf life is enforced inside the provider rather than by
gates.maxSourceAgeSecs, which defaults to 0 and 0 means "no gate". Before
that fix, when there were twenty attestations rather than fifteen, 18 of the
20 were publishing forever: PEAR-EA, the flagship, had been republishing a
number somebody typed on 17 August for eight days, indistinguishable on chain
from a live feed.
A gate you have to remember to set is not a safety property. An attestation is a person saying "this was true on this date", and the honest expiry for that is a property of the attestation itself.
The retail SKU prices are there because Walmart, Target and Kroger all want a
key and a contract, which is a procurement problem rather than a code one. The
manual tier is not a stub: it is a real reading with a real date, aged like any
other observation.
An entry can be promoted, and the promotion changes the unit
SPACEX-VAL ran as an optimistic scalar on a hand-typed $350bn valuation for
the whole company. Then SPCXx gave it a token to hold, and it moved to hard
grade.
Upgrading it changed the unit as well as the grade: one unit was the whole company and is now one tokenised share. The manual $350bn attestation and the 1e9 sanity floor in the relayer config both had to be replaced, or the pairable would hold instead of pushing. Holding is the safe direction to fail, and it is what would have happened.
The on-chain series shows the change landing cleanly: the last print before it was 3.5e17 USD e6, and the recent ones sit at 134,770,739 and 137,091,757, which is $134.77 and $137.09 per share.
Not every entry has a source wired
A full local run pushes most of the registry. The ones that do not are reported
UNBOUND on every cycle rather than skipped quietly, because a registry entry
that never gets a price is indistinguishable from a working one in the UI until
somebody tries to trade against it.
Honestly unbound today: NYC month-to-date rainfall, the Ethereum base fee, and
the Mad Lads floor. The last wants floorlaunch's Tensor and Magic Eden ladder
pipeline lifted across.
The MISSING gap is closed. All 111 entries are registered on devnet as of
2026-08-25, confirmed by re-reading the accounts: Global.pairable_count is 111
and there are 111 Pairable accounts owned by the program. The relayer still
reports MISSING per cycle for anything absent, which is the same principle as
UNBOUND: a gap that shows up is a gap somebody can close.
peard