Skip to content

Bell in--:--:--

How Regent works

Start here · 03 / 19Preview · not deployed

How Regent works

The five-part mechanism from auction to fail-safe.

Regent turns the scheduled loss described in The problem into a product. Each pool has one seat. The seat is sold before every session to the highest bidder, the bid is paid upfront, and it streams to the LPs while the session runs. The mechanism has five parts. Each one has its own page; this page shows how they fit.

Auctionbefore the session1Upfront paymentescrowed in full2Rent streamper second to LPs3Seat rightsfee-free, fee, bell4DutiesDAY: track the oracle5next session
The loop repeats for every session of every pool. If the seat is unsold, the pool simply runs as a plain v4 pool.

One seat per pool per session#

The trading week is divided into five sessions on the NYSE calendar, in Eastern Time: OPEN (09:30 to 10:00), DAY (10:00 to 16:00), POST (16:00 to 20:00), NIGHT (20:00 to 09:30) and WEEKEND (Fri 20:00 to Mon 09:30). Sessions tile time with no gaps. See Sessions and the calendar.

Before each session, the seat for that pool goes to an open ascending (English) auction in USDG:

  • every raise must beat the standing bid by at least +5%,
  • a bid in the last 60 s extends the auction by 60 s,
  • nothing extends past the hard close, 2 min before the session starts,
  • the reserve price is 50% of the median of the last 10 winning bids for that session type.

Bidders must lock a $RGNT bond sized by pool tier before they can bid: no bond, no bid. The full rules and a worked endgame are in The seat auction.

The winner pays upfront#

The winner does not owe rent. The winner has already paid it. The full amount of the winning bid is escrowed before the session starts.

Of that escrow, 10% is the protocol cut and the remaining 90% streams second by second to in-range LPs through Uniswap v4 donate(), for the whole session. Because the money is in escrow before the first second, there is no credit, no default and no liquidation anywhere in the design. LPs know their income for the session before it starts.

One rule protects the stream: liquidity removed less than 30 min after being added forfeits its accrued rent back to the pool. Details in Rent streaming and anti-JIT.

Winning bidUSDG, paid upfrontRentStreamescrow90% to in-range LPsper second, via v4 donate()10% cutprotocol50% buy & burn30% stakers (USDG)20% treasury
The regent escrows 100% of the bid upfront. 90% streams to in-range LPs through donate(); 10% is the protocol cut.

Seat rights#

For the session, the regent gets four things.

RightWhat it means
Fee-free swapsThe regent swaps at 0% LP fee through a registered executor contract.
Fee settingThe regent sets the swap fee for everyone else inside capped bounds: DAY 0.05% to 0.50%, OPEN up to 1.00%, NIGHT and WEEKEND up to 2.00%.
Fee collectionThe regent collects those swap fees.
The bell windowFor the first 20 seconds of OPEN, and of any halt resumption, only the regent can swap.

The bell window is what makes the OPEN seat valuable. The gap that used to go to the fastest bot goes to the regent, who paid the LPs for it in advance. See Seat rights.

Seat duties#

The seat comes with an obligation modeled on a designated market maker. During DAY, when the Chainlink tokenized-equity feed is fresh and market status is open, the pool price must stay within ±max(current fee, 0.30%) of the oracle.

More than 60 s outside the band is a breach. The regent's $RGNT bond is slashed per breach-second, and the slash is split 50% to LPs, 10% to whoever called poke(), and 40% burned.

There are no duties off-hours. When the stock market is closed there is no reference price, and the protocol does not pretend otherwise. See Seat duties and slashing.

Fail-safe#

If a session's seat is unsold, which means nobody met the reserve, the pool behaves like a normal v4 pool: a default fee paid to LPs, and no bell window. If a regent wins the seat and then does nothing, the bid is simply wasted and the LPs keep the rent.

Either way, the worst case for LPs is the status quo. See Fail-safe behavior.

Life of one session#

Follow one OPEN seat for one pool on an ordinary trading day. All times are Eastern Time.

  1. The auction opens. In the preview, bidding for a session opens at the start of the preceding session, so the OPEN seat goes on sale at 20:00 the evening before. This timing is a preview assumption.
  2. Bids come in. Bonded bidders raise each other by at least +5%. The opening bid must meet the public reserve. Each bid is backed by escrowed USDG, and an outbid bidder gets that escrow back.
  3. Anti-snipe. The scheduled close is 10 min before the session (also a preview assumption). A bid in the last 60 s before the close pushes the close back by 60 s.
  4. Hard close. Extensions stop 2 min before 09:30. The standing bid wins. If there is no bid, the seat is unsold and the fail-safe applies.
  5. Escrow. The winner's full bid is already in escrow. 10% is set aside as the protocol cut. 90% becomes the session's rent, at a known rate per second.
  6. The bell window. At 09:30 the session starts. For the first 20 seconds, only the regent's registered executor can swap. The regent closes the overnight gap at 0% LP fee.
  7. Streaming. From the first second to the last, rent streams to in-range LPs. After the bell window, everyone else trades at the fee the regent has set inside the OPEN bounds, and the regent collects that fee.
  8. Duties. None during OPEN. Duties apply during DAY, whose seat was sold in its own auction, possibly to a different regent.
  9. Session end. At 10:00 the stream has paid out in full and the seat expires. The DAY regent takes over, or the fail-safe does.

If the stock is halted mid-session, duties are suspended, the fee cap is raised, and a new bell window opens on resumption. If the sequencer goes down, unstreamed rent is refunded pro rata. Both cases are covered in Edge cases and attack surface.

Where the money goes#

FlowFromTo
Winning bid, 90%The regent, upfrontIn-range LPs, streamed per second
Winning bid, 10%The regent, upfrontProtocol: 50% buy and burn, 30% to stakers in USDG, 20% treasury
Swap fees during the sessionOther tradersThe regent
Swap fees in a fail-safe sessionTradersLPs, as in any v4 pool
Slashed bondThe regent in breach50% LPs, 10% the poke() caller, 40% burned

The $RGNT token that the bond, the burn and staking refer to is not live. There is no contract address. See The $RGNT token.

What is planned on-chain#

Seven contracts are planned and none is deployed: SeatHook, SessionClock, SeatAuction, RentStream, BondRegistry, DutyMonitor and StakingVault. A Uniswap v4 hook is fixed at pool creation, so Regent pools would be new pools that have to attract liquidity; the pitch to LPs is rent paid in advance. Architecture and contracts has the draft interfaces.