Concepts
These pages describe the onchain half of Velocity: the accounts the Solana program owns, what each field means, how an order moves from placement to fill, and the units the program stores its numbers in. They are written for an integrator with a decoder open, not for a trader. For an integration that only calls the SDK, Velocity SDK is the faster route; these pages are the place to come when a decoded value does not mean what it appeared to.
Where to start
Read Program Structure first for how positions, orders, and margin fit together, then Account Model for the account layouts those mechanics live in. The remaining pages are reference: read each one when the thing it covers comes up.
Two of them correct assumptions that cost integrators real time. Slot duration explains why a slot count is no longer a fixed amount of time and which fields are exempt from that. Program and vault addresses is short but load-bearing: every PDA on Velocity is derived against a program ID that no other deployment shares.
In this section
Program Structure
Position accounting, order types, collateral and margin math, and the fixed 8 perp / 8 spot / 32 order limits.
Account Model
The State, market, user, and stats accounts field by field, plus PDA seeds and how accounts grow.
PropAMM and CLOB Order Flow
How a perp order is filled across the vAMM, resting user orders, and third-party quoter programs.
Slot Duration and Wall-Clock Time
Solana's slot length is shrinking from 400ms to 200ms. Read the live value off State instead of hardcoding it.
AMM Liquidity and Settlement
How the AMM sizes its depth, when it competes for fills, and how the P&L it takes on is settled.
Program and Vault Addresses
The deployed program IDs, and why to read them from the SDK config rather than pasting them.
Porting an integration from another deployment? Start at the migration guide, which lists the renamed symbols, removed instructions, and the behavior changes a compiler cannot catch.