SaverFi · public
Prices, and where every one of them comes from
Read on the server, on mainnet, when this page was requested: no wallet, no session and no client-side fetch. Each figure is printed with its age, its slot or its source, because a number without its provenance goes stale in silence. Anything that would not read says so and takes nothing else down with it.
- Accounts read at
- slot 460178652
- Chain clock
- 2026-10-22T20:55:36Z (epoch 1065)
- Ages measured against
- the Clock sysvar, never this server's wall clock
- Page built at
- 2026-10-22T20:55:36.972Z (this server's clock, used for nothing else)
1 · Pyth, where it already stops money
SOL/USDC: the pool against the oracle
This is the one place in SaverFi where an oracle is not decoration. Before the keeper converts a vault's saved SOL into the USDC a purchase is paid in, it prices that hop against Pyth's SOL/USD and USDC/USD push accounts and refuses the conversion when the oracle is too old or too far from the route it captured. Both bars are read from the keeper's own source, below.
Pool mid, SOL/USDC
$103.05
Raydium CLMM 3ucNos4NbumPLZNWztqGHNFFgkHeRMBQAVemeeomsUxv, sqrt price at slot 460178652. A mid, not a quote: it is the price at zero size, before any fee or impact.
Pyth SOL/USD ÷ USDC/USD
$103.08
SOL/USD $103.06 published 3 s ago; USDC/USD $0.9997 published 3 s ago. Both accounts are owned by the Pyth receiver and carry the feed ids this repository pins, or they are not read at all.
Pool against oracle
-3 bps
Signed, as bps of the oracle's rate, taken in the same 1e18 unit the keeper's own gate compares in.
The guard that is already live
In packages/solana-keeper/src/invest-decision.ts, oracleConvertDecision will not price the SOL hop when the stalest of the two publishes is more than 60 s behind the chain's clock, and skips the hop when the route it captured and the oracle disagree by more than 500 bps of the oracle's rate, in either direction. The keeper calls it from its investment tick, packages/solana-keeper/src/invest-tick.ts. A skipped hop means the vault's SOL stays SOL: the product would rather not buy than buy at a price nothing vouched for.
The two numbers above are read out of that file by a test in this repository, so this paragraph cannot outlive the code it describes. What the keeper compares is the route it captured for the turn; this page compares the pinned pool's mid, which is the closest thing a public page can show without a wallet or a quote.
What the bars say about this reading
both arms pass
At this reading the oracle is inside 60 s and inside 500 bps, so a conversion would be priced. It is a reading, not a promise: the keeper re-reads both at the moment it moves money.
2 · the xStock and its underlying
SPYx: the pool against Pyth's SPYX/USD
SPYx is the only asset on this shelf that SaverFi reads a Pyth push account for. That account is refreshed by a third party on that party's schedule, not SaverFi's — an equity feed can be minutes or hours old — so the age sits beside the price and you can judge it instead of trusting it.
Pool mid, per SPYx token
$764.04
Raydium CLMM 6truu3rZuiB9rKQg4VYC3Dt3QwV7DgwGqXrYUcrvnDDE at slot 460178652. The pool trades RAW units; the mint's live scaledUiAmount multiplier is folded in first, so this is a price for one token as a holder's balance counts it.
Pyth Crypto.SPYX/USD
$762.58
Push account 27Tv3HxU34AKxZ8MgfFAA1gCbWa96msMG5BvSWAHkBfj, owned by the Pyth receiver, feed id 2817b78438c76935…. Published 1 h 07 min before the chain's clock. Nobody in this product refreshes it.
Pool against the feed
+19 bps
Pool $764.04 against the feed's $762.58, as bps of the feed. Both sides are priced per UI-scaled token. Read the age above before reading this: a gap against a reading that old is as much a fact about the feed as about the pool.
Why the multiplier matters here. XsoCS1TfEyfFhfvj8EtZ528L3CaKBDBRqRapnBbDF2W has 8 decimals and carries Token-2022's scaledUiAmount extension with a multiplier of 1.005714560286254 (its scheduled record, whose timestamp has arrived). A raw-unit price compared with a per-token price without folding that in would be off by about 57 bps — larger than most of the gaps this page exists to show.
3 · the PreStock
ANTHROPIC: the pool, the issuer's own numbers, and the fee
PreStocks publishes its own marks at prestocks.com/api/prestocks — public, keyless, and fetched here on the server. The issuer also controls the mint: the transfer fee below is read from the mint account, not from the API, and the rate written for a future epoch is read there too.
Units, checked before any premium
the two sides count the same token
the mint's own supply, read from the same account as the fee (7680935244157 raw at 9 decimals, scaledUiAmount multiplier 1), is the supply the API reports, so the API's dollars are dollars per UI-SCALED token and the pool's raw mid — scaled the same way — is the same quantity
Pool mid, per ANTHROPIC token
$1,020.47
Raydium CLMM 47MsbowAJnPPt6jgSGLK4hdCtKqRRcKT5pTFHPV7WBPt at slot 460178652, the pool this product reads the leg's price from. It is not the route a purchase takes: the keeper buys through Jupiter, which picks its own.
PreStocks tokenPrice
$1,021.61
The issuer's own figure, read from prestocks.com/api/prestocks when this page was requested. The API has no timestamp in it, so its age is this request's age and nothing better; the entry was matched to the mint Pren1FvFX6J3E4kXhJuCiAD5aDmGEb7qJRncwA8Lkhw, never to the symbol alone.
PreStocks markPrice
$972.69
The issuer's mark for the same token, same answer, same request. The two differ because they are two different numbers the issuer publishes, not two readings of one.
Pool against tokenPrice
-11 bps
Pool $1,020.47 against $1,021.61, as bps of the issuer's figure.
Pool against markPrice
+491 bps
Pool $1,020.47 against $972.69, as bps of the issuer's mark.
Transfer fee, from the mint
100 bps
In force since epoch 1050, read from Pren1FvFX6J3E4kXhJuCiAD5aDmGEb7qJRncwA8Lkhw's TransferFeeConfig at the epoch in the Clock sysvar above. Nothing higher is written for a later epoch.
Depth, at the size a purchase really uses
$698
USDC held by the pinned pool 47MsbowAJnPPt6jgSGLK4hdCtKqRRcKT5pTFHPV7WBPt, counted at slot 460178652 from the vault the pool itself names. The size one leg of a full basket spends at this product's shipped caps is $200, and an asset is only put on the shelf when a venue covers that 50× — $10,000. This pool is one pinned price source, and the keeper counts the accounts the CHOSEN route names at the moment it spends, which is a different and smaller number: depth is a moment, not a property of an asset.
4 · the eight PreStocks
Why each one is or is not offered
The shelf is not hand-picked. It is every asset the rules in @sip/solana-core find nothing wrong with, and the sentences below are those rules' own — measured on mainnet on the date each one names, not written for this page. A reader who disagrees with an exclusion can re-run its rule.
ANTHROPIC
on the shelf
Anthropic PreStock
Every rule below passed at the reference leg. The keeper still re-measures depth and price inside the turn that spends the money.
Pren1FvFX6J3E4kXhJuCiAD5aDmGEb7qJRncwA8Lkhw
FIGUREAI
not offered
Figure AI PreStock
- HELD — it was read under one of these bars recently and is held out until 2026-10-20, when a fresh reading may clear it
PreZad18qfPtbxNpMtMuAuX2zVpvkEU8DnJx56faCWd
OPENAI
not offered
OpenAI PreStock
- PRICE_AT_SIZE — a $200.00 buy was quoted 29.8 bps worse than a $12.50 probe (Manifest 6Gi6cz… at both sizes, read 2026-09-21), over the 25 bps this keeper allows a turn's own impact
- FLOOR — no Raydium CLMM/USDC pool is pinned for it, and SaverFi reads a leg's price from nothing else
PreweJYECqtQwBtpxHL171nL2K6umo692gTm7Q3rpgF
NEURALINK
not offered
Neuralink PreStock
- DEPTH — Manifest G3LHQo… held $8,995.00 (venue-wide, read 2026-09-21), under the $10,000.00 that covers a $200.00 leg 50x
- PRICE_AT_SIZE — a $200.00 buy was quoted 77.9 bps worse than a $12.50 probe (Manifest G3LHQo… at both sizes, read 2026-09-21), over the 25 bps this keeper allows a turn's own impact
- FLOOR — no Raydium CLMM/USDC pool is pinned for it, and SaverFi reads a leg's price from nothing else
PrekqLJvJ3qVdXmBGDiexvwUTF4rLFDa6HWS4HJbw9S
SPACEX
not offered
SpaceX PreStock
- DEPTH — Meteora DLMM Chroid… held $7,542.00 (venue-wide, read 2026-09-21), under the $10,000.00 that covers a $200.00 leg 50x
- PRICE_AT_SIZE — a $200.00 buy was quoted 27 bps worse than a $12.50 probe (Meteora DLMM Chroid… at both sizes, read 2026-09-21), over the 25 bps this keeper allows a turn's own impact
- FLOOR — no Raydium CLMM/USDC pool is pinned for it, and SaverFi reads a leg's price from nothing else
PreANxuXjsy2pvisWWMNB6YaJNzr7681wJJr2rHsfTh
POLYMARKET
not offered
Polymarket PreStock
- DEPTH — Manifest J4PjSn… held $7,264.00 (venue-wide, read 2026-09-21), under the $10,000.00 that covers a $200.00 leg 50x
- FLOOR — no Raydium CLMM/USDC pool is pinned for it, and SaverFi reads a leg's price from nothing else
Pre8AREmFPtoJFT8mQSXQLh56cwJmM7CFDRuoGBZiUP
KALSHI
not offered
Kalshi PreStock
- DEPTH — Meteora DLMM (reached through a first hop that changed between readings) held $4,229.00 (venue-wide, read 2026-09-21), under the $10,000.00 that covers a $200.00 leg 50x
- PRICE_AT_SIZE — a $200.00 buy was quoted 96.7 bps worse than a $12.50 probe (GoonFi V2 + Meteora DLMM at 200 USDC vs Raydium CLMM + Scorch + Meteora DLMM at 12.50, read 2026-09-21), over the 25 bps this keeper allows a turn's own impact
- FLOOR — no Raydium CLMM/USDC pool is pinned for it, and SaverFi reads a leg's price from nothing else
PreLWGkkeqG1s4HEfFZSy9moCrJ7btsHuUtfcCeoRua
ANDURIL
not offered
Anduril PreStock
- DEPTH — Manifest BeUdSs… (a Meteora DLMM answered the probe instead) held $2,016.00 (venue-wide, read 2026-09-21), under the $10,000.00 that covers a $200.00 leg 50x
- PRICE_AT_SIZE — a $200.00 buy was quoted 33.3 bps worse than a $12.50 probe (Manifest BeUdSs… at 200 USDC vs Meteora DLMM Gug9Tr… at 12.50, read 2026-09-21), over the 25 bps this keeper allows a turn's own impact
- FLOOR — no Raydium CLMM/USDC pool is pinned for it, and SaverFi reads a leg's price from nothing else
PresTj4Yc2bAR197Er7wz4UUKSfqt6FryBEdAriBoQB
SPYx is on the same shelf under the same rules and has its own block above. All eight PreStocks were read on 2026-09-21 with one key — WV9PJN7XTmTLVwbutCLFxp8TyePee6Xq5mRq6Fti5Wc — holding every one of their mint, freeze, permanent-delegate, transfer-fee-config authorities, and every one of them is pausable. That is as true of the one that is offered as of the seven that are not, and it is why the transfer fee above is read from the mint on every request rather than remembered.
5 · the second path to the same oracle
Pyth's own service, beside the account the keeper trusts
Section 1 reads a Pyth push account: bytes on Solana, refreshed by whoever chooses to refresh them, and the reading the keeper's gate actually consults before it converts a vault's saved SOL. Pyth answers for the same feed id directly too, over its Hermes service, as of now. Two independent paths to one oracle — so the figure worth printing is not the second price, it is the drift between them: how far the reading a money decision rests on sits from what Pyth publishes at this instant.
A drift is a fact about two readings taken at two moments, not an accusation, and neither path is the corrected version of the other. The account is what the chain can see; Hermes is what Pyth says now. Read the gap and the two publish times together.
Pyth Hermes
could not be read
Pyth's Hermes answered HTTP 403: Not entitled: feed ef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d (no grant accepts this feed (asset type 'crypto', instrument type 'spot')). The push-account figures above are unaffected: this page waits at most two and a half seconds on Hermes and then renders without it.
Measured 2026-09-25 against this deployment’s own credential: the free tier reaches the crypto majors — Crypto.SOL/USD and Crypto.USDC/USD, the two feeds the keeper’s gate reads — and answers 403 "Not entitled: feed" for the tokenised-stock and equity feeds (Crypto.SPYX/USD, Crypto.NVDAX/USD, Equity.US.SPY/USD, Equity.Index.ANTHROPIC/USD). So this page asks Hermes for those two feeds and for nothing else.
Equity.Index.ANTHROPIC/USD — still not read
A PreStock's underlyinghas no feed this page can reach. SPYx above has a Pyth push account; the equity index behind a PreStock has neither that nor an entitled Hermes feed on this credential, so no figure anywhere on this page is the underlying company's price. The issuer's own marks are the issuer's.
Both readings above are taken in src/lib/prices-data.ts, on the server. The app's pinned Content-Security-Policy lists no Hermes origin for the browser, and a credential has no business in a bundle: it travels in an Authorization header from this server and appears in nothing this page returns.