Module rules
A module is a rule a maker signs into one order. The desk enforces it at fill time. Nothing global can switch it on or off.
Picked per order
Modules are fields of the signed order, each off when zero. The desk publishes the mask it enforces as SUPPORTED_MODULES, and the order form offers nothing outside that mask.
The five modules
| Module | Signed fields | A fill reverts when |
|---|---|---|
| Expiry window | startsAt, expiry | it is before the start or at or after the expiry |
| Price band | feed, bandLow, bandHigh, maxFeedAge | the feed fails, is too old, or reads outside the band |
| Taker allowlist | takerRoot | the taker has no valid proof |
| Size cap | maxFill | never: the fill is clamped to the cap |
| Maker fee | feeBps, feeRecipient | the recipient cannot receive; the share is capped at 10% |
The feed in a price band is whichever one the maker names, and the order page always shows its address. Read it before you fill.
The roster
OrbuModuleRoster is a public list of what each module does, and a set of signal values. Only the council can write to it. The desk never reads it, so retiring an entry changes what the site offers, not any signed order.
Read-only views
Pool activity and Liquidity strategy are screens over public pool data. They move nothing and have no contract behaviour.
