Here you'll find work on Solving, Arbitrage and Indexing using Tycho, Intents using ERC-7683, EIP-712, Compactx and Uniswap V4 Hooks. As of July 2025 I use jincubator for research and development of prototypes.
The solver system can evaluate over 1000 routes per second and implements a sophisticated arbitrage bot capable of generating profit with no upfront capital through flash loan-based execution. The architecture follows a streaming-first approach that processes real-time blockchain data to identify and execute profitable arbitrage opportunities.
- Collectors → Strategies → Execution: Modular architecture with clear separation of concerns
- Real-time Processing: Live blockchain data streaming via Tycho protocol streams
- Capital Efficiency: Flash loan integration eliminates upfront capital requirements
- Multi-protocol Support: Uniswap V2, V3, V4 with extensible protocol framework
- Performance Optimization: Microsecond-level route evaluation and execution
graph TB
subgraph "External Data Sources"
TYCHO[Tycho Protocol Streams]
RPC[Blockchain RPC]
API[Tycho API]
end
subgraph "solver_core (Pure Logic)"
TYPES[Domain Types]
TRAITS[Interfaces/Traits]
MATH[FixedPoint Math]
PROTOCOL[Protocol Models]
end
subgraph "solver_driver (Runtime)"
subgraph "Data Collection"
STREAMING[Streaming Engine]
COLLECTORS[Data Collectors]
STORE[Pool Store]
end
subgraph "Processing Pipeline"
GRAPH[Graph Manager]
ROUTES[Route Manager]
ANALYZER[Route Analyzer]
end
subgraph "Execution Pipeline"
ENCODER[Solution Encoder]
EXECUTOR[Execution Engine]
SENDER[Transaction Sender]
end
subgraph "Persistence"
DB[RocksDB]
CACHE[Memory Cache]
end
end
subgraph "Smart Contracts"
ROUTER[FlashV3Router]
POOLS[DEX Pools]
end
subgraph "CLI Tools"
ARBITRAGER[Arbitrager]
ROUTE_EXEC[Route Executor]
TYCHO_CLI[Tycho CLI]
end
%% Data Flow
TYCHO --> STREAMING
RPC --> COLLECTORS
API --> COLLECTORS
STREAMING --> STORE
STORE --> GRAPH
GRAPH --> ROUTES
ROUTES --> ANALYZER
ANALYZER --> ENCODER
ENCODER --> EXECUTOR
EXECUTOR --> SENDER
STORE --> DB
ROUTES --> DB
GRAPH --> DB
SENDER --> ROUTER
ROUTER --> POOLS
ARBITRAGER --> STREAMING
ROUTE_EXEC --> ANALYZER
TYCHO_CLI --> DB
%% Core Dependencies
TYPES --> STREAMING
TRAITS --> ANALYZER
MATH --> ANALYZER
PROTOCOL --> STORE
Below shows the route evaluation (and execution) capabilities of over 1000 routes per second, run on a small, relatively slow mini pc. This is a summary of several runs executed on multiple chains over a total of 51 and a half minutes.
| 📊 Statistic | Value |
|---|---|
| Total Routes Evaluated | 182,746 |
| Peak Routes/sec | 1,146 |
| Current Routes/sec (last run) | 1,069 |
| Average Route Eval Time (µs) | 424 |
| DB Throughput (ops/sec) | 0 |
| Memory Usage (MB) | 657 |
| Batch Size (last run) | 1 |
| Execution Success Rate (%) | 100 |
| Metrics Capture Duration (s) | 3,090 |
Following are the chains we used for our evaluation, testing multiple chains, hop sizes and protocols to give a well balanced analysis.
| 📊 Statistic | Base | Ethereum | Unichain |
|---|---|---|---|
| Routes Total | 85,986 | 33,226 | 24,600 |
| Graph Edges (Pools) | 5,338 | 4,276 | 114 |
| Graph Nodes (Tokens) | 2,477 | 1,593 | 33 |
| Total Tokens | 26,061 | 11,824 | 15,300 |
| TVL | 1 | 50 | 1 |
| Hops | 4 | 3 | 5 |
| Protocols | 2 | 7 | 3 |
Note run on Sep 26th 2025 Routes: Represent how many cyclical routes we created (e.g. A -> B -> C -> A) Graph Edges (Pools) the number of pools we are selecting based on TVL and protocol filtering Graph Nodes (Tokens) the number of tokens associated with the selected pools TVL is in ETH and indicates the minimum TVL for the pools we selected Hops How many hops in the route we create. Currently, we support 2 to 5 hop routes. For prototyping, we used different hops for experimentation all chains support up to 5 hops. Protocols The number of protocols we extracted see Tycho Supported Protocols
Note this was run on a Small Computer Linux, AMD Ryzen 7 5700u (8C/16T,up to 4.3 GHz), Mini PC Gamer 64GB DDR4 RAM 2TB PCIe SSD, Mini Desktop Supports 4K@60Hz/Triple Display/WiFi/BT5.0/HDMI+DP+Type C/Home/Office
- github: Johns github profile
- johnwhitton.com: All about John, his work, writing, research etc.
- Uniswap v4: Completed exercises and references for the Uniswap Hook Incubator