Thanks to visit codestin.com
Credit goes to github.com

Skip to content
@jincubator

jincubator

High Performance Solving and Market Making Infrastructure

Overview

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.

Solver Architecture Overview

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.

Core Design Principles

  1. Collectors → Strategies → Execution: Modular architecture with clear separation of concerns
  2. Real-time Processing: Live blockchain data streaming via Tycho protocol streams
  3. Capital Efficiency: Flash loan integration eliminates upfront capital requirements
  4. Multi-protocol Support: Uniswap V2, V3, V4 with extensible protocol framework
  5. Performance Optimization: Microsecond-level route evaluation and execution

System Architecture

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
Loading

Performance Statistics (Sep 2025)

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

Chain Stats

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

Additional Information

  • 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

Popular repositories Loading

  1. docs docs Public

    Jincubator Docs

    TypeScript

  2. .github .github Public

  3. the-compact the-compact Public

    Forked from Uniswap/the-compact

    The Compact is an ownerless ERC6909 contract that facilitates the formation and mediation of reusable resource locks.

    Solidity

  4. hookmate hookmate Public

    Forked from akshatmittal/hookmate

    Solidity

  5. tycho-simulation tycho-simulation Public

    Forked from propeller-heads/tycho-simulation

    Rust

  6. uhi5-Protocol uhi5-Protocol Public

    Original Scaffolding of Protocol for UHI5

    Solidity

Repositories

Showing 10 of 21 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…