Velque
VELQUE DOCS

Nasdaq closes. Velque opens.

Velque is an order book for tokenized stocks on Solana, built around the hours when Nasdaq is closed. A normal book while there is a Nasdaq price, auctions that clear at one price while there is not, and one cross before the bell.

NASDAQ OPEN
32.5h

a week, regular session, Monday to Friday 9:30 to 16:00 ET.

ONCHAIN
168h

a week. Tokenized stocks on Solana never stop trading.

NO REFERENCE
135h

a week with no Nasdaq price to check a trade against.

The 135 hours

A tokenized stock is a token backed by a real share. On Solana it trades every hour of every day. The market that actually prices the share is open for about a fifth of that time.

While Nasdaq is open, arbitrage keeps the token close to the share. After the bell there is nothing to arbitrage against. Liquidity thins out, and every order walks whatever depth happens to be in the pool at that moment. The first large order of the night decides the price for everyone after it.

Velque does not try to invent a price for those hours. It changes how trading works in them: instead of each order hitting a thin pool alone, orders are gathered and cleared together.

Three sessions

DAY

Book pinned to Nasdaq

While Nasdaq is open, a continuous order book. Price, then time. Every limit price must sit inside a band around the Nasdaq reference.

DARK

Auctions in short windows

After the bell, orders collect for a window, then clear together at the single price that fills the most volume.

OPEN

One cross before the bell

Everything that built up overnight or over the weekend meets in one opening cross. Then the day book takes over.

WHEN (ET)SESSIONHOW ORDERS MATCH
Mon to Fri, 9:30 to 16:00DayContinuous book, price then time
Mon to Thu, 16:00 to next day 9:30DarkPeriodic auctions
Fri 16:00 to Mon 9:30DarkPeriodic auctions
Nasdaq holidaysDarkPeriodic auctions
Right before 9:30 on a trading dayOpening crossOne large auction

The session is not taken from a clock alone. The program switches to Dark whenever the reference price for a stock stops updating, so an unscheduled halt is handled the same way as a night.

Pre-market and after-hours trading on US venues exist, but prices there are thin. In the first version Velque treats them as Dark and runs auctions.

Day book

During the regular session Velque is an ordinary central limit order book. The best price fills first; at the same price, the earlier order fills first.

The price band

Each stock has a band around its live reference price. A buy above the band or a sell below it is rejected before it reaches the book. The band keeps a stray order from printing a price that has nothing to do with Nasdaq, and it is set per stock.

accept order  if  |limit_price - reference| <= band(stock) * reference
reject order  otherwise
reject order  if  limit_price * size < min_notional
switch to Dark if reference is older than max_age

How a day order fills

An order that crosses the book fills at once, against the best resting price first, and at that resting price, not at your limit. You receive what you bought or the USDC from what you sold in the same transaction. Whatever does not fill rests in the book with its escrow. Your own resting orders are skipped, so you never trade with yourself.

When a resting order fills, its proceeds wait in the program until you claim them. You can claim while the order is still partly resting, and cancel what is left at any time.

When the day ends

After the close the reference stops updating. Once it is older than max_age, the market is Dark: resting day orders move into the current night auction as until-cancelled orders, together with their escrow. Anything they earned during the day stays claimable.

Reference price

The Day band and the tie-break need a price from outside the book. Velque uses the last trade of the stock on its home exchange, not the price of the token itself, so the book is checked against Nasdaq and not against its own trades.

  • Two sources. The last trade from api.nasdaq.com and from Yahoo Finance. Each has to be less than three minutes old, and the two have to agree within 0.5%. If only one answers, it is used only when the token price on Jupiter is within 3% of it. Otherwise no reference is posted.
  • Token multiplier. xStocks pay dividends by changing a multiplier on the token instead of balances, so one token can hold slightly more than one share. The reference is the share price times that multiplier, read from the token itself.
  • Signed onchain. A dedicated oracle key posts the reference to the market with a timestamp. That key can only post prices and hand the role to another key. It cannot move funds, and it is not the key that can upgrade the program.
  • No price, no Day. Outside regular hours, or whenever the sources fail, the reference goes stale after max_age and the market runs auctions.
Pyth closed its free price service in August 2026 and its US equity accounts on Solana are no longer kept fresh. Velque may move to an onchain feed once a maintained one exists; the rule above stays the same.

Night auctions

When the reference goes dark, the book stops matching continuously. Orders collect for a fixed window. When the window closes, the orders are frozen and the program finds one clearing price for all of them.

How the clearing price is chosen

  1. Most volume. The price at which the largest number of shares can change hands.
  2. Least imbalance. If several prices tie on volume, the one that leaves the fewest shares unmatched.
  3. Closest to the last reference. If still tied, the price nearest to the last reference before the market closed.
  4. Midpoint. If still tied, the middle of the remaining range.

Every buy at or above the clearing price and every sell at or below it can fill, all at the same price. Orders priced better than the clearing price fill first. If one side is still larger, the orders sitting exactly at the clearing price share what is left pro rata by size. Nothing inside a window depends on who clicked first.

One price per auction means there is nothing to gain from racing other traders inside a window, and nothing to lose from arriving a few seconds late.

Worked example

Illustrative numbers, not market data. One Dark window for NVDAx. Last reference before the close: 180.70.

BIDS

100 @ 181.20
50 @ 180.90
200 @ 180.50

ASKS

80 @ 180.40
120 @ 180.80
150 @ 181.30

PRICEWILLING TO BUYWILLING TO SELLCAN TRADELEFT OVER
180.403508080270
180.503508080270
180.8015020015050
180.9015020015050
181.20100200100100

180.80 and 180.90 both trade 150 shares and leave 50 unmatched, so the tie goes to the price closest to the last reference, 180.70. The auction clears at 180.80. The two bids at 181.20 and 180.90 fill in full, 150 shares. On the sell side the ask at 180.40 is better than the clearing price and fills all 80; the ask at 180.80 gets the remaining 70. All 150 shares change hands at 180.80.

Opening cross

The last auction before the regular session is the largest one. Its window collects everything that did not fill during the night or the weekend, plus new orders placed ahead of the open. It clears with the same rule, just before 9:30 ET. After it, the Day book starts with whatever is left resting.

Mechanically, the cross is the first auction cleared once the reference is live again. It does not wait for its timer: the moment the Day session starts, the window clears at one price, and the unfilled part of every until-cancelled order moves into the Day book at its limit price with its escrow. From there it trades like any other resting order.

The cross gives weekend orders a single, predictable moment to meet Monday's price instead of racing it tick by tick.

Orders

  • Limit orders only. Market orders are not offered: in a thin night book a market order has no ceiling.
  • Minimum size. An order has to be worth at least the market minimum ($10 on the test market). Each book has 64 slots, and the minimum keeps them for real orders.
  • Cancel any time before the window you are in closes. Once a window is frozen, its orders are final for that auction. Day orders can be cancelled at any moment.
  • Time in force. An order lives for one window or until cancelled. An order marked until cancelled carries its unfilled part into the next window together with its escrow. A one-window order returns whatever did not fill when you claim.
  • Window rent. The first order in a window opens that window's book onchain and pays its rent. A book with no trades is closed after it clears and the rent goes back to whoever paid it; books with trades stay as the auction log.
  • Settlement in USDC, in the same transaction that records the auction result.

Supported stocks

Velque lists tokenized stocks issued on Solana: xStocks, Ondo Global Markets and Backpack Securities tokens. Several issuers wrap the same company; each wrapper is its own market.

The Day book needs a live reference, so it is enabled only for stocks listed on Nasdaq or NYSE with a public last-trade price. A stock without one trades in auctions at all hours.

A token is not a share registered in your name. Rights, redemption and eligibility depend on the issuer. Read the issuer's terms before you trade.

Auction log

Each auction leaves a record on Solana:

market          NVDAx
window          auction id and closing time
orders          every order: owner, side, price, size, fill
clearing_price  180.80
volume          150
reference       the reference price used for the tie-break

Anyone can pull the orders of a window, apply the rule above and check that they get the same price and the same fills. The app does exactly that: every row of its auction log has a Verify button that recomputes the result in your browser from the orders stored onchain. The program source will be public before mainnet.

Custody

Velque is non-custodial. When you place an order, the tokens or USDC it needs move into an escrow account owned by the program. The program can do exactly two things with them: fill them at the auction or book price, or return them to you when you cancel. There is no admin path to move user funds.

Fees

Placing and cancelling orders costs only the Solana network fee. Trading fees will be published before mainnet, and they will be the same for everyone in an auction.

Status

Velque is in development. The order of work:

  1. Done. Auction program: windows, clearing rule, escrow, carry-over of until-cancelled orders and settlement.
  2. Done. Day book with the price band, fills at the resting price, and the move of resting orders into the night auction when the reference goes stale.
  3. Done. Opening cross: the first auction after the reference comes back clears at once and hands its remainder to the Day book.
  4. Done. Public auction log with an in-browser replay of every result.
  5. Done. Token-2022 stocks. Real xStocks are Token-2022 tokens, and the test stock in the app is one too.
  6. Done. Reference from the Nasdaq last trade, two sources, adjusted for the token multiplier and signed by a separate oracle key. See Reference price.
  7. Done. Minimum order size, so a handful of dust orders cannot fill a book.
  8. Mainnet.

FAQ

Why not just trade the pool at night?

You can, and it will fill. The question is at what price. With no Nasdaq quote and thin depth, the first large order moves the price for everyone. An auction lets everyone who wants to trade in a window meet at one price.

Does Velque set its own price for the stock?

No. The price comes from the orders in each auction. The Nasdaq reference is used only to keep the Day book close to Nasdaq and to break ties.

What happens at the Monday open?

Everything waiting from the weekend meets in the opening cross. After it, continuous trading resumes.

Can anyone jump the queue inside an auction?

No. Inside a window time does not matter. Everyone who fills gets the same price.

Is it live?

The program runs a test market with test tokens, in all three sessions. In the app you can trade the Day book while Nasdaq is open, place orders in night auctions while it is closed, and see the opening cross in the auction log. Three test stocks trade there: tNVDAx, tTSLAx and tAAPLx. A Velque market maker quotes both sides so the book is never empty; its orders are labelled in the app, and it never trades with itself, so every fill has a real counterparty on the other side. Mainnet comes after the steps in Status.

Risk

  • Price gaps. Nothing stops the real stock from opening far from where it traded overnight. An auction gives a fair price for the orders present, not a guarantee against the next day's move.
  • No cross. If bids and asks do not overlap, an auction clears nothing and orders roll to the next window.
  • Issuer risk. A tokenized stock depends on the issuer and its custodian holding the underlying share. xStocks give the issuer a permanent delegate and a pause switch on the token: the issuer can move tokens from any account, escrow included, and can stop transfers, which would also stop placing and claiming.
  • Oracle risk. The reference is signed by one oracle key. A wrong price can shift the Day band and the tie-break, never the price of a trade. A stale price moves the market to auctions.
  • Program risk. Smart contracts can contain bugs. Use amounts you can afford to lose.
  • Eligibility. Tokenized stocks are not available to everyone. Some issuers exclude US persons and other jurisdictions.

Nothing on this site is investment advice.