Ethereum, directBase, in rounds

How it works

The mechanism in the order a Base round lives it, with the numbers written in the contracts and the fees measured on 2026-10-26. Then the known limits, stated plainly, and every address.

Pools A.1

1

ETH against PANTHA on Uniswap v4, on Ethereum. No other liquidity anywhere.

Supply A.1

1B

The whole billion went into the pool when it opened.

Round A.4

64

Berths in a Base round, closed when cheap, full or 30 minutes old.

Owner's cut A.2

1%

Of the ETH side of every swap, on both shores.

Part A The mechanism

From order to delivery

  1. A.1

    The one pool

    One Uniswap v4 pool, ETH against PANTHA, LP fee 0, tick spacing 60, with the Gyre as its hook. The Strand created it and filled it in the same transaction, once, at tick 207,240 (1.0003 ETH for the billion): the whole supply as one band from tick -887,220 up to the opening price, all PANTHA and no ETH. Buys walk the price down through that band; there is no other liquidity, and the hook refuses any later add.

  2. A.2

    The owner's 1%

    Every swap pays 1% of its ETH side to the owner: from the ETH paid in on a buy, from the ETH paid out on a sell, whether the swap names its input or its output. The cut rounds up to the wei and waits in the Gyre until anyone calls pay(). Base rounds pay the same 1% through the Trench, on what actually filled.

  3. A.3

    An order on Base

    buy(limit) with at least 0.0005 ETH, or sell(amount, limit) with at least 1 Base PANTHA, which is burned at once. The limit is a sqrt price in PANTHA per ETH (Q64.96): a buy's floor, a sell's ceiling. The Base desk works it out from the Ethereum pool's price now and the slippage you choose. Until its round closes, an order can be cancelled in full; its berth goes to the next order.

  4. A.4

    A round, and who closes it

    Orders gather in rounds of at most 64 berths. Anyone may close() a round when it is cheap (its cost at most 1% of its value, valued at the last round's price), when all 64 berths are live, or 30 minutes after its first order. Anyone may close(true), express, at any time: the closer then pays the whole cost and the orders pay nothing. The closer sends closeFee() plus at least postageFloor(): 0.001 ETH until a round has come home, then 1.2 times the last trip home's fee.

  5. A.5

    Away to Ethereum

    The round crosses as one Stargate taxi: the buys' ETH plus the postage, and one 32-byte word per berth (buy or sell, amount, limit). The compose on Ethereum is given 800,000 gas, plus 60,000 per live berth and 6,000 per berth word.

  6. A.6

    In the Trench

    In one transaction the Trench sells every sell order's PANTHA into the pool, tightest limit first, then buys for every buy order, tightest limit first, each stopping at its own limit. Each buy holds back 2% of its ETH first (none in an express round). The round's cost, both taxis and the closer's 0.00002 ETH tip, is shared by the orders in proportion to the ETH that filled, never more than 2% of it; an order that did not fill pays nothing. The owner's 1% goes to the Gyre.

  7. A.7

    Home to Base

    One taxi brings back every berth's outcome and all of the round's ETH, less the fee home; the compose on Base is given 200,000 gas plus 110,000 per berth. The Shoal mints Base PANTHA to buyers and pushes ETH to each order with 30,000 gas: buyers get PANTHA and any ETH that did not buy, sellers ETH and any PANTHA that did not sell. A push an address refuses is credited, and claim() pays it. The closer receives the rest: the orders' shares of the cost, the postage left over, and the tip.

  8. A.8

    Stranded, and resent

    If a round's ETH cannot pay the trip home and still carry what the orders are owed plus 0.00001 ETH, its outcome is parked in the Trench, whole. Anyone can send it on with resend(round), paying the fee home; the caller's change comes back. The Rounds log shows a Resend button on any parked round.

Part B Costs

What a round costs

ItemETH
Fee to Ethereum, a round of one berthabout 0.00123
Fee to Ethereum, a round of 64 berthsabout 0.00177
Fee home to Baseabout 0.00065
Closer's tip0.00002
Least buy (LEAST_BUY)0.0005
Postage floor before any round came home0.001

Stargate and LayerZero fees measured on 2026-10-26; they move with gas prices on both chains. The orders share the round's cost by the ETH that filled, each paying at most 2%; the closer carries anything past that. So a lone small order pays its 2% and leaves most of the round's cost to whoever closed it, which is why close() waits for a round to be cheap, full or 30 minutes old.

Read now from the Shoal

These readings appear here, from chain only, once the pool is open.

Part C Known limits

Stated plainly

  1. C.1The LP positionThe pool's one position is an NFT the owner holds. The owner can remove liquidity at any time; the hook does not stop it.
  2. C.2StargateEvery round rides on Stargate's native ETH pools on Base and Ethereum, and on LayerZero. A pause there pauses the rounds.
  3. C.3Rounds awayA round that has closed cannot be cancelled. If its trip home cannot be paid, it waits in the Trench until anyone calls resend.
  4. C.4Base PANTHABase PANTHA is backed 1:1 by PANTHA the Trench holds on Ethereum. Only the Shoal mints it, to a round's buyers, and burns it, from a seller. Base supply never exceeds what the Trench holds.
  5. C.51e12 wei stepsStargate moves ETH in steps of 1e12 wei. What does not fit a step stays in the Trench; payouts round down, and the rest of a round's ETH goes to its closer.
  6. C.6Inside your limitNobody can push an order past its own limit, the owner included. Inside it, an order is exposed like any swap, and the round's price is set by the orders filled before it.
  7. C.7ETH pushesETH is pushed to an order's address with 30,000 gas. An address that refuses it is credited instead and must call claim().
  8. C.8The Uniswap appThe Uniswap app cannot route this pool, because the hook takes its cut through return deltas. Use the Trade on Ethereum page, or any router that calls the v4 pool directly.
  9. C.9Price limits on EthereumA swap that names its ETH and stops at its own price limit before filling reverts (PartialFill), since its 1% was taken on the full amount. The Trade on Ethereum page sets no price limit, only a least amount out, so it never meets this.
  10. C.10TimingA Base round takes the round's wait plus two crossings. Prices can move while it is away; your limit is what protects you.

Part D Addresses

Every contract