Skip to content
Rex St. John
demolive

SVMLLM

A Solana VM compiled into transformer weights. Reduced sBPF runs in hand-constructed transformer components with 1.13M constant parameters and no training, checked against Anza's solana-sbpf.

PyTorch / Python / Rust / JavaScript

Problem

Some smart-contract incidents involve code that ran exactly as written, with an outcome a sensible human operator would have stopped. Many others are ordinary bugs or key compromises; this project targets only the first kind. The VM answers whether a transaction is valid by the code, and nothing in it asks whether it should go through.

Solution

SVMLLM runs reduced sBPF, the bytecode of Solana programs, inside hand-constructed transformer components. A one-hot PC query fetches from DeltaNet program memory, a linear layer decodes, ReLU lookup-table feed-forward blocks are the ALU, and Gated DeltaNet state holds registers and memory exactly. A rule-based judgement filter then reviews the result for allow, hold or block.

Analysis

The weights do the execution; a Python driver loop calls the step until the halt flag is set. The instruction set is reduced: no ALU32, no syscalls (call is a stub), no accounts, no CPI, and memory is two 128-byte windows. It is slow, a few milliseconds per instruction on one CPU thread, and more for div or mod. The judge is illustrative heuristics on synthetic histories, not a security product.

Result

The weights machine matched the reference interpreter on all 1,165 cases, and the reference matched Anza's solana-sbpf 0.12.2 on the 1,164 cases it can run (one case uses the call stub). The browser interpreter matches the reference on 565 of 565 cases.

The realistic use today is a sidecar beside the chain software, an off-chain audit, or a review step in front of a wallet or multisig. It affects only that operator, not consensus. It is a demo, not a validator.

Screens

  • The SVMLLM logo, the Solana mark inside a broken purple to green hexagon above the word SVMLLM
  • The SVMLLM landing page, headed A Solana VM compiled into transformer weights, with chips for 1165 of 1165 weights vs reference, 1164 of 1164 reference vs solana-sbpf, 1.13M constant parameters and 10 demo programs
    The landing page. The interactive box runs a JavaScript reference interpreter; the weights runs are recorded from PyTorch and labeled that way.