How ReStock works
What it is
ReStock opens a liquidity pool on Raydium or Meteora for an existing Solana token, quoted against a tokenized stock such as NVDAx, TSLAon or a pre-IPO token like OPENAI. Every trade in that pool pays a fee in the stock, and every hour that pot is paid out to the token's holders. Opening a pool is invite-only for now: apply on the create page with the wallet you will use. You do not need to be the token's creator. The pool, the position and the vault are created in one transaction.
Stocks
The quote side is a stock token from one of four issuers: xStocks by Backed (symbols ending in x, like NVDAx), Ondo Global Markets (ending in on, like TSLAon), Backpack Securities (plain tickers, like GRND) and PreStocks (pre-IPO private companies, like OPENAI or ANTHROPIC). A stock can only be paired once the protocol has allowlisted its mint on-chain, and only if Raydium or Meteora can host it (see below). Each issuer can freeze, pause or claw back its own tokens in any account; the terms spell this out.
Raydium or Meteora
You do not choose the venue: the stock does. Stock tokens carry Token-2022 extensions that neither AMM accepts by default, so each venue keeps a whitelist of the stock mints it supports (Raydium's SupportMintAssociated, Meteora's TokenBadge), and those lists barely overlap. Of the stocks with a market today, 237 can only be pooled on Meteora and 53 only on Raydium; the 38 that work on both open on Raydium. The create wizard only offers stocks with a venue, and shows which one before you sign.
Both venues work the same way for holders: same 1% or 2% trade fee, same lock modes, same hourly payout in the stock. The differences are in the plumbing. A Raydium CLMM position has its own price range and earns fees in both tokens, so the keeper sells the project-token side for the stock before paying out. A Meteora DAMM v2 pool that ReStock opens collects every fee directly in the stock, so there is nothing to convert; its price range belongs to the pool rather than the position, so it is set when ReStock opens the pool and inherited if the pool already exists. The Squads multisig flow for treasuries is Raydium only for now.
Price range
New pools and every “Deposit into” position are full range: the liquidity covers the whole price curve, so it earns on every trade at any price and can never fall out of range. ReStock never rebalances a position, which is why full range is the default. The create wizard can narrow the range to a geometric band around the starting price instead. A band earns more per dollar while price stays inside it, but once price leaves, the position stops earning and holds a single asset until price comes back. On Meteora the band is the pool's own, so it can only be chosen when ReStock opens the pool.
Lock modes
A locked position's NFT is moved into a program-owned vault. The program has no instruction that transfers or closes that account. An unlocked position sits in a creator vault that only the creator can withdraw from. Both are labelled on the pool page.
Trade fee
A ReStock pool charges 1% or 2% on every swap, chosen at creation (Raydium's 1% and 2% fee tiers, or the same flat base fee on Meteora). The venue keeps part of it before it reaches the pool's liquidity; see protocol economics below. The program refuses lower tiers, because the trade fee is the pot that pays holders. The creator picks nothing else about the fees: there is no mode in which they keep them.
Paying holders
Every hour the keeper snapshots the project token's holders, splits the vault's unpaid stock pro-rata by balance, optionally only among the top N holders above a minimum balance the creator set, and publishes the list as a Merkle root on-chain. One hour later, once the challenge window has passed, the keeper executes every payout: the stock lands in holders' wallets with nothing to sign. Holders can also claim on this site. Unclaimed amounts return to the vault after a week and roll into the next epoch. Inside the window the protocol admin can void a bad list, which bounds what a compromised keeper key could ever take to one hour of one pool's fees.
Paid in the stock, not the token
Holders receive every fee in the stock. On Meteora the pool already collects its fees in the stock alone. A Raydium CLMM earns fees in both tokens of the pair: the stock side goes straight to the holders' vault, and every hour the keeper sells the project-token side for the stock and adds it to the same vault. Nothing a holder receives has to be sold on the project's own chart; the pool creator keeps no share of the fees.
Protocol economics
Every swap pays the pool's 1% or 2% trade fee, and the venue keeps its own cut of that fee first: Raydium 16% (12% protocol, 4% fund), Meteora 20%. The rest, 84% on Raydium and 80% on Meteora, is the pool fee credited to liquidity providers, shared pro-rata if anyone else also provides liquidity in the same pool. ReStock takes 5% of the pool fees its position earns, paid in the stock token at every harvest, and holders get the other 95%. On a 1% pool with ReStock as the only liquidity, that is 0.798% of every trade to holders on Raydium and 0.76% on Meteora.
Pool creation costs 0.05 SOL. If a pool was created through a referral link, the referrer receives 20% of the protocol share from that pool. Anything a project sends to its pool's vault directly is paid out to holders in full at the next epoch, with no protocol share.
Pricing
The starting price comes from Jupiter's quote for one unit of each token, cross-checked against the deepest on-chain pool read directly from RPC. If the two disagree by more than 3%, pool creation is refused until they agree.
Copilot
The copilot walks through the same settings as the create wizard with preset questions and preset answers, and accepts plain English (“half my WIF against Tesla, locked”). Simple phrases are parsed on your device. Anything else is encrypted in our server to the public key of SolRouter's Intel TDX enclave, relayed blind, and answered there by an open-weight model running on Nosana; the reply comes back encrypted and is mapped onto the preset answers. The model only ever chooses among those presets. It never picks a mint address and never writes the copy you read. The result is handed to the wizard's review step, where you see the exact numbers before signing.
Source
The program and services are closed source. The architecture, the program reference and how to check pools, harvests and payouts on-chain yourself are at github.com/noahhaufer/restock-docs. The program ID is EyQygGKAxe9Py1MWfGM2KLPQ7FCQZ3RwncxSDiTL412v.
What this is not
Pool fees are trading fees paid by people who swap in the pool. They are not dividends, they are not guaranteed, and holding a stock token does not confer ownership of shares. Stock tokens are issued by third parties under their own terms, which exclude some regions, including the United States.

