Skip to main content

Evix

A customizable execution layer for on-chain trading — built for participants that care about execution quality, low latency, and reduced order flow exposure.


Why Evix

On-chain trading systems still face two structural problems:

Backend Dependency

Many aggregators and trading terminals rely on external infrastructure to generate routes or execute user flow. This introduces avoidable latency and exposes valuable order flow to third parties.

Stale Pricing

In most systems, the quote is generated before execution. By the time the transaction lands, the market may have moved and the result no longer reflects the best available path.

Evix is designed to eliminate both problems by making execution itself the center of the integration model.


Key Properties

Dedicated Deployments

Each customer receives an isolated Evix deployment per chain. No shared routers, no cross-customer exposure. Your execution environment is yours alone.

Minimal Interface

A single swap() function with six parameters. No routing complexity, no off-chain dependencies. Integrate in minutes, not weeks.

Execution-First Design

Execution happens on-chain with built-in deadline enforcement, slippage protection, and pair-level access control — all verified at the contract level.

Multi-SDK Support

First-class SDKs for TypeScript (viem) and Rust (alloy). Build and execute swaps from any environment.


How It Works


Who Is Evix For

AudienceUse Case
Execution-sensitive tradersHFT participants needing deterministic, low-latency execution
Privacy-conscious platformsTeams that don't want to expose order flow to third-party aggregators
MEV-aware integratorsProtocols seeking tighter execution control and reduced MEV leakage
Custom infrastructure teamsOrganizations needing deployment isolation and chain-specific tuning

Quick Example

import { EvixClient } from "@inductiv/evix-sdk";

const evix = new EvixClient({
chainId: 8453,
contractAddress: "0x...",
publicClient,
walletClient,
});

// Execute swap — integrator provides their own minAmountOut
const result = await evix.swap({
tokenIn: USDC,
tokenOut: WETH,
amountIn: 1_000_000n,
deadline: BigInt(Math.floor(Date.now() / 1000) + 120),
minAmountOut: 390_000_000_000_000n, // set by integrator
recipient: account.address,
});