Preprint · Solana · October 2026 · launching on Meteora
Keep the Stock, Spend the Interest
Interest-funded AI on Solana
- GPT-5.5 Pro$30.00/M
- GPT-5.5$5.00/M
- Claude Sonnet 5.5$2.00/M
- Gemini 4 Argon$2.00/M
- DeepSeek V4.1 Flash$0.15/M
- Claude Haiku 5.5$0.10/M
Abstract
Tokenized stocks earn nothing while they sit in a wallet, and AI is billed by the token. We describe Prism, vaults on Solana that lend a deposit through Kamino [1] and turn the interest into NOTE, a token backed one-to-one by USDC that pays for model calls. Dollars earn 4.53%. NVDAx, SPYx and QQQx earn 0.71% of their value, by borrowing PYUSD at 0.85% against 30% of it and lending that at 3.24%; the stock is never sold. At today's prices, $10,000 in USDC pays for about 94k requests a month to Claude Haiku 5.5. Holding $PRISM turns on Auto routing, which sends each request to the cheapest model that can do it. Every number in this paper is read live; none is a projection.
Keywords: tokenized stocks, lending, AI credits, routing, Solana
1Introduction
Someone who holds an index fund and uses AI every day pays for the AI twice: once with money that is already invested, and again with a subscription. On Solana, stocks now live in the same kind of wallet as money. xStocks are SPL tokens [5], and Kamino accepts them as collateral in isolated markets [1]. A deposit can therefore earn interest without being sold, and the interest can be spent.
Prism does exactly that, and no more. This paper makes three small, practical contributions: a vault for dollars and one for stocks, each with a single rate that can be read from Kamino at any slot (Section 2); a credit, NOTE, that turns the interest into model calls (Section 2.3); and a router for $PRISM holders (Section 5).
2Mechanism
2.1Dollars
USDC is lent in Kamino's main market. Its rate is the market's supply rate:
2.2Stocks
1 Kamino's Sentora xStocks market is isolated: trouble in one stock cannot spread to another.A stock vault keeps the stock as collateral in Kamino's Sentora xStocks market,1 borrows PYUSD worth a fraction β = 0.30 of the stock's value, and lends that PYUSD in the main market. The stock earns the spread on the borrowed fraction:
The loan stays far from its limit. With a maximum loan-to-value λ (70% for QQQx), the stock can fall by
before the loan reaches it, and the vault repays early well before that. Stocks whose dollars would cost more to borrow than they earn, so that rS < 0, are not opened. Table 1 gives every vault as it stands.
| Vault | r | NOTE / yr per $1k |
|---|---|---|
| USDCdollars | 4.53% | $45.25 |
| QQQxNasdaq 100 | 0.71% | $7.14 |
| NVDAxNVIDIA | 0.71% | $7.14 |
| SPYxS&P 500 | 0.71% | $7.14 |
Not opened, because borrowing against them costs more than lending earns (rS < 0): HOODx, GOOGLx, CRCLx, TSLAx, METAx, AAPLx, MSTRx (−2.45 pp).
2.3Credits
Interest accrues every slot. A keeper collects it and mints NOTE against a deposit D at rate r:
NOTE is backed by USDC held onchain. It can be held, sent to another wallet or to an agent, spent on any model, or redeemed.
3What a deposit buys
A request of 1,500 input and 500 output tokens to a model m, priced pin and pout per million tokens[3], costs c(m); a month of interest therefore pays for
requests. Figure 2 sets Eq. (5) with your own numbers.
USDC is lent at r = 4.53%, Eq. (1).
| Model m | n(m) / mo |
|---|---|
| Claude Haiku 5.5$0.10 / $0.50 | 94k |
| Grok 4.7$2.00 / $6.00 | 6,285 |
| Claude Opus 5.5$4.00 / $20.00 | 2,357 |
4From a share to a model
Figure 3 follows one deposit through Eqs. (2) and (4) to a model. Scroll, and it is drawn.
Figure 3a: The deposit. NVDAx, SPYx, QQQx or USDC go into a vault of your own on Solana; nothing is sold, and only your wallet can take it out.
Figure 3b: A small loan. The vault borrows PYUSD worth β = 0.30 of the stock's value in Kamino's isolated xStocks market, at 0.85%, far under the 70% limit.
Figure 3c: The dollars work. The PYUSD is lent in Kamino's main market at 3.24%; the gap is your interest, 0.71% of the stock a year. USDC skips the loan and earns 4.53%.
Figure 3d: Interest becomes NOTE, Eq. (4): one per dollar, each backed by a dollar of USDC held onchain. Hold it, send it, or spend it.
Figure 3e: NOTE pays for 336 models through one key; $PRISM holders route each request to the cheapest model that can do it (Section 5).
5Routing
Wallets that hold $PRISM (1,000 or more) get Auto routing: each request goes to the cheapest model that can do it. Nothing is staked and there is nothing to sign up for; Prism reads the balance when the wallet signs in. The saving on a request moved from model a to model b is
and Table 2 prices three such moves at today's prices.
| Request | Default a | Routed b | s |
|---|---|---|---|
| Summarize an email | Claude Sonnet 5.5 | Claude Haiku 5.5 | −95% |
| Review a pull request | Claude Opus 5.5 | Claude Sonnet 5.5 | −50% |
| Draft a reply | GPT-5.5 | DeepSeek V4.1 Flash | −98% |
6Properties of the vault
The following are requirements of the vault's design. At launch each one is a property of the deployed program and can be checked onchain by anyone; until then they are what it is built to.
Property 1 (Withdrawal). At any slot the depositor can withdraw the whole deposit. There is no lockup and no notice period.
Property 2 (Ownership). The vault has no function that moves a deposit anywhere but back to its depositor.
Property 3 (Notice). A move to a different Kamino market is announced onchain days ahead, so anyone can leave first.
Property 4 (Isolation). Each stock is lent in an isolated market; a failure in one does not reach the others.
Property 5 (Margin). A stock vault borrows β = 0.30 of the stock's value and repays early as the loan grows; by Eq. (3) the stock can fall about 57% before the loan reaches its limit.
Property 6 (Backing). Every NOTE in circulation has one USDC behind it, held onchain.
7Interface
The API speaks the OpenAI chat format, so existing clients only change the address and the key. Listing 1 routes a call with model="auto".
from openai import OpenAI
client = OpenAI(base_url=PRISM_BASE_URL, api_key=PRISM_KEY)
reply = client.chat.completions.create(
model="auto", # Section 5
messages=[{"role": "user", "content": "Summarize my portfolio news"}],
)8Limitations
- The vault and Kamino are smart contracts; both carry the risk of a bug.
- Rates move with demand and can fall to zero; Eq. (2) is negative for some stocks today, which is why they are not opened.
- xStocks carry issuer controls, such as freezing and pausing, that no vault can remove [5].
- NOTE is worth a dollar because USDC is; it carries USDC's risks.
- Tokenized stocks are not available in every country.
References
- [1]Kamino Finance. Kamino Lend: lending markets and reserves. api.kamino.finance, read live.
- [2]Jupiter. Price API v3. lite-api.jup.ag, read live.
- [3]OpenRouter. Models API. openrouter.ai/api/v1/models, read live.
- [4]Meteora. Dynamic Bonding Curve. meteora.ag.
- [5]Backed. xStocks: tokenized equities on Solana. xstocks.com.
AQuestions
What can I deposit?
USDC, and the tokenized stocks that Kamino lends against with a positive spread today: NVDAx, SPYx and QQQx. Other xStocks open when borrowing against them costs less than lending earns; Table 1 shows which.
Do I still own my shares?
Yes. The stock sits in a vault that only your wallet can withdraw from. It is never sold; it is collateral for a loan of 30% of its value.
What happens to NOTE I do not use?
It stays yours. NOTE is a token backed 1:1 by USDC: keep it, send it to another wallet or to an agent, or redeem it.
What does $PRISM do?
Holding 1,000 $PRISM turns on Auto routing (Section 5). It launches on Meteora.
Is this investment advice?
No. This page describes a mechanism and reads public rates. Rates change with demand and nothing here is a promise of return.
BCiting this paper
@misc{prism2026,
title = {Keep the Stock, Spend the Interest:
Interest-Funded {AI} on Solana},
author = {Prism},
year = {2026},
month = oct,
note = {Preprint, v1}
}