Premium/Discount Tracker — Methodology
Independent third-party calculation. We do not issue, custody, or trade these tokens. This page documents formulas, sources, denominations, limits, and change log.
1. What this tracker measures
For each tokenized precious-metal product, we compute the percentage gap between its on-chain market price and the equivalent LBMA / LPPM spot fix for the underlying metal at the same point in time.
- Premium (positive %) — token trades above spot. Buyer pays more than the underlying metal would cost on the wholesale market.
- Discount (negative %) — token trades below spot. Buyer pays less, but this often reflects redemption frictions, liquidity gaps, or counterparty risk premia.
- Zero — token trades at parity with spot. Rare in practice.
2. Premium / discount formula
premium_pct = (spot_equivalent / spot_lbma − 1) × 100
Where:
token_price_usd— last traded price in USD across all CEX/DEX venues, aggregated by CoinGecko.oz_per_token— troy ounces of physical metal backing one token. See denominations table below.spot_lbma— most recent LBMA Gold PM Fix or LPPM Silver Fix in USD per troy ounce (London auction).
oz_per_token first? Different issuers chose different denominations. PAXG = 1 troy oz. KAU = 1 gram (≈ 0.0321507 oz). Without normalisation, KAU would always look ~31× cheaper than PAXG even when there is no real premium. The spot_equivalent step converts every token to an apples-to-apples per-troy-ounce price.
3. Tokens tracked & denominations
| Ticker | Name | Issuer | Metal | oz / token | Custody |
|---|---|---|---|---|---|
| PAXG | PAX Gold | Paxos Trust (NYDFS) | Gold | 1.0000 | LBMA-accredited vaults, London |
| XAUT | Tether Gold | TG Commodities Ltd (Switzerland) | Gold | 1.0000 | Swiss vault |
| KAU | Kinesis Gold | Kinesis Money (Cayman) | Gold | 0.03215 | Allocated vaults (1 g/token) |
| XAUM | Matrixdock Gold | Matrixport (Singapore) | Gold | 1.0000 | LBMA-accredited vaults |
| PGOLD | PleasingGold | PleasingGold (Pacific) | Gold | 1.0000 | Allocated vault |
| KAG | Kinesis Silver | Kinesis Money (Cayman) | Silver | 1.0000 | Allocated vaults (1 oz/token) |
| XAGM | Matrixdock Silver | Matrixport (Singapore) | Silver | 1.0000 | LPPM-accredited vaults |
Denomination constants used in code
G_PER_OZ = 31.1034768 # troy ounce in grams (NIST) KAU oz_per_token = 1 / G_PER_OZ = 0.03215074656...
4. Spot reference (LBMA / LPPM)
We use the most recent fix at the moment of token-price fetch. London auctions publish twice daily for gold (AM and PM fix) and once daily for silver.
| Metal | Reference fix | Cadence | Currency |
|---|---|---|---|
| Gold (XAU) | LBMA Gold Price PM | Daily, ~15:00 London | USD/oz |
| Silver (XAG) | LBMA Silver Price (LPPM) | Daily, ~12:00 London | USD/oz |
| Platinum (XPT) | LBMA Platinum PM | Daily, ~14:00 London | USD/oz |
| Palladium (XPD) | LBMA Palladium PM | Daily, ~14:00 London | USD/oz |
Weekends and London bank holidays: no new fix is published. The tracker keeps the previous business-day fix and labels it accordingly.
5. Primary data sources
| Data | Source | Endpoint |
|---|---|---|
| Spot fixes | LBMA / LPPM | prices.lbma.org.uk |
| Token prices & market cap | CoinGecko public API | coingecko.com |
| Tokenized commodities aggregate | rwa.xyz | app.rwa.xyz/commodities |
| Tokenized gold category | CoinGecko categories | tokenized-gold |
| Tokenized silver category | CoinGecko categories | tokenized-silver |
| Issuer attestations | Direct from issuer pages | See individual issuer rows in table above |
6. Update cadence
- Token prices — refreshed once per day at ~02:14 UTC via the same cron that updates LBMA spot and ETF closes.
- Spot fixes — refreshed once per day, ~02:14 UTC, from
prices.lbma.org.ukJSON. - 365-day history — rolling window. Old days drop off the chart automatically as new days append.
- Files —
/data/gmri/tokens-current.json(snapshot) and/data/gmri/tokens-history.json(daily series). Raw JSON is public.
7. Arbitrage calculator
The calculator on the main tracker page applies the same spot reference to a hypothetical position.
token_units = usd_amount × (1 − fee_pct/100) / token_price_usd
token_equivalent_oz = token_units × oz_per_token
edge_oz = side == "buy_token" ? (token_equivalent_oz − metal_amount_oz) : (metal_amount_oz − token_equivalent_oz)
edge_usd = edge_oz × spot_lbma
The fee input lets the user model exchange fees, custody fees, or expected slippage. The calculator does not include: gas costs on chain, FX conversion, redemption fees charged by the issuer, or capital-gains tax. Treat the output as a ceiling, not a realised result.
8. Limits & caveats
- Asynchronous fixes. LBMA publishes once or twice daily. Token markets trade 24/7. A 3% gap measured on a Sunday is partly the absence of a new fix, not a real dislocation.
- CoinGecko aggregation. Token prices are volume-weighted across venues. Thin tokens (XAGM, PGOLD) can show jumps that reflect one large trade, not a market-wide move.
- Custody quality is not measured here. A token trading at parity with spot is not automatically safer than one at a 5% discount. Attestation cadence, auditor reputation, jurisdiction, and redemption rights matter and are not in this premium number.
- We do not include wrapper ETFs. Backed bGOLD, 21Shares physical gold ETPs, etc. are tracked on the GMRI comparison index, not here.
- Survivorship. Tokens that delist or lose CoinGecko coverage drop out. Historical premium series may not be reconstructable from this site alone for retired tokens.
- No backfill. If a fetch fails, we do not interpolate. The chart shows a gap until the next successful fetch.
9. Change log
- 23 June 2026 — v1.0 initial release
- Launched Premium/Discount Tracker with 5 gold tokens (PAXG, XAUT, KAU, XAUM, PGOLD) and 2 silver tokens (KAG, XAGM). 365-day rolling history. Daily refresh via cron 12590c93 alongside LBMA spot and ETF closes.
- 23 June 2026 — LBMA spot 365-day window
- Extended LBMA / LPPM history fetch from latest-only to a rolling 365-day window so the comparison chart shows a full year of context, not a single snapshot.
← Back to tracker · All data sources · GMRI methodology