Pairing a token with a Stock Token
A token launched against a Robinhood Stock Token runs the same curve as an ETH launch, but every amount in it is that Stock Token. This guide follows the units: what the curve prices in, where fees land, what the multiplier touches, how the graduation line is sized and where the liquidity ends up. The numbers use the live NVDA pair on Robinhood Chain, read from GET /config at render time.
Updated
Everything is counted in the Stock Token
Every Vectr curve is a clone of the same VectrBondingCurve. The pairing asset is fixed at launch, and only two numbers come from it: the virtual reserve the curve starts from and the balance at which it graduates, both read from the factory's registry in that asset's own base units. From there the constant-product math is identical to an ETH curve. A buy is credited with the Stock Token balance that actually arrived, and the spot price is scaled to 18 decimals whatever the asset's decimals are.
- Pairing asset
- 0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec NVIDIA (NVDA), 18 decimals
- Virtual reserve at launch
- 17.0655 NVDAquoteAssets[].virtualInit; about $3,937 at today's NVDA value
- Starting price
- 1.590e-8 NVDAper token; about $3.669e-6 today
- Fee per trade
- 0.97% of the NVDA flow0.30% to the creator, 0.67% to Vectr
- Graduation line
- 47.7833 NVDAreal NVDA held by the curve; about $11,024 today
- How a buy is paid
- approve, then buyVectr builds an exact-amount approval to the curve; sending ETH to a Stock Token curve reverts
Spending 1 NVDA on a fresh curve
// The same curve as an ETH launch; every quote amount is NVDA (18 decimals)
fee = amountIn * 97 / 10000 // 0.97%, taken in NVDA
tokensOut = virtualTokens - k / (virtualNVDA + amountIn - fee)
creator += fee * 30 / 97 // creatorFeesAccruedToken[NVDA][feeRecipient]
platform = fee - creator // pushed to the platform wallets as NVDA- Send 1 NVDA
- 58.85M tokens0.9903 NVDA enters the curve after the 0.97% fee; 5.89% of total supply
- Creator share
- 0.003 NVDAaccrues in the FeeCollector as NVDA until the token's fee recipient claims it
- Platform share
- 0.0067 NVDApushed in NVDA to 3 platform wallets (40% / 40% / 20%) in the same transaction
- Price after the buy
- 1.780e-8 NVDA+11.9% from the start; about $4.107e-6 today
Nothing in that transaction touches ETH except gas. The fee split is the one an ETH curve uses, and a buy worth the same share of the virtual reserve moves the price by the same percentage; only the unit changes. The formula itself, with price impact and sells, is in how bonding curves work.
What the multiplier touches
Robinhood folds splits and dividends into a per-token multiplier instead of changing balances. Vectr applies it in exactly one place: when a Stock Token amount becomes a dollar figure. The mechanism is in the Stock Token multiplier reference.
| Reads the multiplier | Why | |
|---|---|---|
| Curve price and every trade | No | The curve holds and prices Stock Token units. Nothing in VectrBondingCurve reads a multiplier. |
| Creator and platform fees | No | A share of the Stock Token amount traded, paid in Stock Token units. |
| Graduation line | No | A fixed amount of the Stock Token, set when the asset was registered. |
| Price, market cap, volume, creator earnings in USD | Yes | Stock Token USD value = Robinhood's share quote x the registry multiplier. |
| USD spending limits on a Vectr wallet | Yes | A Stock Token buy is priced in dollars by the same rule before the wallet service signs it. |
- Curve price and every trade
- Reads the multiplier
- No
- Why
- The curve holds and prices Stock Token units. Nothing in VectrBondingCurve reads a multiplier.
- Creator and platform fees
- Reads the multiplier
- No
- Why
- A share of the Stock Token amount traded, paid in Stock Token units.
- Graduation line
- Reads the multiplier
- No
- Why
- A fixed amount of the Stock Token, set when the asset was registered.
- Price, market cap, volume, creator earnings in USD
- Reads the multiplier
- Yes
- Why
- Stock Token USD value = Robinhood's share quote x the registry multiplier.
- USD spending limits on a Vectr wallet
- Reads the multiplier
- Yes
- Why
- A Stock Token buy is priced in dollars by the same rule before the wallet service signs it.
NVDA's multiplier is 1.000775 today. The largest in the registry is CRWD at 4.0: its dollar value is the share quote times that number. A curve paired with it does not know; only its dollar figures do.
One raise, sized per asset
Each Stock Token gets its own virtual reserve and graduation line, in its own units, chosen so the curve starts and ends at the same dollar size as the native curve on the day the asset is registered.
usdTarget = 1.5 ETH x ETH/USD // the native curve's virtual reserve, in dollars
virtualQuoteInit = usdTarget / assetUsd // assetUsd = Robinhood's quote x the multiplier
graduationThreshold = virtualQuoteInit x 2.8 // 4.2 / 1.5: the same curve shapeFrom scripts/register-stock-assets.ts in the contracts repository. Every Stock Token pair on GET /config right now has exactly that 2.8x shape.
| Pair | Graduation line | In USD at today's price | Against the ETH line |
|---|---|---|---|
| ETH | 4.2 ETH | $11,230 | the reference line |
| NVDA | 47.7833 NVDA | $11,024 | -1.8% |
| TSLA | 28.7945 TSLA | $10,144 | -9.7% |
| AAPL | 31.459 AAPL | $10,609 | -5.5% |
| SPY | 13.7985 SPY | $10,595 | -5.7% |
| GOOGL | 30.586 GOOGL | $10,681 | -4.9% |
| CRWD | 12.7479 CRWD | $13,509 | +20.3% |
- ETH
- Graduation line
- 4.2 ETH
- In USD at today's price
- $11,230
- Against the ETH line
- the reference line
- NVDA
- Graduation line
- 47.7833 NVDA
- In USD at today's price
- $11,024
- Against the ETH line
- -1.8%
- TSLA
- Graduation line
- 28.7945 TSLA
- In USD at today's price
- $10,144
- Against the ETH line
- -9.7%
- AAPL
- Graduation line
- 31.459 AAPL
- In USD at today's price
- $10,609
- Against the ETH line
- -5.5%
- SPY
- Graduation line
- 13.7985 SPY
- In USD at today's price
- $10,595
- Against the ETH line
- -5.7%
- GOOGL
- Graduation line
- 30.586 GOOGL
- In USD at today's price
- $10,681
- Against the ETH line
- -4.9%
- CRWD
- Graduation line
- 12.7479 CRWD
- In USD at today's price
- $13,509
- Against the ETH line
- +20.3%
The lines are fixed amounts, so they drift in dollars as prices move after registration. That is the honest reading of "the same USD raise": equal when set, not pegged. The factory owner can re-size an asset for future launches (setQuoteAsset) and move a live curve's line before it graduates (setCurveGraduationThreshold); both emit events, and the powers are listed on the contract registry. On the NVDA curve the line falls after about 790.63M of the 800M curve tokens are sold.
A token/NVDA pool, with no WETH
- 1The crossing buyThe buy that brings the curve's real NVDA balance to 47.7833 NVDA, or sells the last of the 800M curve tokens, graduates it inside the same transaction.
- 2No wrappingThe curve approves the migrator for exactly what it holds, and the migrator pulls it with transferFrom. A Stock Token is already an ERC-20, so the WETH step an ETH pair needs is skipped.
- 3A token/NVDA poolThe migrator creates the Uniswap V3 pool for the launched token and NVDA at the 1.00% tier, priced at the ratio of NVDA raised to tokens migrated.
- 4One locked positionThe raise and the 200M reserve, plus any unsold curve tokens, go into one full-range position minted straight to VectrLPLocker, which has no function that can move or unwind it.
- 5Fees after graduationSwaps pay the pool's 1.00% fee. VectrLPLocker.collect() sends the NVDA side to the platform wallets as NVDA, not converted, and the token side as the token. The 0.30% creator fee was a curve fee and stops here; what accrued stays claimable.
- 6Trading afterBuys and sells route through Uniswap's SwapRouter02 as one token/NVDA swap. A sell pays out NVDA directly; there is no unwrap step.
ETH pair or Stock Token pair
| ETH pair | Stock Token pair | |
|---|---|---|
| Paying for a buy | ETH sent as the transaction's value | An exact-amount approval, then buy() |
| Curve units | ETH | The Stock Token's own units, with its own virtual reserve and line |
| Creator fees | ETH, claimed with claimCreatorFees() | The Stock Token, claimed with claimCreatorFeesToken(asset) |
| Platform fee share | Pushed as ETH | Pushed as the Stock Token |
| Graduation line | 4.2 ETH | Per asset, e.g. 47.7833 NVDA |
| Graduation pool | token/WETH: ETH is wrapped first | token/Stock Token, no WETH |
| Selling after graduation | Router swap, then unwrap to ETH | Router swap, paid out in the Stock Token |
| Dollar figures | ETH price | Robinhood's quote x the multiplier |
| Who can hold the pairing asset | Anyone | Restricted by Robinhood; see the notice below |
- Paying for a buy
- ETH pair
- ETH sent as the transaction's value
- Stock Token pair
- An exact-amount approval, then buy()
- Curve units
- ETH pair
- ETH
- Stock Token pair
- The Stock Token's own units, with its own virtual reserve and line
- Creator fees
- ETH pair
- ETH, claimed with claimCreatorFees()
- Stock Token pair
- The Stock Token, claimed with claimCreatorFeesToken(asset)
- Platform fee share
- ETH pair
- Pushed as ETH
- Stock Token pair
- Pushed as the Stock Token
- Graduation line
- ETH pair
- 4.2 ETH
- Stock Token pair
- Per asset, e.g. 47.7833 NVDA
- Graduation pool
- ETH pair
- token/WETH: ETH is wrapped first
- Stock Token pair
- token/Stock Token, no WETH
- Selling after graduation
- ETH pair
- Router swap, then unwrap to ETH
- Stock Token pair
- Router swap, paid out in the Stock Token
- Dollar figures
- ETH pair
- ETH price
- Stock Token pair
- Robinhood's quote x the multiplier
- Who can hold the pairing asset
- ETH pair
- Anyone
- Stock Token pair
- Restricted by Robinhood; see the notice below
Who can hold the pairing asset
Vectr does not issue Stock Tokens and does not decide who may hold them. Pairing a token with one gives that token no claim on the Stock Token or the stock: the launched token is an ordinary ERC-20, and the Stock Tokens in its curve, and later in its pool, are the other side of its market. The token's name, symbol, logo, description and links are supplied by its creator and are not verified or endorsed by Vectr. Every Stock Token address on Robinhood Chain is listed in the address table; the risks of trading either side are in the risk disclosure.
Stock Token pairing questions
Is a token paired with NVDA backed by NVDA?
No. The curve, and after graduation the pool, hold NVDA as the other side of the token's market: it is what buyers pay and sellers receive. The launched token is a separate ERC-20 with no claim on the Stock Token or on the underlying stock.
What are creator fees paid in on a Stock Token pair?
In the Stock Token. The 0.30% creator share of every curve trade accrues in the FeeCollector under that Stock Token's address and is claimed with claimCreatorFeesToken(asset). The 0.67% platform share is pushed to the platform wallets in the same Stock Token, in the same transaction.
Does a split or dividend change a Stock Token curve?
No. A split or dividend changes the Stock Token's multiplier, and the curve never reads it: reserves, prices, fees and the graduation line are all in Stock Token units. What changes is the dollar value Vectr shows for the market.
Why are Stock Token graduation lines different amounts in dollars?
Each line was sized to the same dollar raise as the ETH line when the asset was registered, then fixed in the asset's own units. Prices have moved since, so today the dollar value of each line drifts from the ETH one, from -49.2% (XNDU) to +42.9% (VICR).
Does graduation convert the Stock Token raise into ETH?
No. The pool is token/NVDA and holds no WETH. The raise stays in NVDA as the pool's liquidity.
Which Stock Tokens can a token be paired with?
Any asset the factory has enabled; GET /config lists them under quoteAssets, 194 Stock Tokens right now. A launch on an asset that is not enabled reverts on-chain.