Overview

Eureka Builder provides a native intra-block loan facility. Searchers can borrow tokens from the builder's router contract at the start of a bundle and repay them within the same block — enabling capital-free execution of arbitrage, liquidations, and other strategies. There is no separate API: loans work transparently through the standard eth_sendBundle endpoint.

How It Works

  1. The searcher submits a bundle via eth_sendBundle containing a borrow() and allow() & repay() calls to the Eureka Router contract.

  2. All the relevant transactions must be exactly in the order they will be included in the block.

  3. If any of the transactions of a loan bundle fails, especially the repay() transaction - the entire bundle is dropped by the builder — the loan is always atomic.

Use Cases

  • JIT (Just-In-Time) Liquidity — borrow tokens to provide concentrated liquidity on a DEX pool right before a large pending swap, earn fees from the trade, then remove liquidity and repay — all without holding any capital upfront.

  • Sandwich Trading — borrow tokens to place transactions around a target trade in the mempool: buy before it executes to move the price, let the target trade go through, then sell at the higher price and repay the loan from the profit.

  • Single-Use Uniswap Pool Creation — borrow tokens to seed a temporary Uniswap pool for a single block, execute trades through it (e.g. to create a custom routing path that doesn't exist on-chain), then drain the pool and repay. Enables ephemeral liquidity venues that only need to exist for one transaction.

Router Contract

Address: 0xd122fcA8E283E7a4311C222D023Da8Df4EA1C0F9

// Borrow tokens. Pass an array of (token, amount) pairs.
function borrow((address token, uint256 amount)[] loans) external;

// Call at the end of your bundle to repay all borrowed tokens.
function repay() external;

Bundle Lifecycle

Constraints

  • The order of the transactions in the loan bundle is strict.

  • The bundle must include a repay() call — bundles without one are rejected.

  • All borrowed tokens must be returned in full inside the repay() call.

  • The repay() call will fail without the allowance for the loan amount in the token contract.

  • No fee is charged for the loan — the builder earns through the bundle's contribution to block value.

Loans use the standard order flow endpoint:

Method
Description

Submit a bundle containing borrow and repay calls

Last updated