CCA Bidding Mechanics
How bids work in Umia Continuous Clearing Auctions, and what cannot be changed once submitted.
This page explains the bidder-side mechanics of Umia's Continuous Clearing Auction (CCA), including the most important limitation:
Bids are committed funds. Once submitted, they cannot be edited, cancelled, or withdrawn until the auction exit phase.
Before you bid
Each bid uses:
maxPrice: the highest clearing price you acceptamount: how much quote currency (for current launches, usually USDC) you commit
In the Hub UI, you can typically choose between:
- Limit bid: you set a specific
maxPrice - Market bid: UI sets
maxPriceto the highest available level so your bid is priced as aggressively as possible
At submission time, the contract transfers your quote currency into escrow and records your bid.
submitBid(maxPrice, amount, owner, hookData)What submission does
When submitBid succeeds:
- Quote currency is transferred from your wallet to the auction contract immediately
- A bid record is created for your address
- Demand at your price level (tick) is updated
- You are now participating under your submitted
maxPriceandamount
Important limitations (by design)
After bidding, there are no pre-end functions to:
- Change your
maxPrice - Increase or decrease your bid amount
- Cancel your bid
- Withdraw funds early
These constraints reduce manipulation and keep auction demand committed while price discovery runs.
Market bid vs limit bid
Market bid (highest possible maxPrice)
Pros:
- Highest execution priority relative to lower-priced bids
- Better chance of being fully filled versus a low
maxPrice - Simpler when your main goal is getting allocation
Tradeoff:
- You accept any clearing price up to the top configured level for that auction
Limit bid (custom maxPrice)
Pros:
- Explicit price cap under your control
- Better fit when you have a strict maximum acceptable entry price
Tradeoff:
- Can be partially filled or unfilled if clearing moves above your limit
If your bid is below current clearing price
If market demand pushes the clearing price above your maxPrice, your existing bid is not immediately filled at that moment.
Your options are:
- Wait — your bid remains in place
- Submit another bid at a higher
maxPrice(new funds required) - Do nothing — if unfilled at auction end, funds are returned via exit flow
Exit phase (post-auction)
Settlement happens via exit functions once the auction reaches the appropriate stage.
exitBid
- If the auction does not graduate: full refund
- If the auction graduates and your bid is fillable: receive tokens + refund unused quote currency
exitPartiallyFilledBid
- Used for bids that end up partially filled around the clearing boundary
- Returns partial tokens and remaining refund amount
Fill behavior by price level
Bids above clearing price
- Generally fully filled before boundary-level pro-rata allocation
- Token outcome tracks your committed amount at executable levels
Bids at clearing price
- Shared pro-rata among all demand at that level
- This is where partial fills are most common
Bids below clearing price
- Not filled
- Refundable in exit phase
Why clearing behavior is monotonic during CCA
Because committed demand is not withdrawn mid-auction, clearing progression is designed to avoid downward manipulation from bid removals.
In practice this means participants should treat submitted bids as locked until settlement.
About tick spacing
CCA prices move in discrete steps (ticks), not arbitrary continuous values. That is why auction setup includes a tickSpacing parameter.
- Smaller tick spacing → finer price granularity
- Larger tick spacing → coarser price granularity
For creator-side guidance on selecting valid values and avoiding TickPriceNotAtBoundary() reverts, see: /docs/cca-tick-spacing.
Practical bidder checklist
Before submitting a bid:
- Confirm wallet has enough quote currency and allowance
- Choose a
maxPriceyou are comfortable with - Assume funds remain locked until exit
- If you may want higher exposure later, plan for additional separate bids
Related references
- Fundraising overview:
/docs/fundraising - Tick spacing guide:
/docs/cca-tick-spacing - Contract implementation:
ContinuousClearingAuction.sol