VVEKTRA®DOCUMENTATIONOpen swap ↗
VEKTRA RESEARCH / 02

System architecture

A browser-built transaction, a read-only quote service and a public chain.

Implemented architecture

01The data path

The browser sends symbols, a decimal input and slippage to the quote route. The server validates input, selects a reference block, verifies configured contracts and examines direct pools. It returns structured observations, not arbitrary transaction bytes.

The browser parses the response, localizes timing without extending lifetime and builds payloads from local ABIs. Preparation and explicit review precede any wallet send. That final lane is currently paused.

  1. 01Browser inputs
  2. 02POST /api/quote
  3. 03RPC: factory → pool → QuoterV2
  4. 04Schema + local payload checks
  5. 05Preparation + review [paused]
  6. 06Wallet → receipt [paused]
Implementation flow. Wallet submission is currently paused.

02Trust boundaries

Server and browser rely on RPC correctness and availability. Code presence, metadata, pool identity and factory/WETH bindings reject configuration errors but do not prove audited bytecode or defeat a malicious RPC.

Viem encodes calls and transports RPC requests; Wagmi manages wallet state. The active integration uses an injected connector. No WalletConnect/Reown project, embedded signing service or remote custody service is configured. Optional wallet SDKs still exist in the dependency graph and need maintenance.

No private key is collected. An approval is an onchain permission; previous allowances can persist independently of this origin.

03Network and token registry

Native ETH uses a zero-address sentinel in application metadata, never an ERC-20 contract. Market routing normalizes ETH to WETH, then settles native input or output through the router.

ItemConfigured value
Chain / native currency4663 / ETH
RPChttps://rpc.mainnet.chain.robinhood.com
Explorerhttps://robinhoodchain.blockscout.com
ETHnative sentinel 0x0000000000000000000000000000000000000000 · 18 decimals
WETH0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73 · 18 decimals
USDG0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168 · 6 decimals
V3 factory0x1f7d7550B1b028f7571E69A784071F0205FD2EfA
QuoterV20x33e885eD0Ec9bF04EcfB19341582aADCb4c8A9E7
Active SwapRouter020xCaf681a66D020601342297493863E78C959E5cb2
Universal Router: not executed0x204FAca1764B154221e35c0d20aBb3c525710498

04Caching and clock domains

Quotes share in-flight work and cache for three seconds from request start, at most 100 entries with oldest eviction. Failed entries are removed. Contract configuration verification caches for sixty seconds and clears on failure. HTTP responses use Cache-Control: no-store; this is separate from the internal cache.

Browser requests debounce by 400 ms. Query stale time is five seconds, garbage collection sixty seconds and visible-page refetch twenty seconds. Refresh pauses during review or wallet work; no automatic query retry is configured. Browser and server wall clocks are not assumed synchronized.

05Deployment boundary

Next.js serves the interface, static documentation and two API routes on the existing Vercel project. There is no persistent backend database or deployed background worker.

Activity history is browser localStorage, capped at 100 entries per origin/device. It is not a canonical account index. Server RPC_URL may customize transport; credentials must not be shipped to browser configuration.

SOURCE-BASED SPECIFICATION / 26 OCT 2026
Public execution. Explicit limits. Wallet release not cleared.