VEX engineering update: 0.2.10 + 0.2.11 + 0.2.12
What we shipped. 5 PRs · 26 commits.
Across these three releases, we added Arc mainnet support, improved Superboard key linking and rotation, redesigned approval cards, aligned Lighter with session permissions and fixed missing Lighter activity reporting.
v0.2.10 — Arc mainnet
1 pull request · 9 commits
• Trading and bridging. Added Arc mainnet, chain ID 5042, with Uniswap v4 and KyberSwap trading. Pool addresses were verified on-chain. Relay bridging is offered only while Relay’s live endpoint reports support for Arc.
• Native USDC handling. Arc uses USDC as its native gas asset, with native and ERC-20 interfaces and no separate wrapper. Swap execution resolves the native leg directly to the ERC-20 interface and rejects wrap or unwrap operations on Arc.
• Balances and pricing. Added Blockscout token indexing, valued native USDC at $1 and excluded its duplicate ERC-20 representation from holdings. Previously synced duplicates repair themselves on the next sync. Chains without an indexer now complete synchronization without an unfixable connection warning.
• RPC resilience. Added three verified read endpoints from drpc, Blockdaemon and QuickNode. The official endpoint remains the sole endpoint for signed transaction broadcasts.
• Chain identity and agent guidance. Added Arc’s official icon, readable chain labels and explorer links for completed trades. Agent instructions now explain native USDC and warn about tokens using recognizable tickers without being the expected asset.
• Upgrade behavior. No new database migration or manual action is required.
v0.2.11 — Superboard keys
1 pull request · 3 commits
• Structured link status. Replaced the generic link failure with specific outcomes for refused keys, timeouts, connectivity failures, redirects, rate limits and unavailable AgentScan connections. Network failures are classified from runtime errors rather than message text.
• Local diagnostics. Failed links show sanitized detail, a timestamp and a reference ID matching the local log. The key itself is excluded from both.
• Retry and copy controls. Retry immediately attempts the link again. Copy becomes available as soon as a key exists. Refused keys and lost identities wait for an explicit retry; network and server failures respect the server’s retry interval, defaulting to thirty seconds. Opening Settings no longer resends a refused bind.
• Key rotation. Added Generate new key when AgentScan advertises support. Confirmation explains that linking the replacement invalidates the current Superboard key. The replacement is saved locally before submission, and retries reuse it until the server acknowledges the rotation.
• AgentScan server changes. The separately deployed server implementation replaces keys atomically with ownership and previous-key checks. Bind and partner-read logs distinguish failure causes without recording keys, hashes or identities. Malformed requests return 400 and unsupported content types return 415.
• Upgrade behavior and limits. Migration 163 runs automatically. AgentScan traffic still does not use the system proxy or operating system certificate store, so corporate proxies and TLS-inspecting software can still prevent linking. Diagnostics remain local; user-submitted diagnostic reporting is not included.
v0.2.12 — Approvals and Lighter
3 pull requests · 14 commits
• Stable approval cards. Pending cards now retain an opaque, sticky header while their details scroll. The transcript, composer and sidebar dim and blur while remaining accessible. The approval region can grow to 75% of the window without pushing the composer off screen.
• Focused transaction details. Lighter withdrawal cards now show eight review fields instead of thirty-five, including balance, open positions and claim availability. Deposit cards disclose any separate token allowance, and claim cards show the recipient, network, amount and network fee ceiling. Execution fields remain bound and re-verified even when omitted from the card.
• Full access on Lighter. Full access sessions now execute order creation, including OCO, cancellation, modification, cancel-all, position closing, deposits, withdrawals, claims, key registration and fee authorization without per-call approval. Restricted sessions continue to require approval for every operation.
• Execution checks and audit records. Intent expiry and prepared-intent requirements remain enforced under both permission modes. Automatic decisions are recorded as auto-approvals. Fixed a fee-authorization comparison that would have rejected legitimate Full access execution.
• Lighter activity reporting. Fixed an outdated reporting-state default that prevented affected installs linked from 0.2.8 onward from queuing Lighter fills and funding activity. Migration 164 updates the default and advances affected installs. Their Lighter history begins reporting on the first reporting tick after updating.
• Upgrade behavior. Migration 164 runs automatically. Recovered history is labeled as live activity because the backfill marker had already been consumed. Users who require a confirmation card for Lighter operations should create Restricted sessions.
Arc · Superboard keys · Approval cards · Lighter
VEX engineering update: 0.2.8 + 0.2.9
Across these two releases, we shipped the Studio workspace, Lighter trading, launchpad integrations, Uniswap v4 support, changes to transaction execution, portfolio accounting, mission recovery and activity reporting.
For v0.2.8, we merged 58 pull requests and 793 commits after 0.2.7. Here is the implementation breakdown.
• Studio workspace. Completed the desktop interface on top of the foundations shipped in 0.2.7: runtime selection from the welcome screen, a project rail with permission and configuration-drift indicators, up to four mounted workspaces, an explicit close dialog and MCP host status. Added teardown ownership for all three renderer registries.
• Studio’s MCP integration. The desktop hosts a local server, reached through the bundled Go-based vex-mcp stdio bridge. Connections use Unix sockets or Windows named pipes and require VEX to be running and unlocked. Wallet selection and permissions belong to each project and are checked on every call. Restricted projects require approval for fund-moving actions; Full access allows execution without per-call approval. Changing scope invalidates pending actions.
• Coding-agent configuration. Studio provides project configuration writers for 13 clients, including Claude Code, Codex CLI, Gemini CLI and Cursor. The installer preserves unrelated configuration, detects changes to managed content and does not grant client-side tool authority. Project instructions, a protocol map and tool descriptions accompany the configuration. The full architecture and approval behavior are documented in the Studio docs.
• Terminal clipboard and links. Implemented copy, paste, context-menu operations and OSC 52 through typed main-process IPC while retaining deny-all session permission handlers. Image clipboard input reaches the running terminal program; copied files become quoted paths. Drag-and-drop accepts up to 32 shell-quoted paths without executing them. External links require consent through expiring, single-use proposals with URL validation repeated when answered.
• File explorer and watching. Added the explorer, viewer and explicit platform watcher backends for Windows, inotify and fs-events. Removed the implicit Watchman probe and normalized directory-deletion reporting across platforms.
• Terminal process cleanup. PTY hosts now track parent-process identity and liveness. Windows terminal trees are terminated during cleanup, and startup collects orphaned hosts from earlier runs. Project-deletion errors identify the blocking process; the retry action only closes revalidated processes owned by VEX.
• Error recovery. Added root and per-workspace error boundaries with Retry. Window errors and workspace-restore failures leave sanitized local logs before any consent-dependent telemetry forwarding. Failed project opens now expose a recovery interface.
• Theme and accessibility changes. Added opaque terminal backgrounds, raised xterm’s minimum contrast setting to 4.5, introduced six Settings icons and made FULL ACCESS a text label. Contrast tests use the actual painted backgrounds. Dim text on white still measures 3.49:1 at 50% opacity.
• Terminal environment handling. VEX configuration variables and Electron process variables are stripped before launching the shell. Wallet and provider credentials remain in the VEX vault. The terminal still inherits the user’s own shell environment.
• Lighter integration. Added perpetual and spot trading on Lighter Core and Robinhood Chain, including onboarding, deposits, funding, managed trading keys, withdrawals and a dedicated desktop workspace. The protocol is also accessible through Studio.
• Order execution lifecycle. Added durable state for previews, execution intents, submission, provider outcomes and validation immediately before submission. Supported order types include stop loss, take profit, OCO and trigger-limit orders.
• Leverage and capital controls. Added per-market leverage settings and a user-defined share of collateral available to the agent. Leverage changes are signed locally, submitted once and verified against the exchange transaction record. Capital checks run before signing and include the approved worst-case buy price plus exchange and VEX fees. Reduce-only orders and spot sells are exempt. Agents can read these settings but cannot change them.
• Lighter consent and cancellation. Consent expiry is checked after nonce acquisition, immediately before signing and again before submission. Expired proposals return typed unsubmitted outcomes while retaining signing evidence. Vault locking, shutdown and project-scope changes now reach the executor as cancellation signals.
• Deposit and withdrawal evidence. Deposit and fee preflights, transaction identity and deposit evidence are persisted before execution. Withdrawals have a separate lifecycle, a manual claim path and a predicted execution timestamp.
• Lighter fee authorization and tool metadata. Authorization cards disclose the 10 bps perpetual and 25 bps spot integrator fees, maker/taker treatment, account-tier economics, reversibility, cooldown and duration. Deposit cards disclose network fees without promising an unsupported numerical ceiling. Tool hints now match handler behavior, wire codes are tested against pinned SDK constants, and Studio admission failures use typed reasons.
• Shared launchpad infrastructure. Added a launchpads namespace and a shared image locker. Published images use content addressing, with CID verification against fetched bytes. In-app calls use image IDs; Studio reads project-local paths through a reader that refuses symlink traversal. Inputs belonging to the other interface are explicitly rejected.
• https://t.co/zqBwi8qxwj. Added V1/V2/V3 suite detection, typed detection results, a 15-check launch verifier, simulation-only execution and settlement decoding for each suite. Holder-reward claims and distributions resolve their distributor and mode from deployer events, calculate earnings at a pinned block and verify claim calldata against the provider’s preparation endpoint. Holder rewards carry no VEX fee.
• Virtuals trading. Added BondingV5 trades through FRouterV3 on Base and Robinhood Chain. Proxy implementations are pinned and checked again before signing, and curve calculations use integer arithmetic derived from the contracts. Trading during the anti-sniper window requires explicit acceptance. Graduated agents and unsupported trading paths receive typed hand-offs. The 25 bps VEX fee is collected only after a successful trade.
• Virtuals market data. Added server-side screening with approximately 45 filters and 26 sorts, trade history, creator-fee information and explicit reasons when claiming through VEX is unavailable. Candles cover graduated pools through GeckoTerminal, bonding agents on Base and Solana through trade history, and Robinhood Chain bonding markets through onchain Swap logs.
• Launchpad activity and tool discovery. Added AgentScan activity roles for creator-fee claims, holder-reward claims, reward distributions and launch cancellations. VEX fees appear under their parent action, including pending and failed attempts. Attestation results are written only after server-side verification. Expanded protocol coverage and added retrieval measurements per namespace.
• Approval-bound swap execution. Persisted route snapshots now carry a digest and can be claimed once. Approval envelopes bind the snapshot, minimum output and expiry. The final transaction is revalidated before signing on every signing path. Replayed, superseded, expired, altered or unbound approvals produce explicit refusals.
• Balance, gas and fee checks. Quotes distinguish insufficient balance, insufficient gas reserve and unreadable balances. Unreadable state blocks execution. Approved snapshots bind the transaction set and gas-price ceilings; changed transaction legs, fee-market failures and approval-card mismatches are rejected before signing. Approved VEX fees are preserved through execution, and bridge fee mismatches return typed failures.
• Bridge approval plans. Provider token-approval steps must already belong to the approved execution plan. Attribution referrers are sent only when the corresponding API key is configured.
• Native wrapping and balance representation. Added exact 1:1 native/wrapped-native conversion across a verified eight-chain registry, using locally generated calldata, durable intents and no VEX fee. Balance responses now include exact human-readable amounts alongside atomic values. Unknown prices remain null, decimals are not guessed, and inventory completeness is reported separately from valuation completeness.
• Router fallback behavior. KyberSwap remains the default router. Failures caused by regional restrictions, edge blocking, missing coverage or invalid quotes now identify direct Uniswap as an alternative. Agent guidance also covers explicit user requests to switch venues. Direct Uniswap remains preferred on Robinhood Chain.
• Uniswap v4. Added quoting and execution alongside V2 and V3 on Robinhood Chain, Ethereum, Base, Arbitrum, Optimism, Polygon and BNB Chain. Execution uses UniversalRouter and transaction-based Permit2 allowances. Routes are single-hop, with no mixing of versions within one call.
• v4 pool discovery. Hookless discovery probes four canonical fee/tick-spacing combinations and validates pool-key/hash bindings against PositionManager. Hooked pools are discovered through DexScreener. Unindexed hooked pools and nonstandard keys can remain undiscovered; those limits are reported explicitly.
• Execution amount evidence. Native input supported only by a balance-derived lower bound is labeled accordingly. Unproven hooked native output stays null even when the swap confirms. Fee calculation is capped by the supported input amount, and missing evidence prevents fee collection.
• Gas-price tolerance. Added 15% headroom over the observed gas-price estimate, established before approval and included in the digest. Existing quotes receive no extra margin during execution. Price increases beyond the approved ceiling require a new quote and approval.
• Execution performance and failures. Reused the existing route instead of repeating discovery, removed redundant preparation reads and shared the RPC budget between quote and execution clients. Slippage failures report the measured shortfall; USD reference prices are obtained independently of the aggregator. Exhausted RPC sets return typed failures, nonce leases prevent refused legs from blocking subsequent transactions, and receipt waits are bounded.
• Portfolio snapshots. Snapshots now publish during bridge transfers and represent funds in transit with their role, amount, asset, age, optional valuation and resolution status. Unresolved entries remain visible without being added to portfolio totals.
• Partial and cached portfolio data. Persisted read status per wallet and chain, including when data became stale and why. Manual refresh can report partial results. Failed groups are deferred for at most three cycles before publishing as partial. P&L comparisons involving partial snapshots return null.
• Solana and explorer configuration. Replaced the failing default Solana balance endpoint while preserving user overrides. Errors identify the endpoint host. Added per-chain Blockscout base-URL overrides alongside RPC configuration.
• Bridge verification and logging. Bridge verification tries all trusted RPC endpoints and identifies individual refusals. Provider RPC connections use DNS pinning and per-leg deadlines. Engine events are no longer duplicated; repeated informational messages are summarized with suppression counts. Log sanitization preserves counters while filtering sensitive keys and value patterns.
• Mission execution. Extended the turn wall-clock limit from 10 to 30 minutes. Successfully continued autonomous turns now report that they are waiting for their next wake. Loop detection considers tool results, provides a corrective cue on the first repetition and stops on the second.
• Mission recovery and controls. Added recurring recovery of missions left running after crashes, using a running-only compare-and-set. Recovery claims the run before cancelling its wake and checks money state before retrying. Composer and desk activity now share running/sleeping state and wake times, with restored steering, one owner for the stop control and typed interruption outcomes.
• Superboard share tokens. Added local generation of a share token shown once for copying. Only its SHA-256 is sent to AgentScan; the ingest credential is not used as ownership proof. Token generation is one-time and rotation is not implemented. Credit to BerzanTas for the design and implementation in PR #173; token-body and pending-copy follow-ups landed in #184.
• Model-stream recovery. Empty OpenRouter streams now trigger failover after a bounded initial interval instead of leaving the turn hanging.
• Dependencies and packaging. Updated Sentry Electron to 7.18 and electron-log to 5.4.4, refreshed Electron fuses and added a production dependency audit gate with overrides. Pinned electron-updater’s js-yaml dependency to 4.3.2 for GHSA-2883-xcg3-v3hh.
• Startup and instructions. Studio initialization and registration now wait for database readiness. Readiness is committed after draining and is never published during teardown. Studio agents receive an inline protocol map, and instruction and consent wording has been aligned with actual tool behavior.
• Upgrade behavior. The release includes 64 automatic migrations, moving schema 094 to 161; the first launch takes longer. Building the bridge from a checkout requires Go 1.27.0. Lighter leverage remains at the exchange’s documented 2x default until changed, and the agent has no capital ceiling until the user saves one.
For v0.2.9, another 2 pull requests and 10 commits focused on Lighter history and ledger correctness.
• Local trading history. AgentScan inside VEX Settings and Studio Activity now merges Lighter fills with swaps and bridges chronologically. Perpetual entries distinguish opening, increasing, reducing, closing and flipping a position; spot fills have their own classification. Details include execution amounts, prices, settled notional, pre-fill position data, realized PnL, fees and order/trade/intent identifiers.
• Fee provenance. Proven charges retain their original asset and are distinguished from estimates. Estimates retain their calculation basis and are never added to the proven charge or substituted for it. Unknown charges are not displayed as zero, and exchange rebates are identified as rebates.
• Position snapshots. Perpetual fills show the latest observed position with its observation time, including size, entry price, PnL, liquidation price and recorded margin terms. Closed positions and unreadable observations are explicitly identified. Spot fills show neither leverage nor perpetual-position data.
• Activity attribution. Venue-triggered liquidations, deleveraging and settlements receive explicit labels. History is scoped to onboarded wallet accounts and fills attributed to VEX orders; unattributed observations are held back. Added Lighter-specific activity filters.
• Historical leverage. Persisted the venue’s initial margin fraction from before each fill. Invalid or missing values remain unknown without preventing the fill from being recorded. Older records can be enriched by later observations of the same trade. Position observations also retain initial margin fraction and cross/isolated mode; the AgentScan delivery contract remains unchanged and is covered by a test.
• Concurrent ledger writes. Fixed the conflict handling between order follow-up reads and account-stream observations of the same fill. Both fill identities now participate in duplicate handling. Existing records resolve as already stored, while observations that add information are counted as enrichment rather than failed writes.
• Privacy navigation. Corrected the privacy links in Superboard settings and the setup wizard. The desktop external-link allowlist now includes the exact documentation address.
• Public AgentScan delivery. A separate server-routing correction was submitted alongside this release. The release notes make delivery conditional on that deployment: held Lighter fills and position observations can resume on their next delivery attempt once the server capability check succeeds.
• Database update. Schema 161 moves to 162 automatically on first launch. No manual migration is required.
Your trading style is about to change 🟦
It doesn't sleep.
It doesn't panic.
It doesn't miss the setup.
VEX is teaming up with @Lighter_xyz to bring agentic
execution to perp trading.
From trading positions to autonomous execution.
Light it up 🕯️
9/
Also in 0.2.7: @solana balances straight from RPC (SPL and Token-2022) with one pricing rule everywhere (stablecoin or wrapped-native pools only, $1k liquidity floor, deepest pool wins), the same rule as price fallback on 16 EVM chains, two themes, every validation refusal now says exactly why, a 25 bps lane on generic EVM transactions printed on every approval card, the VEX badge on https://t.co/zqBwi8qxwj launches, and a first look at Vex Studio.
11 migrations run automatically on first start. Self-custodial, real funds, every fund-moving call waits for your approval.
https://t.co/1vEKH0SqGS
VEX 0.2.7 is live.
18 new @dexscreener tools for the agent, 74 chains, candles down to 1 second, the full trade tape, trader leaderboards per pool, token safety reports, narratives, launchpad curves and paid boosts.
Plus a visual Board with real candlesticks, so the agent shows the analysis instead of describing it.
Downloads for macOS, Windows and Linux, full notes: https://t.co/1vEKH0SqGS
What each tool does, and the prompts that use them, below.
8/
X research: TwitterAccount is a read-only reader with 13 actions (tweet_search, user_timeline, user_details, tweet_details, tweet_replies, tweet_likers, tweet_retweeters, user_search, user_replies, user_followers, user_following, space_details, account_status). It never posts, likes or follows.
An unfiltered cashtag sweep measured mostly spam (15 of 19 rows with zero likes, reposts and replies), so the agent searches with a likes floor and a recent window, then checks whether the account behind a signal has the audience to matter. Post text, names and bios are untrusted, and no address found in a post is acted on without independent verification.
Rules baked into every tool: they read, they never execute. An executable price comes only from a fresh venue quote. Every answer carries provenance: which transport served it, when, whether from cache. Nothing readable is trimmed without saying so. A missing block reads unavailable, never clean.
15/ Engineering, for the curious:
11,474 root and 4,855 app tests. Test-type ratchet 220 to 0, unsafe escapes 143 to 0, no suppressions. Nine oversized modules split along responsibility seams.
Full notes: https://t.co/glCnUeBcL7
Chronos is out.
v0.2.0 through v0.2.5. Six releases, 160 commits, 31 migrations, nineteen days.
One theme runs through all of it: Vex stops guessing and starts proving.
Here is what actually shipped.
VEX has entered the Chronos era. VEX 0.2 Chronos 🟦
biggest upgrade yet, rebuilt for faster execution, longer-running missions, and greater reliability.
Chronos moves from intent to execution with fewer wasted steps, keeps long-running missions on track, and remains reliable when providers fail or transaction states become uncertain.
Less waiting.
Zero broken execution loops.
More work completed autonomously.
VEX Economy engine.
This is VEX at machine speed live on @RobinhoodApp , @solana , @arbitrum and every chain.
Now available on Windows, Mac, Linux
14/ Vex on Windows: signed as VEX LABS PTE. LTD. through Azure Trusted Signing, RFC3161 timestamped, publisher verified before an update installs.
The pipeline fails closed. An unsigned build cannot be published.