Vektor puts three autonomous engines on Strike's central limit order book: a builder-fee grid studio with real-candle backtesting, a delta-neutral funding harvester, and a 24/7 liquidation shield that acts before the engine does.
Each engine is a pure, unit-tested TypeScript module. The same code runs against an in-browser matching engine in Demo mode and against Strike's REST + WebSocket API in Live mode - only the adapter changes.
A neutral grid - buys below the mark, sells above, the level nearest the mark left empty so the sides never collide. Geometric or arithmetic spacing, 4–60 levels.
POST /v2/orders/batch, post-only, with X-Builder-Fee-BpsStrike pays funding hourly. Vektor ranks every market by annualised funding (r × 24 × 365), then sizes a 1:1 perp hedge against spot you already hold.
Computes distance-to-liquidation for every open position with the same formulas as Strike's engine and escalates before the engine gets there.
close_positionWrites are async - a 201 pending means sequenced, not filled. Rejections like order_would_match_immediately arrive on the user stream. Vektor's engines are built for that reality, not a toy exchange.
Every rung order is tagged vektor-grid-<id>-<rung>-<e|x>-<seq>. When a fill comes back on the user stream, the engine knows exactly which rung and whether it was an entry or an exit - even after a reconnect or a page reload.
Positive funding means longs pay shorts every hour at HH:00 UTC. Hold 10,000 ADA in your own wallet, short 10,000 ADA-perp at 2x, and you collect funding regardless of direction. Vektor shows the hedge's liquidation price so a rally can't surprise you.
/v2/orders/batch - builder fee attachedA naive shield fires a trim on every mark tick while you're under the threshold. Aegis tracks a per-symbol cooldown and a pending-trim flag, resets the episode only once you're back to SAFE, and logs every decision with the buffer that triggered it.
close_position: true. Confirmed, then immediate.Nine capabilities built on top of the reference stack, each one tested and each one wired to a real Strike endpoint.
The exact range you draw is replayed over 24h / 7d / 30d of mainnet candles through the same matching engine and grid code as the live grid. Net after builder fee, annualised, max drawdown, time-in-range, equity curve.
Range = last ± 3×ATR(14). Level count sized so spacing clears Strike's own fee floor (spacing > mid × (maker + taker)). One click applies it to the sliders.
Live grids persist locally (no secrets) and are rebuilt from GET /v2/openOrders by client-ID prefix on reconnect. Rungs that filled or were cancelled while you were away are dropped, not assumed.
Same range, same candles: Vektor vs Strike's /v2/grid/bot. The native bot is arithmetic-only and carries no builder code, so its builder revenue is $0 by construction. In Live mode, launch the real one and watch both.
Bookmap-style time × price × resting notional from the top-20 book, mark overlaid. See where the walls were, not just where they are.
Every fill Vektor makes is tagged. The public proof page re-reads them from Strike's history API in your browser and prints the curl commands so you can check the numbers yourself.
Rung sizes tilt toward the side that receives hourly funding. Each entry can carry a stop leg via /v2/order/strategy. When price leaves the range the ladder re-centres in one /v2/orders/replace.
Order-level feed flags spoofed walls and icebergs. Fear & Greed, open-interest shocks and 24h range pause or widen grids before the market does it for you. Plus an agent skill + CLI and vault execution.
Tick one box before Deploy and your grid moves to the Vektor server: counter orders, shield and auto-shift keep running after you close the tab. Your trade-only Strike key is enrolled with a signature, encrypted at rest, and can never withdraw. Disable any time.
Shield warnings, trims and grid round trips notify even in a background tab. Run one grid per market - ADA, BTC, ETH, SOL - all shielded, all listed with per-grid PnL and builder fees.
Strike's Builder Codes pay a per-fill fee (X-Builder-Fee-Bps, 0–100 bps) to the integrator. Market-order buttons generate one fill. A grid generates continuous maker flow for as long as the market ranges. Vektor is built so that all of it is attributed.
| Order path | Honours X-Builder-Fee-Bps | Vektor uses it for |
|---|---|---|
POST /v2/orders/batch | Yes | Grid deployment, counter orders, hedge slices, shield trims |
POST /v2/order/strategy | Yes | Bracket TP/SL (reference app) |
POST /v2/grid/bot (native) | No - no builder code at all | Head-to-head comparison only |
POST /v2/algo/twap | No | Replaced by Vektor's sliced IOC entry |
POST /v2/order/replace | No | Avoided - cancel + batch instead |
Live telemetry in the app header: volume routed, fills, and cumulative builder fees - so the business model is visible on screen, not just in a pitch deck.
Cardano / Solana / EVM wallet signs a Builder Connect challenge. A fresh Ed25519 API wallet is generated client-side and approved for your builder code.
Drag a range, pick levels and leverage. Vektor snaps to tick/step, checks min notional, and shows net-per-cycle after every fee.
Replay the grid over real mainnet candles. Compare geometric vs arithmetic, and Vektor vs the native bot.
One signed /v2/orders/batch request. Every rung rests post-only with the builder fee attached.
Fills stream in over /ws/user-api; counters fire in milliseconds and Aegis trims before liquidation. Tick Autopilot and the server keeps it running after you close the tab.
Demo mode is not a mock UI - it's the real engines driving an in-memory matching engine with post-only rejects, reduce-only clamps, maker/taker + builder fees and isolated liquidations. 78 automated tests cover the engines, the backtester, the simulator and a full render of the app.
// the seam between engines and the exchange interface ExecutionAdapter { mode: "live" | "sim"; placeBatch(orders: CreateOrderRequest[]); cancel(symbol, clientOrderId); cancelAll(symbol?); onFill(cb: (fill: FillEvent) => void); } // src/api/liveAdapter.ts → /v2/orders/batch + user stream // src/sim/simExchange.ts → in-memory book, same surface
src/
quant/ gridEngine · fundingHarvester
liquidationShield · whaleRadar
backtest · rangeSuggest
sim/ simExchange · priceSim · demoMarkets
api/ auth (Ed25519) · liveAdapter · vektor
hooks/ useVektor - one grid per symbol,
shield, hedge, depth frames, tick loop
components/ GridStudio · GridLadder · DepthHeatmap
quant/ BacktestCard · HeadToHead · ShieldPanel
FundingHarvester · ActiveGrids
Vektor's revenue is the builder fee on every fill. Each milestone below multiplies attributed fills on Strike's book.
vault_id is already on every order. Add the vault stream and anyone can deposit into skewed, shielded grids - every vault fill still pays the builder code.
Brackets, auto-shift and regime guard in the 24/7 worker; sub-account per strategy; DMA hot path.
Builder revenue → STRIKE staking → lower fee tier → wider net-per-cycle → more volume. Revenue share for stakers.
Public strategy pages with verified history, one-click clone, leaderboard and referral codes.
Route the perp leg to the best hourly funding; spot stays in your wallet. Agent-native via MCP.
Yes, with Autopilot. Tick "Keep running when I close this tab" before Deploy and the Vektor server runs your grid - counter orders, shield, auto-shift - around the clock on your own account. It holds only your trade-only Strike API key, enrolled with a signature and encrypted at rest; it cannot withdraw, and "Disable Autopilot" wipes it. Without Autopilot the grid runs while the tab is open and reconciles against open orders when you return.
It exists and Vektor can launch it for comparison. But it ignores X-Builder-Fee-Bps entirely, is arithmetic-only, and the client can't shield its orders. Vektor's grid pays the builder on every fill - that's the business.
Mainnet /price/v2/klines, which is public. Testnet candles are flat because nothing trades there. The backtester walks each candle open → low/high → close so every rung a wick touched gets filled - that's optimistic on thin books and the UI says so.
Dropped to 10 bps by default. At 50 bps a round trip pays 1% in builder fees alone, which eats most grid spreads. The design card shows net-per-cycle after fees so you can see exactly where the break-even is.
No - Strike funds hourly at HH:00 UTC, and r on markPriceUpdate is the hourly rate. Vektor's APR math, hedge tracker and Rule C all use the hourly convention.
Open the terminal in Demo mode, deploy a grid, hit "Flash crash −12%", and watch Aegis cancel the buys and trim the long before the simulated engine would have liquidated it. Then switch to Live.
Launch App