PolyFrog

Uniswap's CCA

How the Continuous Clearing Auction works.

PolyFrog settles against Uniswap’s Continuous Clearing Auction, the engine behind the Crowd Launch on Robinhood Chain. Understanding it is understanding what you are betting on.

The shape of an auction

A creator deposits a supply of tokens and sets a window, a floor price and a required raise. Bidders submit a maximum price and an amount. Supply is released across the window on a schedule, and a single clearing price rises as demand stacks up. Everyone who clears pays the same final price.

On the auctions this site has indexed, the usual configuration offers 500 million tokens — half of a one billion supply — with the other half and the proceeds destined for post-launch liquidity.

Bids are weighted by time

A bid accrues its fill across the blocks it is exposed for. Arriving early means being present for more of the supply schedule. This is the auction’s own defence against last-second bundling, and it is the idea PolyFrog borrows for its own weighting.

Checkpoints

The auction does not recompute continuously. It writes a checkpoint — clearing price, cumulative supply released, currency raised — when someone interacts with it. Submitting a bid checkpoints. So does anyone calling checkpoint() directly, which is permissionless.

This matters enormously for a market built on top: between checkpoints, the auction’s reported state can lag reality. PolyFrog therefore forces a checkpoint before it reads anything it intends to act on.

Ending

If the auction reaches its required raise, it graduates:

  • the proceeds and remaining supply are handed to the LBP strategy, which opens the pool;
  • bidders claim their tokens at the final clearing price;
  • anyone who bid above the clearing price gets the difference back.

If it does not reach the threshold, every bid is refundable in full and no pool is created.

Blocks, not clocks

Every deadline in the auction is a block number, not a timestamp. Robinhood Chain produces roughly ten blocks a second, so a four-hour Crowd Launch is about 144,000 blocks. PolyFrog uses block numbers for the same reason: they are what the auction enforces.