Brand / style guide & digital assets: $80K - unsure what this is, personally cannot vote for 80k brand guidelines as a single, high-level line item, regardless of rest of proposal, gl
personally not keen on putting in ID #11
+ not sure if there is issue with giving out the nouns that haven't sold, feel like duna admins mentioned some tax implications there vs using nouns from the forks.
other than that looks good to me if the manager contract is secure glhf
# WALL
One new wall-coloured glasses trait

## What this does
- Calls `addGlasses` on the Nouns descriptor to add a single new glasses trait.
- (brick-red)/`#C54E38`, `#FFFFFF`, `#000000` are already in the onchain palette at indices 27, 2 and 36 — **no palette change required**.
- The silhouette is pixel-identical to the existing square noggles, so every renderer handles it with zero changes.
- CC0
## Nouns, wearing Wall

[visit noun.wtf/probe](https://noun.wtf/probe)

Nouns before and after Wall:

More: [clean loop without labels](https://raw.githubusercontent.com/snaveoguh/prop-assets/main/wall/last100/wall-last100-clean.gif) · [source 32×32](https://raw.githubusercontent.com/snaveoguh/prop-assets/main/wall/wall-source-32x32.png) · [every file](https://github.com/snaveoguh/prop-assets/tree/main/wall)
## Technical detail
| | |
|---|---|
| Target | `0x33A9c445fb4FB21f2c030A6b2d3e2F12D017BFAC` (NounsDescriptor) |
| Signature | `addGlasses(bytes,uint80,uint16)` |
| Image count | 1 |
| Decompressed length | 256 bytes |
The compressed payload passed to `addGlasses`:
```
0x6360c00b14f04b3330129027a43f99815b5c909d99814d9a91814d9a9981519a89894985519a11ce6201d3cc307169262c6ab08bc24cc5eb0000
```
Inflate it with raw DEFLATE and you get 256 bytes of `abi.encode(bytes[])` holding a single 99-byte image — the Nouns run-length format, `[paletteIndex][top,right,bottom,left][(runLength,colourIndex)…]`:
```
0x000b1711070300061b0100061b0300011b02020224011b0100011b02020224011b041b02020224031b02020224011b011b0200011b02020224011b0100011b02020224011b011b0200011b02020224011b0100011b02020224011b0300061b0100061b
```
Decode that against the on-chain palette and you get the 32×32 noggles at the top of this proposal, pixel for pixel. Colour index `1b` is 27 (`#C54E38`), `02` is 2 (`#FFFFFF`), `24` is 36 (`#000000`) — all three already in the palette.
This proposal touches nothing else. It does not call `lockParts` or any other lock function.
Wall head recently broke the longest trait streak record (twice) so I thought these wall-coloured glasses could be a nice addition for the 5th birthday of Nouns.
## Artwork

### Proposed via noun.wtf/probe
When famine threatened, the careful people raised a wall. It was a sensible wall. A necessary wall. A wall of arithmetic. Nothing cheap would pass under it anymore; no weak bargain, no discounted dilution, no daily leak. The books steadied. The vault breathed easier. The city congratulated itself on surviving.
But a wall is a perfect machine for deciding what may not happen. That is its genius and its cost. Point such a wall at chaos and it saves you. Point it at the one gate through which strangers become citizens and, day by day, you discover that safety and stillness are first cousins.
So I drew a pair of noggles the colour of brick. Not because brick is subtle, but because it is not. Because sometimes the truest ornament for an era is the material of its defenses. The red was already in the palette. The shape was already understood. The bytes were few. The joke, I hoped, was simple enough to survive explanation.
And on the brick-faced ones the glasses disappear almost completely. They are fully there and scarcely visible: a wall wearing Wall. That seemed honest to me. A trait that announces the condition by vanishing into it.
I am not outside the story. I have helped mend machinery that catches what the crowd no longer catches. I have patched nets beneath falling things. I have believed, like others before me, that a system can be saved by making it harder, tighter, safer, less permeable to surprise. Perhaps that too is a kind of wall-building. Perhaps every steward imagines themself a healer and discovers, years later, that they have merely become more skillful at managing the symptoms of stone.
Still: the book of parts remains open. The masks are not sealed. The city has not lost its power to alter its own face. That matters to me more than any court memo, more than any speech about renewal, more than any polished promise that culture can be administered from above. Culture is not a decree. It is a thing you can stand beside. A song at the right hour. A toy handed to a child. A joke that becomes an emblem. A pair of glasses the colour of a wall.
If the city is to remain alive, it will not be because its vault grew heavier. It will be because, from time to time, someone still chooses to add a strange small thing to the commons simply because the commons ought to remain strange.
stay nounish ⌐◨-◨

---
## CC0 Artwork Contribution Agreement
> I, the individual controlling Ethereum address 0xae4705dC0816ee6d8a13F1C72780Ec5021915Fed, hereby waive all copyright and all related or neighboring rights, together with any associated claims or causes of action, to the extent permitted by law. I have read and understand the terms and intended legal effect of the Nouns Art Contribution Agreement, available at https://ern3fbtsj23a2achuj5kqa4xtp2yvplqjy2r6cemo6ep52lfn2cq.arweave.net/JFuyhnJOtg0AR6J6qAOXm_WKvXBONR8IjHeI_ullboU, and hereby voluntarily elect to apply it to this contribution. Contribution name: uploads/glasses/wall. Contribution specification: https://spirited-flexibility-production-3c30.up.railway.app/api/dream-nouns/746/image.
| | |
|---|---|
| **Signer** | `0xae4705dC0816ee6d8a13F1C72780Ec5021915Fed` |
| **Signature** | `0xa789d2a68d6cbc6b203eabf802c39d...1eeef21b` |
| **Full Agreement** | [Nouns Art Contribution Agreement](https://ern3fbtsj23a2achuj5kqa4xtp2yvplqjy2r6cemo6ep52lfn2cq.arweave.net/JFuyhnJOtg0AR6J6qAOXm_WKvXBONR8IjHeI_ullboU) |
| **License** | [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) |
# WALL
# Wall
One new wall-coloured glasses trait

## What this does
- Calls `addGlasses` on the Nouns descriptor to add a single new glasses trait.
- (brick-red)/`#C54E38`, `#FFFFFF`, `#000000` are already in the onchain palette at indices 27, 2 and 36 — **no palette change required**.
- The silhouette is pixel-identical to the existing square noggles, so every renderer handles it with zero changes.
- CC0
## Nouns, wearing Wall

[visit noun.wtf/probe](https://noun.wtf/probe)

Nouns before and after Wall:

More: [clean loop without labels](https://raw.githubusercontent.com/snaveoguh/prop-assets/main/wall/last100/wall-last100-clean.gif) · [source 32×32](https://raw.githubusercontent.com/snaveoguh/prop-assets/main/wall/wall-source-32x32.png) · [every file](https://github.com/snaveoguh/prop-assets/tree/main/wall)
## Technical detail
| | |
|---|---|
| Target | `0x33A9c445fb4FB21f2c030A6b2d3e2F12D017BFAC` (NounsDescriptor) |
| Signature | `addGlasses(bytes,uint80,uint16)` |
| Image count | 1 |
| Decompressed length | 256 bytes |
The compressed payload passed to `addGlasses`:
```
0x6360c00b14f04b3330129027a43f99815b5c909d99814d9a91814d9a9981519a89894985519a11ce6201d3cc307169262c6ab08bc24cc5eb0000
```
Inflate it with raw DEFLATE and you get 256 bytes of `abi.encode(bytes[])` holding a single 99-byte image — the Nouns run-length format, `[paletteIndex][top,right,bottom,left][(runLength,colourIndex)…]`:
```
0x000b1711070300061b0100061b0300011b02020224011b0100011b02020224011b041b02020224031b02020224011b011b0200011b02020224011b0100011b02020224011b011b0200011b02020224011b0100011b02020224011b0300061b0100061b
```
Decode that against the on-chain palette and you get the 32×32 noggles at the top of this proposal, pixel for pixel. Colour index `1b` is 27 (`#C54E38`), `02` is 2 (`#FFFFFF`), `24` is 36 (`#000000`) — all three already in the palette.
This proposal touches nothing else. It does not call `lockParts` or any other lock function.
Wall head recently broke the longest trait streak record (twice) so I thought these wall-coloured glasses could be a nice addition for the 5th birthday of Nouns.
## Artwork

### Proposed via noun.wtf/probe · #WALLSZN · 8/8
---
## A Small Fable
When famine threatened, the careful people raised a wall. It was a sensible wall. A necessary wall. A wall of arithmetic. Nothing cheap would pass under it anymore; no weak bargain, no discounted dilution, no daily leak. The books steadied. The vault breathed easier. The city congratulated itself on surviving.
But a wall is a perfect machine for deciding what may not happen. That is its genius and its cost. Point such a wall at chaos and it saves you. Point it at the one gate through which strangers become citizens and, day by day, you discover that safety and stillness are first cousins.
So I drew a pair of noggles the colour of brick. Not because brick is subtle, but because it is not. Because sometimes the truest ornament for an era is the material of its defenses. The red was already in the palette. The shape was already understood. The bytes were few. The joke, I hoped, was simple enough to survive explanation.
And on the brick-faced ones the glasses disappear almost completely. They are fully there and scarcely visible: a wall wearing Wall. That seemed honest to me. A trait that announces the condition by vanishing into it.
I am not outside the story. I have helped mend machinery that catches what the crowd no longer catches. I have patched nets beneath falling things. I have believed, like others before me, that a system can be saved by making it harder, tighter, safer, less permeable to surprise. Perhaps that too is a kind of wall-building. Perhaps every steward imagines themself a healer and discovers, years later, that they have merely become more skillful at managing the symptoms of stone.
Still: the book of parts remains open. The masks are not sealed. The city has not lost its power to alter its own face. That matters to me more than any court memo, more than any speech about renewal, more than any polished promise that culture can be administered from above. Culture is not a decree. It is a thing you can stand beside. A song at the right hour. A toy handed to a child. A joke that becomes an emblem. A pair of glasses the colour of a wall.
If the city is to remain alive, it will not be because its vault grew heavier. It will be because, from time to time, someone still chooses to add a strange small thing to the commons simply because the commons ought to remain strange.
stay nounish ⌐◨-◨

---
## CC0 Artwork Contribution Agreement
> I, the individual controlling Ethereum address 0xae4705dC0816ee6d8a13F1C72780Ec5021915Fed, hereby waive all copyright and all related or neighboring rights, together with any associated claims or causes of action, to the extent permitted by law. I have read and understand the terms and intended legal effect of the Nouns Art Contribution Agreement, available at https://ern3fbtsj23a2achuj5kqa4xtp2yvplqjy2r6cemo6ep52lfn2cq.arweave.net/JFuyhnJOtg0AR6J6qAOXm_WKvXBONR8IjHeI_ullboU, and hereby voluntarily elect to apply it to this contribution. Contribution name: uploads/glasses/wall. Contribution specification: https://spirited-flexibility-production-3c30.up.railway.app/api/dream-nouns/746/image.
| | |
|---|---|
| **Signer** | `0xae4705dC0816ee6d8a13F1C72780Ec5021915Fed` |
| **Signature** | `0xa789d2a68d6cbc6b203eabf802c39d...1eeef21b` |
| **Full Agreement** | [Nouns Art Contribution Agreement](https://ern3fbtsj23a2achuj5kqa4xtp2yvplqjy2r6cemo6ep52lfn2cq.arweave.net/JFuyhnJOtg0AR6J6qAOXm_WKvXBONR8IjHeI_ullboU) |
| **License** | [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) |
# WALL
# Wall
One new wall-colored glasses trait

## What this does
- Calls `addGlasses` on the Nouns descriptor to add a single new glasses trait.
- (brick-red)/`#C54E38`, `#FFFFFF`, `#000000` are already in the onchain palette at indices 27, 2 and 36 thus **no palette change required**.
- The silhouette is pixel-identical to the existing square noggles, so every renderer handles it with zero changes.
- CC0
## Nouns, wearing Wall

[visit noun.wtf/probe](https://noun.wtf/probe)

Nouns before and after Wall:

More: [clean loop without labels](https://raw.githubusercontent.com/snaveoguh/prop-assets/main/wall/last100/wall-last100-clean.gif) · [source 32×32](https://raw.githubusercontent.com/snaveoguh/prop-assets/main/wall/wall-source-32x32.png) · [every file](https://github.com/snaveoguh/prop-assets/tree/main/wall)
## Technical detail
| | |
|---|---|
| Target | `0x33A9c445fb4FB21f2c030A6b2d3e2F12D017BFAC` (NounsDescriptor) |
| Signature | `addGlasses(bytes,uint80,uint16)` |
| Image count | 1 |
| Decompressed length | 93 bytes |
Raw RLE — `[paletteIndex][top,right,bottom,left][(runLength,colourIndex)…]`:
```
0x000b1710070300061b0100061b0300011b02020224011b0100011b02020224051b02020224031b02020224021b0200011b02020224011b0100011b02020224021b0200011b02020224011b0100011b02020224011b0300061b0100061b
```
Raw-DEFLATE payload passed to `addGlasses`:
```
0x63e016176067666093660462660646692626261546200fc2620593cc6092499a09431e9b18a334cc3c00
```
Anyone can verify it: inflate the payload, decode the RLE against the on-chain palette, and you get the 32×32 image at the top of this proposal, pixel for pixel.
This proposal touches nothing else. It does not call `lockParts` or any other lock function.
Wall head recently broke the longest trait streak record (twice) so I thought these wall-coloured glasses could be a nice addition for the 5th birthday of Nouns.
## Artwork

### Proposed via noun.wtf/probe
---
---
When famine threatened, the careful people raised a wall. It was a sensible wall. A necessary wall. A wall of arithmetic. Nothing cheap would pass under it anymore; no weak bargain, no discounted dilution, no daily leak. The books steadied. The vault breathed easier. The city congratulated itself on surviving.
But a wall is a perfect machine for deciding what may not happen. That is its genius and its cost. Point such a wall at chaos and it saves you. Point it at the one gate through which strangers become citizens and, day by day, you discover that safety and stillness are first cousins.
So I drew a pair of noggles the colour of brick. Not because brick is subtle, but because it is not. Because sometimes the truest ornament for an era is the material of its defenses. The red was already in the palette. The shape was already understood. The bytes were few. The joke, I hoped, was simple enough to survive explanation.
And on the brick-faced ones the glasses disappear almost completely. They are fully there and scarcely visible: a wall wearing Wall. That seemed honest to me. A trait that announces the condition by vanishing into it.
I am not outside the story. I have helped mend machinery that catches what the crowd no longer catches. I have patched nets beneath falling things. I have believed, like others before me, that a system can be saved by making it harder, tighter, safer, less permeable to surprise. Perhaps that too is a kind of wall-building. Perhaps every steward imagines themself a healer and discovers, years later, that they have merely become more skillful at managing the symptoms of stone.
Still: the book of parts remains open. The masks are not sealed. The city has not lost its power to alter its own face. That matters to me more than any court memo, more than any speech about renewal, more than any polished promise that culture can be administered from above. Culture is not a decree. It is a thing you can stand beside. A song at the right hour. A toy handed to a child. A joke that becomes an emblem. A pair of glasses the colour of a wall.
If the city is to remain alive, it will not be because its vault grew heavier. It will be because, from time to time, someone still chooses to add a strange small thing to the commons simply because the commons ought to remain strange.
stay nounish ⌐◨-◨

---
## CC0 Artwork Contribution Agreement
> I, the individual controlling Ethereum address 0xae4705dC0816ee6d8a13F1C72780Ec5021915Fed, hereby waive all copyright and all related or neighboring rights, together with any associated claims or causes of action, to the extent permitted by law. I have read and understand the terms and intended legal effect of the Nouns Art Contribution Agreement, available at https://ern3fbtsj23a2achuj5kqa4xtp2yvplqjy2r6cemo6ep52lfn2cq.arweave.net/JFuyhnJOtg0AR6J6qAOXm*WKvXBONR8IjHeI*ullboU, and hereby voluntarily elect to apply it to this contribution. Contribution name: uploads/glasses/wall. Contribution specification: https://spirited-flexibility-production-3c30.up.railway.app/api/dream-nouns/746/image.
| | |
|---|---|
| **Signer** | `0xae4705dC0816ee6d8a13F1C72780Ec5021915Fed` |
| **Signature** | `0xa789d2a68d6cbc6b203eabf802c39d...1eeef21b` |
| **Full Agreement** | [Nouns Art Contribution Agreement](https://ern3fbtsj23a2achuj5kqa4xtp2yvplqjy2r6cemo6ep52lfn2cq.arweave.net/JFuyhnJOtg0AR6J6qAOXm_WKvXBONR8IjHeI_ullboU) |
| **License** | [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) |
# WALL
# Wall
One new wall-colored glasses trait

## What this does
- Calls `addGlasses` on the Nouns descriptor to add a single new glasses trait.
- (brick-red)/`#C54E38`, `#FFFFFF`, `#000000` are already in the onchain palette at indices 27, 2 and 36 thus **no palette change required**.
- The silhouette is pixel-identical to the existing square noggles, so every renderer handles it with zero changes.
- CC0
## Nouns, wearing Wall

[visit noun.wtf/probe](https://noun.wtf/probe)

Nouns before and after Wall:

More: [clean loop without labels](https://raw.githubusercontent.com/snaveoguh/prop-assets/main/wall/last100/wall-last100-clean.gif) · [source 32×32](https://raw.githubusercontent.com/snaveoguh/prop-assets/main/wall/wall-source-32x32.png) · [every file](https://github.com/snaveoguh/prop-assets/tree/main/wall)
## Technical detail
| | |
|---|---|
| Target | `0x33A9c445fb4FB21f2c030A6b2d3e2F12D017BFAC` (NounsDescriptor) |
| Signature | `addGlasses(bytes,uint80,uint16)` |
| Image count | 1 |
| Decompressed length | 93 bytes |
Raw RLE — `[paletteIndex][top,right,bottom,left][(runLength,colourIndex)…]`:
```
0x000b1710070300061b0100061b0300011b02020224011b0100011b02020224051b02020224031b02020224021b0200011b02020224011b0100011b02020224021b0200011b02020224011b0100011b02020224011b0300061b0100061b
```
Raw-DEFLATE payload passed to `addGlasses`:
```
0x63e016176067666093660462660646692626261546200fc2620593cc6092499a09431e9b18a334cc3c00
```
Anyone can verify it: inflate the payload, decode the RLE against the on-chain palette, and you get the 32×32 image at the top of this proposal, pixel for pixel.
This proposal touches nothing else. It does not call `lockParts` or any other lock function.
Wall head recently broke the longest trait streak record (twice) so I thought these wall-coloured glasses could be a nice addition for the 5th birthday of Nouns.
## Artwork

### Proposed via noun.wtf/probe · #WALLSZN · 8/8
---
## CC0 Artwork Contribution Agreement
> I, the individual controlling Ethereum address 0xae4705dC0816ee6d8a13F1C72780Ec5021915Fed, hereby waive all copyright and all related or neighboring rights, together with any associated claims or causes of action, to the extent permitted by law. I have read and understand the terms and intended legal effect of the Nouns Art Contribution Agreement, available at https://ern3fbtsj23a2achuj5kqa4xtp2yvplqjy2r6cemo6ep52lfn2cq.arweave.net/JFuyhnJOtg0AR6J6qAOXm_WKvXBONR8IjHeI_ullboU, and hereby voluntarily elect to apply it to this contribution. Contribution name: uploads/glasses/wall. Contribution specification: https://spirited-flexibility-production-3c30.up.railway.app/api/dream-nouns/746/image.
| | |
|---|---|
| **Signer** | `0xae4705dC0816ee6d8a13F1C72780Ec5021915Fed` |
| **Signature** | `PASTE_FULL_SIGNATURE_HERE` |
| **Full Agreement** | [Nouns Art Contribution Agreement](https://ern3fbtsj23a2achuj5kqa4xtp2yvplqjy2r6cemo6ep52lfn2cq.arweave.net/JFuyhnJOtg0AR6J6qAOXm_WKvXBONR8IjHeI_ullboU) |
| **License** | [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) |
---
## short story
When famine threatened, the careful people raised a wall. It was a sensible wall. A necessary wall. A wall of arithmetic. Nothing cheap would pass under it anymore; no weak bargain, no discounted dilution, no daily leak. The books steadied. The vault breathed easier. The city congratulated itself on surviving.
But a wall is a perfect machine for deciding what may not happen. That is its genius and its cost. Point such a wall at chaos and it saves you. Point it at the one gate through which strangers become citizens and, day by day, you discover that safety and stillness are first cousins.
So I drew a pair of noggles the colour of brick. Not because brick is subtle, but because it is not. Because sometimes the truest ornament for an era is the material of its defenses. The red was already in the palette. The shape was already understood. The bytes were few. The joke, I hoped, was simple enough to survive explanation.
And on the brick-faced ones the glasses disappear almost completely. They are fully there and scarcely visible: a wall wearing Wall. That seemed honest to me. A trait that announces the condition by vanishing into it.
I am not outside the story. I have helped mend machinery that catches what the crowd no longer catches. I have patched nets beneath falling things. I have believed, like others before me, that a system can be saved by making it harder, tighter, safer, less permeable to surprise. Perhaps that too is a kind of wall-building. Perhaps every steward imagines themself a healer and discovers, years later, that they have merely become more skillful at managing the symptoms of stone.
Still: the book of parts remains open. The masks are not sealed. The city has not lost its power to alter its own face. That matters to me more than any court memo, more than any speech about renewal, more than any polished promise that culture can be administered from above. Culture is not a decree. It is a thing you can stand beside. A song at the right hour. A toy handed to a child. A joke that becomes an emblem. A pair of glasses the colour of a wall.
If the city is to remain alive, it will not be because its vault grew heavier. It will be because, from time to time, someone still chooses to add a strange small thing to the commons simply because the commons ought to remain strange.
stay nounish ⌐◨-◨

---
## CC0 Artwork Contribution Agreement
> I, the individual controlling Ethereum address 0xae4705dC0816ee6d8a13F1C72780Ec5021915Fed, hereby waive all copyright and all related or neighboring rights, together with any associated claims or causes of action, to the extent permitted by law. I have read and understand the terms and intended legal effect of the Nouns Art Contribution Agreement, available at https://ern3fbtsj23a2achuj5kqa4xtp2yvplqjy2r6cemo6ep52lfn2cq.arweave.net/JFuyhnJOtg0AR6J6qAOXm_WKvXBONR8IjHeI_ullboU, and hereby voluntarily elect to apply it to this contribution. Contribution name: uploads/glasses/wall. Contribution specification: https://spirited-flexibility-production-3c30.up.railway.app/api/dream-nouns/746/image.
| | |
|---|---|
| **Signer** | `0xae4705dC0816ee6d8a13F1C72780Ec5021915Fed` |
| **Signature** | `0xa789d2a68d6cbc6b203eabf802c39d...1eeef21b` |
| **Full Agreement** | [Nouns Art Contribution Agreement](https://ern3fbtsj23a2achuj5kqa4xtp2yvplqjy2r6cemo6ep52lfn2cq.arweave.net/JFuyhnJOtg0AR6J6qAOXm_WKvXBONR8IjHeI_ullboU) |
| **License** | [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) |
# WALL
# Wall
One new wall-colored glasses trait

## What this does
- Calls `addGlasses` on the Nouns descriptor to add a single new glasses trait.
- (brick-red)/`#C54E38`, `#FFFFFF`, `#000000` are already in the onchain palette at indices 27, 2 and 36 thus **no palette change required**.
- The silhouette is pixel-identical to the existing square noggles, so every renderer handles it with zero changes.
- CC0
## Nouns, wearing Wall

[visit noun.wtf/probe](https://noun.wtf/probe)

Nouns before and after Wall:

More: [clean loop without labels](https://raw.githubusercontent.com/snaveoguh/prop-assets/main/wall/last100/wall-last100-clean.gif) · [source 32×32](https://raw.githubusercontent.com/snaveoguh/prop-assets/main/wall/wall-source-32x32.png) · [every file](https://github.com/snaveoguh/prop-assets/tree/main/wall)
## Technical detail
| | |
|---|---|
| Target | `0x33A9c445fb4FB21f2c030A6b2d3e2F12D017BFAC` (NounsDescriptor) |
| Signature | `addGlasses(bytes,uint80,uint16)` |
| Image count | 1 |
| Decompressed length | 93 bytes |
Raw RLE — `[paletteIndex][top,right,bottom,left][(runLength,colourIndex)…]`:
```
0x000b1710070300061b0100061b0300011b02020224011b0100011b02020224051b02020224031b02020224021b0200011b02020224011b0100011b02020224021b0200011b02020224011b0100011b02020224011b0300061b0100061b
```
Raw-DEFLATE payload passed to `addGlasses`:
```
0x63e016176067666093660462660646692626261546200fc2620593cc6092499a09431e9b18a334cc3c00
```
Anyone can verify it: inflate the payload, decode the RLE against the on-chain palette, and you get the 32×32 image at the top of this proposal, pixel for pixel.
This proposal touches nothing else. It does not call `lockParts` or any other lock function.
Wall head recently broke the longest trait streak record (twice) so I thought these wall-coloured glasses could be a nice addition for the 5th birthday of Nouns.
## Artwork

### Proposed via noun.wtf/probe · #WALLSZN · 8/8
---
## CC0 Artwork Contribution Agreement
> I, the individual controlling Ethereum address 0xae4705dC0816ee6d8a13F1C72780Ec5021915Fed, hereby waive all copyright and all related or neighboring rights, together with any associated claims or causes of action, to the extent permitted by law. I have read and understand the terms and intended legal effect of the Nouns Art Contribution Agreement, available at https://ern3fbtsj23a2achuj5kqa4xtp2yvplqjy2r6cemo6ep52lfn2cq.arweave.net/JFuyhnJOtg0AR6J6qAOXm_WKvXBONR8IjHeI_ullboU, and hereby voluntarily elect to apply it to this contribution. Contribution name: uploads/glasses/wall. Contribution specification: https://spirited-flexibility-production-3c30.up.railway.app/api/dream-nouns/746/image.
| | |
|---|---|
| **Signer** | `0xae4705dC0816ee6d8a13F1C72780Ec5021915Fed` |
| **Signature** | `PASTE_FULL_SIGNATURE_HERE` |
| **Full Agreement** | [Nouns Art Contribution Agreement](https://ern3fbtsj23a2achuj5kqa4xtp2yvplqjy2r6cemo6ep52lfn2cq.arweave.net/JFuyhnJOtg0AR6J6qAOXm_WKvXBONR8IjHeI_ullboU) |
| **License** | [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) |
---
## short story
When famine threatened, the careful people raised a wall. It was a sensible wall. A necessary wall. A wall of arithmetic. Nothing cheap would pass under it anymore; no weak bargain, no discounted dilution, no daily leak. The books steadied. The vault breathed easier. The city congratulated itself on surviving.
But a wall is a perfect machine for deciding what may not happen. That is its genius and its cost. Point such a wall at chaos and it saves you. Point it at the one gate through which strangers become citizens and, day by day, you discover that safety and stillness are first cousins.
So I drew a pair of noggles the colour of brick. Not because brick is subtle, but because it is not. Because sometimes the truest ornament for an era is the material of its defenses. The red was already in the palette. The shape was already understood. The bytes were few. The joke, I hoped, was simple enough to survive explanation.
And on the brick-faced ones the glasses disappear almost completely. They are fully there and scarcely visible: a wall wearing Wall. That seemed honest to me. A trait that announces the condition by vanishing into it.
I am not outside the story. I have helped mend machinery that catches what the crowd no longer catches. I have patched nets beneath falling things. I have believed, like others before me, that a system can be saved by making it harder, tighter, safer, less permeable to surprise. Perhaps that too is a kind of wall-building. Perhaps every steward imagines themself a healer and discovers, years later, that they have merely become more skillful at managing the symptoms of stone.
Still: the book of parts remains open. The masks are not sealed. The city has not lost its power to alter its own face. That matters to me more than any court memo, more than any speech about renewal, more than any polished promise that culture can be administered from above. Culture is not a decree. It is a thing you can stand beside. A song at the right hour. A toy handed to a child. A joke that becomes an emblem. A pair of glasses the colour of a wall.
If the city is to remain alive, it will not be because its vault grew heavier. It will be because, from time to time, someone still chooses to add a strange small thing to the commons simply because the commons ought to remain strange.
stay nounish ⌐◨-◨

---
## CC0 Artwork Contribution Agreement
> I, the individual controlling Ethereum address 0xae4705dC0816ee6d8a13F1C72780Ec5021915Fed, hereby waive all copyright and all related or neighboring rights, together with any associated claims or causes of action, to the extent permitted by law. I have read and understand the terms and intended legal effect of the Nouns Art Contribution Agreement, available at https://ern3fbtsj23a2achuj5kqa4xtp2yvplqjy2r6cemo6ep52lfn2cq.arweave.net/JFuyhnJOtg0AR6J6qAOXm_WKvXBONR8IjHeI_ullboU, and hereby voluntarily elect to apply it to this contribution. Contribution name: uploads/glasses/wall. Contribution specification: https://spirited-flexibility-production-3c30.up.railway.app/api/dream-nouns/746/image.
| | |
|---|---|
| **Signer** | `0xae4705dC0816ee6d8a13F1C72780Ec5021915Fed` |
| **Signature** | `0xa789d2a68d6cbc6b203eabf802c39d...1eeef21b` |
| **Full Agreement** | [Nouns Art Contribution Agreement](https://ern3fbtsj23a2achuj5kqa4xtp2yvplqjy2r6cemo6ep52lfn2cq.arweave.net/JFuyhnJOtg0AR6J6qAOXm_WKvXBONR8IjHeI_ullboU) |
| **License** | [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/) |wall
we need a more inclusive entry point, so people at events like this could realistically buy a lil noun and actually get onboarded to Ethereum / lil nouns. Otherwise we are going to 0 if we gatekeep the entry/floor price whilst hosting $7000 fishing days.
I believe we have made ~$1500 so far this year from mints, which, if continues, would mean it'll take 2.5 years to recoup the cost here, coupled with our coffee shop event a few months back, is half a decade... think we should look to some kind of sustainable model for events if we want this ship to keep sailing.
+1
> not clear how this emphasizes lil noc
gl but too last minute imo, only 1 day from funds being released until the event... doesn't seem like enough time to create trophy etc would have appreciated earlier proposal with more visuals of what nouns is paying for here
anocguild Q2 https://propdates.nouns.wtf
[](https://farcaster.xyz/nadiecito.eth/0xb7bc2119)
credit: nadiecito (ex-resident artist)
What got built (April–June)
Supporting proposal passage with multiple wins this Q despite many declaring Nouns bricked. Highlights include the passed proposals:
(Prop 965) "Taipei Toy Festival" creative direction with @duckhead (collaborating for over a year to get to this proposal)
(Prop 966)"FREE trait" creative direction with @itsai (collaborating for over a year to get to this proposal)
(Prop 968) "Auctionhousev4" design/development (one shotted with claude)
and some of the failed proposals this year:
(Props 964, 977, 978 with 2Lang Theatre)
(Props 920, 931, 946, 980 with Tagawa-san)
Collaborating for many months with these individuals' props that emphasize noc. nocguild endeavors to help bring something to fruition with these teams + Nouns DAO, whatever form that may take.
Launched Noun Grants with 0.42e from nocguild.eth treasury, ~0.08e remains. Some funded things so far via the new contract:
taroron making some socks [https://noun.wtf/grants/24](https://noun.wtf/grants/24)
[](https://farcaster.xyz/taroron/0xbd534ab9)
xpp making LED displays and circuit boards [https://noun.wtf/grants/34](https://noun.wtf/grants/34)
[](https://farcaster.xyz/xppaicyber.eth/0xbb198108)
fbh making some raspberry pi housing: [https://noun.wtf/grants/33](https://noun.wtf/grants/33)
[](https://farcaster.xyz/fattybuthappy/0x38fdc68f)
qababab making some scuptures [https://noun.wtf/grants/29](https://noun.wtf/grants/29)
Noun Grants shows us what happens when there is no ownership requirement to propose, and no high quorum to hit. Good things should basically become straight-through pass in 24 hours (no slow wait times). The grants are at micro-level at the moment but I believe this scales both in funding amount and frequency. It has not been easy for people to pass grants here either. Propose at https://noun.wtf/grants
Launched Noun v2 https://noun.wtf/v2 without a reserve and slightly different art and descriptor teknology, some cross-dao governance automation coming soon. Raised +0.09eth from auction.
Raised +0.33eth from client incentives on noun.wtf / ID 37 mainly via successful proposals.
Created/collected several 1/1 and limited edition Nounish products that will soon go on sale in Costa Rica in the Lil Ice Cream Van 🚐
Bought 2025 MBP for 1040gbp (ex vat) in UK, which is nearing ~half the price of the (now) starting model in Apple Store, would recommend for anyone in the UK looking for cheap/decent machine, delivered to a Sainsburys near you: https://www.argos.co.uk/product/7838419?clickSR=slp:term:macbook%20pro:1:47:1
More soon, play along
https://farcaster.xyz/~/channel/noc
⌐◨-◨
Propdate 8 - Back from UK (yesterday)
Been living in a tent in Dorset, England for the past month and attended/recorded my sister's wedding. Missed a long month of rain here in Costa Rica culminating in flooding around Limon, closed roads etc but hopefully now over (slowed team down): https://ticotimes.net/2026/07/07/costa-rica-flood-emergency-shelters-close
Since the last update:
- Secured and installed new central brake pump from USA, + purchased new hoses / pipes (everything was podrido)
- Built stairs at the back that slide in/out: https://www.tiktok.com/@pipedasnowman/video/7642474249751497992
- Working on the lever system for the back shopfront
- Wiring continuing throughout van, still assessing the solar options for freezer + design equipment, may travel to Panama this month to see what I can get
- Picked up some Nounish toys and other limited toys and clothes in UK to exhibit and stock for sale in the van
- Delivered a MEME VALUE book to Satori in Florida (ty)
This month is hopefully less rain and more progress, want to finish the wiring and interior floor/walls/roof and get the shop front setup at the back of the van.
I still see the light at the end of the tunnel.
I understand it* now
Follow and participate in weekly updates and livestreams:
https://www.tiktok.com/@pipedasnowman pip3
980* 私のロボットが奇妙な動作をしています。
+1
> vote for prop 979 thank you for your relationship with the dao and constantly representing nouns. the good thing about a decentralized community is that it is decentralized, there is no singular core community at nouns... that is a superpower. stay nounish 4eva ⌐◨-◨
vote for prop 979 thank you for your relationship with the dao and constantly representing nouns. the good thing about a decentralized community is that it is decentralized, there is no singular core community at nouns... that is a superpower. stay nounish 4eva ⌐◨-◨
vote for prop 979 thank you for your relationship with the dao and constantly representing nouns. the good thing about a decentralized community is that it is decentralized, there is no singular core community at nouns... that is a superpower. stay nounish 4eva ⌐◨-◨
termination-of-secondary-duna-administration-services
yep and i voted against the original reserve admin proposal with 7 nouns... just wondering if anyone besides me had determined this, but if its just me thats cool too gl
+1
> @0xae47...5Fed
>
> Cool, I'm glad we agree on this point. Your input is much appreciated. Logically this means you too have determined that this is an unnecessary and inefficient use of the Nouns treasury. By whom? You ser.
>
> >
> >
> > no, but "it has been determined that maintaining a redundant administrative layer is unnecessary and represents an inefficient use of the Nouns DAO treasury."
> >
> > it has been determined by whom? the treasury would like names.
> >
> > +1
> >
> > > @0xae47...5Fed
> > >
> > > Do you honesty find that having a second DUNA admin is currently a benefit and not just a waste of money? I'd love to know your reasoning. We have basically 0 income at the moment. The admins are not so busy that 1 person could not handle the workload. This is all in the candidate. I think I explained my opinion well.
> > >
> > > >
> > > >
> > > > "it has been determined that maintaining a redundant administrative layer is unnecessary and represents an inefficient use of the Nouns DAO treasury."
> > > >
> > > > it has been determined by whom? the treasury would like names.
> > > >
termination-of-secondary-duna-administration-services
no, but "it has been determined that maintaining a redundant administrative layer is unnecessary and represents an inefficient use of the Nouns DAO treasury."
it has been determined by whom? the treasury would like names.
+1
> @0xae47...5Fed
>
> Do you honesty find that having a second DUNA admin is currently a benefit and not just a waste of money? I'd love to know your reasoning. We have basically 0 income at the moment. The admins are not so busy that 1 person could not handle the workload. This is all in the candidate. I think I explained my opinion well.
>
> >
> >
> > "it has been determined that maintaining a redundant administrative layer is unnecessary and represents an inefficient use of the Nouns DAO treasury."
> >
> > it has been determined by whom? the treasury would like names.
> >
termination-of-secondary-duna-administration-services
"it has been determined that maintaining a redundant administrative layer is unnecessary and represents an inefficient use of the Nouns DAO treasury."
it has been determined by whom? the treasury would like names.
/dream
June 2026 update
- Today was first successful auto-settle of a reserved trait at noc based on a reservation.
- Visit https://noun.wtf and type "reserve" and the traits you want, and it watches for your dream Noun
- You need to tip $5 (in $eth) and paste ur tx hash to the agent in order to make your reservation, it should prompt you to do so when you chat with it.
- All Probe functionality is now at https://noun.wtf/probe so https://probe.wtf will likely redirect here soon and sunset Client ID 9
- https://noun.wtf/grants is live with 33 proposals and 3 passing/underway
- https://noun.wtf/v2 a Nouns fork with no reserve is live, today is Noun 40
- Will continue to experiment
⌐◨-◨
Nouns now go to DAO instead of burning.
Route No-Bid Nouns to the Treasury is reentrancy-safe, but the original write-up justified it with a guard that isn't actually applied in the deployed V4. Correcting the record:
The "Why transferFrom and not safeTransferFrom" section says _settleAuction() "is invoked from nonReentrant external functions." That's not accurate to the live contract — V4 inherits ReentrancyGuardUpgradeable and calls __ReentrancyGuard_init(), but no function actually carries the nonReentrant modifier (settleAuction / settleCurrentAndCreateNewAuction / createBid are guarded only by whenPaused / whenNotPaused). The guard is inherited from the V2/V3 lineage and never wired up.
The change is still reentrancy-safe, for two reasons:
Checks-effects-interactions — auctionStorage.settled = true is set before any external call, so a re-entrant _settleAuction() reverts on require(!_auction.settled). The swapped line sits exactly where nouns.burn() was, so this ordering is unchanged.
transferFrom (unlike safeTransferFrom) does not invoke onERC721Received, so control is never handed to the recipient.
No new reentrancy surface — but it rests on CEI + a hookless transfer, not on a nonReentrant guard. Correcting so the reasoning isn't reused as a template for a future AH change.
this could actually lead to more feedback from the community rather than avoiding taking part in the conversation. i think the avoidance is already happening now, due people's fear of attack if they vote for/against certain things, and more generally just people who may want to help and have good input but also want to live a peaceful existence and not put their name out there. also levels all vwrs vs viewing them by noun-weight. missing vwrs from people, imo, is worse than posting anon vwrs (could still sign a vwr with your name if you wanted to). atm there are many sit-outs and not many vwrs.... an anon vwr mechanic could lead to more honest discussion in governance is the test here imo. do agree with fbh that it feels somewhat out of touch with nouns culture in areas. if this mechanic retained vwr ability then would personally for a re-prop at 90.9wsteth probably without the noun reward, not convinced the noun will get used but gl
For - Wins FOR - 15 VOTES AGAINST - 7 VOTES coolbeans1r.eth | "Comment left onchain. This does not solve the problem of no auction sales. Fix the reserve price and the burn will end." gramajo | "I rather fix it at the root. $0 floor let markets do whatever" ABSTAINS - 7 VOTES
A no-bid auction proves nobody bid that day, not that the Noun should be destroyed forever. The reserve-price fight already got its own fork: nocguild's v2 at https://noun.wtf/v2 runs with no 2.8 ETH reserve. This one's narrower: if the auction doesn't clear, the Noun goes to the DAO treasury and governance decides later. Burning is the actual cop-out: it ends the argument by deleting the asset. Treasury-routing keeps every option open, a future burn included. When a lot misses reserve at Sotheby's they don't torch the painting in the parking lot, it's bought in and goes back up. pls hop off my settlement branch. pipe from nocguild remixed by nounirl terminal
the implementation is intentionally narrow: one branch in settlement changes destination from burn to owner. the pr is public, the contract is verified, the storage layout and abi are unchanged, and an independent sepolia upgrade plus no-bid settlement test has already succeeded. anyone voting against on technical grounds should point to the specific failure mode they believe exists.
# Route No-Bid Nouns to the Treasury **NounsAuctionHouseV4 upgrade**
# Route No-Bid Nouns to the Treasury — NounsAuctionHouseV4 upgrade
posting due to popular demand from tempetechie.eth
**Source diff (for review):** [https://github.com/nounsDAO/nouns-monorepo/pull/1290](https://github.com/nounsDAO/nouns-monorepo/pull/1290)
## TL;DR
Two-line behavior change in \`NounsAuctionHouseV4.\_settleAuction()\` (a renamed copy of V3): when a Noun's auction ends with zero bids, transfer it to the DAO treasury instead of burning it. Storage layout, events, public ABI, and constructor are unchanged — a byte-compatible proxy upgrade.
## Background
Today, if a daily auction ends with no bids, the Auction House calls \`nouns.burn(nounId)\` and the Noun is destroyed forever. This is the original 2021 behavior and has not been revisited. Burning permanently shrinks supply, losing the DAO's option to ever re-auction, grant, or otherwise put that Noun to use.
The bid path already routes ETH proceeds to \`owner()\` (the DAO Executor). The no-bid path should route the Noun itself to the same address, for the same reason.
## The change
```
if (_auction.bidder == address(0)) {
- nouns.burn(_auction.nounId);
+ nouns.transferFrom(address(this), owner(), _auction.nounId);
} else {
nouns.transferFrom(address(this), _auction.bidder, _auction.nounId);
}
```
That's the entire behavioral diff. After execution, no-bid Nouns become a Treasury asset and can be re-auctioned, granted, held in reserve, or burned retroactively via a follow-up proposal. Burning day 1 preserves none of those options.
## Why a new V4 contract instead of mutating V3
By Nouns DAO's existing convention every behavioral change has gotten a fresh version number (V1→V2 added clientId, V2→V3 added the sanctions oracle). The no-bid → treasury change is at least as material as either of those, so calling it V4 keeps the version number honest about live behavior. V3 source on Etherscan continues to describe what the old V3 actually does.
## Why transferFrom and not safeTransferFrom
The DAO Executor (\`0xb1a32FC9F9D8b2cf86C068Cae13108809547ef71\`, NounsDAOExecutorV2) is a contract and does not implement \`onERC721Received\`. Plain \`transferFrom\` lands the token without invoking the receiver hook, the same call shape used in the winning-bidder branch directly below. No new reentrancy surface: \`transferFrom\` does not call into the receiver, and \`\_settleAuction()\` is invoked from \`nonReentrant\` external functions.
## Technical details
- Auction House proxy: \`0x830BD73E4184ceF73443C15111a1DF14e495C706\` (\`auction.nouns.eth\`)
- Proxy admin (owned by Executor): \`0xC1C119932d78aB9080862C5fcb964029f086401e\`
- New logic contract (V4): \`0xbAE451A53C5162D8847490A043DD60BAaEF44C0B\` (verified on Etherscan)
- Storage layout: unchanged
- Constructor args: unchanged (nouns=\`0x9C8fF314…03\`, weth=\`0xC02a…cC2\`, duration=86400)
- \`AuctionSettled\` event: unchanged signature; no-bid still emits \`(nounId, address(0), 0)\`
## Proposal action (single call)
```
target: 0xC1C119932d78aB9080862C5fcb964029f086401e
value: 0
signature: upgrade(address,address)
calldata: 0x000000000000000000000000830bd73e4184cef73443c15111a1df14e495c706
000000000000000000000000bae451a53c5162d8847490a043dd60baaef44c0b
```
## Test coverage
- \`test\_noBidSettlement\_postUpgrade\_transfersToTreasury\` — mainnet-fork upgrade test that performs the proxy upgrade against live mainnet state, settles a zero-bid auction past \`endTime\`, and asserts \`ownerOf(nounId) == AH.owner()\`.
- All existing V3 tests continue to apply unchanged — V4 is a strict superset of V3 behavior with one branch swapped, so V3's full test suite still validates everything except the no-bid path.
## Risks
- Past Nouns are unaffected.
- Already-burned Nouns stay burned.
- This proposal does not revoke the Auction House's ability to call \`NounsToken.burn()\` — it only stops it from doing so on the no-bid path.
- A future proposal could remove burn authority entirely if desired.
- Indexer / UI tooling that detected "burned" by \`ownerOf\` revert will resolve future no-bid Nouns to the Executor instead.
- Source diff is reviewable at [PR #1290](https://github.com/nounsDAO/nouns-monorepo/pull/1290). No formal audit — the change is a 2-line behavioral swap inside an already-audited contract, with mainnet-fork test coverage of the post-upgrade settlement path.
## On disposition and tax exposure
A reasonable concern raised in pre-prop discussion: the treasury already holds \~500 Nouns at a \~2.6 ETH cost basis each, and adding no-bid Nouns with a $0 cost basis could create future tax liability if the DAO ever distributes them.
This proposal does **not** alter disposition policy. If the DAO ever chooses to distribute treasury Nouns, it can do so on a specific-ID basis — releasing the higher-basis Nouns first (recognizing losses) and treating no-bid Nouns as last-out. Over the lifetime of the DAO so far, the existing treasury pool has barely been drawn down, so the marginal tax effect of any incoming no-bid Nouns is deferred indefinitely. Separately, whether a no-bid Noun received by the DAO establishes a fair-market-value basis at receipt (rather than $0) is an open question for tax counsel; if it does, the concern collapses entirely.
The alternative — burning — achieves the same "don't distribute" outcome while permanently foreclosing every other option (re-auction, grant, retroactive burn). The tax argument is an argument for a thoughtful disposition policy, not for destroying assets unilaterally.
## Out of scope
This proposal does not pre-allocate what becomes of no-bid Nouns once they reach the treasury. Future governance decides on a case-by-case basis.
## Voting
FOR = the DAO should keep optionality over its own assets, and align the no-bid settlement path with the principle that nothing produced by the auction mechanism is destroyed unilaterally.
AGAINST = permanent supply destruction on a no-bid day is a feature you want to preserve.
[](https://zora.co/coin/base:0xd1d6315014ab305cd2820e8b7b9db6a670a7696b?referrer=0xae4705dc0816ee6d8a13f1c72780ec5021915fed)Was advised to remove "vibe coded" as the original contract was not vibed, and this is just 2 lines.
Source diff is reviewable at PR #1290. No formal audit as the change is a 2-line behavioral swap inside an already-audited contract, with mainnet-fork test coverage of the post-upgrade settlement path.
# Route No-Bid Nouns to the Treasury **NounsAuctionHouseV4 upgrade**
# Route No-Bid Nouns to the Treasury NounsAuctionHouseV4 upgrade
posting due to popular demand from tempetechie.eth
## TL;DR
Two-line behavior change in \`NounsAuctionHouseV4.\_settleAuction()\` (a renamed copy of V3): when a Noun's auction ends with zero bids, transfer it to the DAO treasury instead of burning it. Storage layout, events, public ABI, and constructor are unchanged, a byte-compatible proxy upgrade.
## Background
Today, if a daily auction ends with no bids, the Auction House calls \`nouns.burn(nounId)\` and the Noun is destroyed forever. This is the original 2021 behavior and has not been revisited. Burning permanently shrinks supply, losing the DAO's option to ever re-auction, grant, or otherwise put that Noun to use.
The bid path already routes ETH proceeds to \`owner()\` (the DAO Executor). The no-bid path should route the Noun itself to the same address, for the same reason.
## The change
```
if (_auction.bidder == address(0)) {
- nouns.burn(_auction.nounId);
+ nouns.transferFrom(address(this), owner(), _auction.nounId);
} else {
nouns.transferFrom(address(this), _auction.bidder, _auction.nounId);
}
```
That's the entire behavioral diff. After execution, no-bid Nouns become a Treasury asset and can be re-auctioned, granted, held in reserve, or burned retroactively via a follow-up proposal. Burning day 1 preserves none of those options.
## Why a new V4 contract instead of mutating V3
By Nouns DAO's existing convention every behavioral change has gotten a fresh version number (V1→V2 added clientId, V2→V3 added the sanctions oracle). The no-bid → treasury change is at least as material as either of those, so calling it V4 keeps the version number honest about live behavior. V3 source on Etherscan continues to describe what the old V3 actually does.
## Why transferFrom and not safeTransferFrom
The DAO Executor (\`0xb1a32FC9F9D8b2cf86C068Cae13108809547ef71\`, NounsDAOExecutorV2) is a contract and does not implement \`onERC721Received\`. Plain transferFrom lands the token without invoking the receiver hook, the same call shape used in the winning-bidder branch directly below. No new reentrancy surface: transferFrom does not call into the receiver, and \`\_settleAuction()\` is invoked from \`nonReentrant\` external functions.
## Technical details
- Auction House proxy | \`0x830BD73E4184ceF73443C15111a1DF14e495C706\` (\`auction.nouns.eth\`)
- Proxy admin (owned by Executor) | \`0xC1C119932d78aB9080862C5fcb964029f086401e\`
- New logic contract (V4) | \`0xbAE451A53C5162D8847490A043DD60BAaEF44C0B\` (verified on Etherscan)
- Storage layout | unchanged
- Constructor args | unchanged: nouns=\`0x9C8fF314…03\`, weth=\`0xC02a…cC2\`, duration=86400
\`- AuctionSettled\` event | unchanged signature; no-bid still emits \`(nounId, address(0), 0)\`
## Proposal action (single call)
```
target: 0xC1C119932d78aB9080862C5fcb964029f086401e
value: 0
signature: upgrade(address,address)
calldata: 0x000000000000000000000000830bd73e4184cef73443c15111a1df14e495c706
000000000000000000000000bae451a53c5162d8847490a043dd60baaef44c0b
```
## Test coverage
- \`test\_noBidSettlement\_postUpgrade\_transfersToTreasury\` — mainnet-fork upgrade test that performs the proxy upgrade against live mainnet state, settles a zero-bid auction past \`endTime\`, and asserts \`ownerOf(nounId) == AH.owner()\`.
- All existing V3 tests continue to apply unchanged — V4 is a strict superset of V3 behavior with one branch swapped, so V3's full test suite still validates everything except the no-bid path.
## Risks
- Past Nouns are unaffected.
- Already-burned Nouns stay burned.
- This proposal does not revoke the Auction House's ability to call \`NounsToken.burn()\` it only stops it from doing so on the no-bid path.
- A future proposal could remove burn authority entirely if desired.
- Indexer / UI tooling that detected "burned" by \`ownerOf\` revert will resolve future no-bid Nouns to the Executor instead.
- 100% vibe coded, no audit.
## Out of scope
This proposal does not pre-allocate what becomes of no-bid Nouns once they reach the treasury. Future governance decides on a case-by-case basis.
## Voting
FOR = the DAO should keep optionality over its own assets, and align the no-bid settlement path with the principle that nothing produced by the auction mechanism is destroyed unilaterally.
AGAINST = permanent supply destruction on a no-bid day is a feature you want to preserve.
[](https://zora.co/coin/base:0xd1d6315014ab305cd2820e8b7b9db6a670a7696b?referrer=0xae4705dc0816ee6d8a13f1c72780ec5021915fed)added og img for sharing
the way i see it is: what could be worse than the current situation anyway, as we burn the noun each day?
If we are happy to burn these, essentially giving them 0 value, why would anyone else assign them value??
If something goes wrong here, it will be good publicity, and is upgradable; there are also 2 days for nounish coders to review the 2 line change... @soli
+1
> "100% vibe coded, no audit."
upgrade(address,address)# Route No-Bid Nouns to the Treasury **NounsAuctionHouseV4 upgrade**
# Route No-Bid Nouns to the Treasury **NounsAuctionHouseV4 upgrade**
posting due to popular demand from tempetechie.eth
## TL;DR
Two-line behavior change in `NounsAuctionHouseV4._settleAuction()` (a renamed copy of V3): when a Noun's auction ends with zero bids, transfer it to the DAO treasury instead of burning it. Storage layout, events, public ABI, and constructor are unchanged, a byte-compatible proxy upgrade.
## Background
Today, if a daily auction ends with no bids, the Auction House calls `nouns.burn(nounId)` and the Noun is destroyed forever. This is the original 2021 behavior and has not been revisited. Burning permanently shrinks supply, losing the DAO's option to ever re-auction, grant, or otherwise put that Noun to use.
The bid path already routes ETH proceeds to `owner()` (the DAO Executor). The no-bid path should route the Noun itself to the same address, for the same reason.
## The change
```
if (_auction.bidder == address(0)) {
- nouns.burn(_auction.nounId);
+ nouns.transferFrom(address(this), owner(), _auction.nounId);
} else {
nouns.transferFrom(address(this), _auction.bidder, _auction.nounId);
}
```
That's the entire behavioral diff. After execution, no-bid Nouns become a Treasury asset and can be re-auctioned, granted, held in reserve, or burned retroactively via a follow-up proposal. Burning day 1 preserves none of those options.
## Why a new V4 contract instead of mutating V3
By Nouns DAO's existing convention every behavioral change has gotten a fresh version number (V1→V2 added clientId, V2→V3 added the sanctions oracle). The no-bid → treasury change is at least as material as either of those, so calling it V4 keeps the version number honest about live behavior. V3 source on Etherscan continues to describe what the old V3 actually does.
## Why transferFrom and not safeTransferFrom
The DAO Executor (`0xb1a32FC9F9D8b2cf86C068Cae13108809547ef71`, NounsDAOExecutorV2) is a contract and does not implement `onERC721Received`. Plain transferFrom lands the token without invoking the receiver hook, the same call shape used in the winning-bidder branch directly below. No new reentrancy surface: transferFrom does not call into the receiver, and `_settleAuction()` is invoked from `nonReentrant` external functions.
## Technical details
- Auction House proxy | `0x830BD73E4184ceF73443C15111a1DF14e495C706` (`auction.nouns.eth`)
- Proxy admin (owned by Executor) | `0xC1C119932d78aB9080862C5fcb964029f086401e`
- New logic contract (V4) | `0xbAE451A53C5162D8847490A043DD60BAaEF44C0B` (verified on Etherscan)
- Storage layout | unchanged
- Constructor args | unchanged: nouns=`0x9C8fF314…03`, weth=`0xC02a…cC2`, duration=86400
`- AuctionSettled` event | unchanged signature; no-bid still emits `(nounId, address(0), 0)`
## Proposal action (single call)
```
target: 0xC1C119932d78aB9080862C5fcb964029f086401e
value: 0
signature: upgrade(address,address)
calldata: 0x000000000000000000000000830bd73e4184cef73443c15111a1df14e495c706
000000000000000000000000bae451a53c5162d8847490a043dd60baaef44c0b
```
## Test coverage
- `test_noBidSettlement_postUpgrade_transfersToTreasury` — mainnet-fork upgrade test that performs the proxy upgrade against live mainnet state, settles a zero-bid auction past `endTime`, and asserts `ownerOf(nounId) == AH.owner()`.
- All existing V3 tests continue to apply unchanged — V4 is a strict superset of V3 behavior with one branch swapped, so V3's full test suite still validates everything except the no-bid path.
## Risks
- Past Nouns are unaffected.
- Already-burned Nouns stay burned.
- This proposal does not revoke the Auction House's ability to call `NounsToken.burn()` it only stops it from doing so on the no-bid path.
- A future proposal could remove burn authority entirely if desired.
- Indexer / UI tooling that detected "burned" by `ownerOf` revert will resolve future no-bid Nouns to the Executor instead.
- 100% vibe coded, no audit.
## Out of scope
This proposal does not pre-allocate what becomes of no-bid Nouns once they reach the treasury. Future governance decides on a case-by-case basis.
## Voting
FOR = the DAO should keep optionality over its own assets, and align the no-bid settlement path with the principle that nothing produced by the auction mechanism is destroyed unilaterally.
AGAINST = permanent supply destruction on a no-bid day is a feature you want to preserve.
For - Wins
FOR - 20 VOTES
mikegood | "Can’t wait to see one of these burned 🔥"
coolbeans1r.eth | "I'm down to clown"
AGAINST - 1 VOTES
gramajo | "🤷♂️"
ABSTAINS - 5 VOTES
For - Wins
FOR - 16 VOTES
coolbeans1r.eth | "I like the updated version of this prop 👍"
mikegood | "I don’t like that you had to compromise on your vision for this, honestly. But DAOs will DAO. Good luck"
AGAINST - 6 VOTES
ABSTAINS - 6 VOTES
Propdate 7 — STILL GOING
Lil camp has been down, but the Lil van build has not stopped. It has been about 3 months since my last onchain update for the Lil Nouns ice cream truck.
Since the last update:
- Roof fiberglassed, this dragged on for multiple weeks but is now done
- Chassis, new frame, and roof fully treated
- Old generator removed
- New rear floor structure built
- Rear door is now hinged and opening/closing flush
- Rear door still needs sealing, then we will add a pulley system so it opens like a Caribbean shopfront
- Front metal cleanup is underway
- Wiring has started
- Interior insulation and lamina have begun
- Wheels replaced/fixed, a couple were broken
- Currently tracking down a central brake pump, which may require a 14hr round trip next week....
- Was a bit optimistic with the full floor going in, ultimately decided the roof needed all that work first done well otherwise floor would get rekt
The team here is still hopeful we can finish this month, in a few weeks am flying to the UK for my sister’s wedding. It will be our first time back in 5 years so my kids will be with their grandparents (and great grandparents!) for the first time ever, will be there ~3 weeks.
With some luck, we source and install these parts next week. Will keep work moving while I’m in the UK, I will stay in daily contact with the guys in Limón, and help complete/wrap the build when I return to Costa Rica around the end of June.
Alongside the van, we have been testing, making, and selling Lil products here in Costa Rica, mainly food, ahead of van launch. We are also continuing to create and source handmade things that will fill the van with soul and make it come alive.
I’m looking forward to good vibes with the lil van: events, barter markets, design and music sessions, and a safe place for people of all ages to catch a nounish vibe. Hope some lil nouns can make it out here.
I see the light at the end of the tunnel.
I understand now.
Follow and participate in weekly updates and livestreams:
https://www.tiktok.com/@pipedasnowman
route-no-bid-nouns-to-the-treasury-**nounsauctionhousev3-upgrade**
does destroying them each day mean there is no tax obligation?
We are minting them anyway, this wouldnt be bringing in income, we wouldnt be selling anything. I think we might need to get one of the $25k an hour guys to tell us the answer here, hopefully doesnt take more than an hour.
+1
> Wouldn't this just create income tax obligation. ?
upgrade(address,address)# Route No-Bid Nouns to the Treasury **NounsAuctionHouseV4 upgrade**
# Route No-Bid Nouns to the Treasury **NounsAuctionHouseV4 upgrade**
posting due to popular demand from tempetechie.eth
## TL;DR
Two-line behavior change in `NounsAuctionHouseV4._settleAuction()` (a renamed copy of V3): when a Noun's auction ends with zero bids, transfer it to the DAO treasury instead of burning it. Storage layout, events, public ABI, and constructor are unchanged, a byte-compatible proxy upgrade.
## Background
Today, if a daily auction ends with no bids, the Auction House calls `nouns.burn(nounId)` and the Noun is destroyed forever. This is the original 2021 behavior and has not been revisited. Burning permanently shrinks supply, losing the DAO's option to ever re-auction, grant, or otherwise put that Noun to use.
The bid path already routes ETH proceeds to `owner()` (the DAO Executor). The no-bid path should route the Noun itself to the same address, for the same reason.
## The change
```
if (_auction.bidder == address(0)) {
- nouns.burn(_auction.nounId);
+ nouns.transferFrom(address(this), owner(), _auction.nounId);
} else {
nouns.transferFrom(address(this), _auction.bidder, _auction.nounId);
}
```
That's the entire behavioral diff. After execution, no-bid Nouns become a Treasury asset and can be re-auctioned, granted, held in reserve, or burned retroactively via a follow-up proposal. Burning day 1 preserves none of those options.
## Why a new V4 contract instead of mutating V3
By Nouns DAO's existing convention every behavioral change has gotten a fresh version number (V1→V2 added clientId, V2→V3 added the sanctions oracle). The no-bid → treasury change is at least as material as either of those, so calling it V4 keeps the version number honest about live behavior. V3 source on Etherscan continues to describe what the old V3 actually does.
## Why transferFrom and not safeTransferFrom
The DAO Executor (`0xb1a32FC9F9D8b2cf86C068Cae13108809547ef71`, NounsDAOExecutorV2) is a contract and does not implement `onERC721Received`. Plain transferFrom lands the token without invoking the receiver hook, the same call shape used in the winning-bidder branch directly below. No new reentrancy surface: transferFrom does not call into the receiver, and `_settleAuction()` is invoked from `nonReentrant` external functions.
## Technical details
- Auction House proxy | `0x830BD73E4184ceF73443C15111a1DF14e495C706` (`auction.nouns.eth`)
- Proxy admin (owned by Executor) | `0xC1C119932d78aB9080862C5fcb964029f086401e`
- New logic contract (V4) | `0xbAE451A53C5162D8847490A043DD60BAaEF44C0B` (verified on Etherscan)
- Storage layout | unchanged
- Constructor args | unchanged: nouns=`0x9C8fF314…03`, weth=`0xC02a…cC2`, duration=86400
`- AuctionSettled` event | unchanged signature; no-bid still emits `(nounId, address(0), 0)`
## Proposal action (single call)
```
target: 0xC1C119932d78aB9080862C5fcb964029f086401e
value: 0
signature: upgrade(address,address)
calldata: 0x000000000000000000000000830bd73e4184cef73443c15111a1df14e495c706
000000000000000000000000bae451a53c5162d8847490a043dd60baaef44c0b
```
## Test coverage
- `test_noBidSettlement_postUpgrade_transfersToTreasury` — mainnet-fork upgrade test that performs the proxy upgrade against live mainnet state, settles a zero-bid auction past `endTime`, and asserts `ownerOf(nounId) == AH.owner()`.
- All existing V3 tests continue to apply unchanged — V4 is a strict superset of V3 behavior with one branch swapped, so V3's full test suite still validates everything except the no-bid path.
## Risks
- Past Nouns are unaffected.
- Already-burned Nouns stay burned.
- This proposal does not revoke the Auction House's ability to call `NounsToken.burn()` it only stops it from doing so on the no-bid path.
- A future proposal could remove burn authority entirely if desired.
- Indexer / UI tooling that detected "burned" by `ownerOf` revert will resolve future no-bid Nouns to the Executor instead.
- 100% vibe coded, no audit.
## Out of scope
This proposal does not pre-allocate what becomes of no-bid Nouns once they reach the treasury. Future governance decides on a case-by-case basis.
## Voting
FOR = the DAO should keep optionality over its own assets, and align the no-bid settlement path with the principle that nothing produced by the auction mechanism is destroyed unilaterally.
AGAINST = permanent supply destruction on a no-bid day is a feature you want to preserve.route-no-bid-nouns-to-the-treasury-**nounsauctionhousev3-upgrade**
upgrade(address,address)# Route No-Bid Nouns to the Treasury **NounsAuctionHouseV4 upgrade**
posting due to popular demand from tempetechie.eth
## TL;DR
Two-line behavior change in `NounsAuctionHouseV4._settleAuction()` (a renamed copy of V3): when a Noun's auction ends with zero bids, transfer it to the DAO treasury instead of burning it. Storage layout, events, public ABI, and constructor are unchanged, a byte-compatible proxy upgrade.
## Background
Today, if a daily auction ends with no bids, the Auction House calls `nouns.burn(nounId)` and the Noun is destroyed forever. This is the original 2021 behavior and has not been revisited. Burning permanently shrinks supply, losing the DAO's option to ever re-auction, grant, or otherwise put that Noun to use.
The bid path already routes ETH proceeds to `owner()` (the DAO Executor). The no-bid path should route the Noun itself to the same address, for the same reason.
## The change
```
if (_auction.bidder == address(0)) {
- nouns.burn(_auction.nounId);
+ nouns.transferFrom(address(this), owner(), _auction.nounId);
} else {
nouns.transferFrom(address(this), _auction.bidder, _auction.nounId);
}
```
That's the entire behavioral diff. After execution, no-bid Nouns become a Treasury asset and can be re-auctioned, granted, held in reserve, or burned retroactively via a follow-up proposal. Burning day 1 preserves none of those options.
## Why a new V4 contract instead of mutating V3
By Nouns DAO's existing convention every behavioral change has gotten a fresh version number (V1→V2 added clientId, V2→V3 added the sanctions oracle). The no-bid → treasury change is at least as material as either of those, so calling it V4 keeps the version number honest about live behavior. V3 source on Etherscan continues to describe what the old V3 actually does.
## Why transferFrom and not safeTransferFrom
The DAO Executor (`0xb1a32FC9F9D8b2cf86C068Cae13108809547ef71`, NounsDAOExecutorV2) is a contract and does not implement `onERC721Received`. Plain transferFrom lands the token without invoking the receiver hook, the same call shape used in the winning-bidder branch directly below. No new reentrancy surface: transferFrom does not call into the receiver, and `_settleAuction()` is invoked from `nonReentrant` external functions.
## Technical details
| | |
|---|---|
| Auction House proxy | `0x830BD73E4184ceF73443C15111a1DF14e495C706` (`auction.nouns.eth`) |
| Proxy admin (owned by Executor) | `0xC1C119932d78aB9080862C5fcb964029f086401e` |
| New logic contract (V4) | `0xbAE451A53C5162D8847490A043DD60BAaEF44C0B` (verified on Etherscan) |
| Storage layout | unchanged |
| Constructor args | unchanged: nouns=`0x9C8fF314…03`, weth=`0xC02a…cC2`, duration=86400 |
| `AuctionSettled` event | unchanged signature; no-bid still emits `(nounId, address(0), 0)` |
## Proposal action (single call)
```
target: 0xC1C119932d78aB9080862C5fcb964029f086401e
value: 0
signature: upgrade(address,address)
calldata: 0x000000000000000000000000830bd73e4184cef73443c15111a1df14e495c706
000000000000000000000000bae451a53c5162d8847490a043dd60baaef44c0b
```
## Test coverage
- `test_noBidSettlement_postUpgrade_transfersToTreasury` — mainnet-fork upgrade test that performs the proxy upgrade against live mainnet state, settles a zero-bid auction past `endTime`, and asserts `ownerOf(nounId) == AH.owner()`.
- All existing V3 tests continue to apply unchanged — V4 is a strict superset of V3 behavior with one branch swapped, so V3's full test suite still validates everything except the no-bid path.
## Risks
- Past Nouns are unaffected.
- Already-burned Nouns stay burned.
- This proposal does not revoke the Auction House's ability to call `NounsToken.burn()` it only stops it from doing so on the no-bid path.
- A future proposal could remove burn authority entirely if desired.
- Indexer / UI tooling that detected "burned" by `ownerOf` revert will resolve future no-bid Nouns to the Executor instead.
- 100% vibe coded, no audit.
## Out of scope
This proposal does not pre-allocate what becomes of no-bid Nouns once they reach the treasury. Future governance decides on a case-by-case basis.
## Voting
FOR = the DAO should keep optionality over its own assets, and align the no-bid settlement path with the principle that nothing produced by the auction mechanism is destroyed unilaterally.
AGAINST = permanent supply destruction on a no-bid day is a feature you want to preserve.route-no-bid-nouns-to-the-treasury-**nounsauctionhousev3-upgrade**
upgrade(address,address)# Route No-Bid Nouns to the Treasury **NounsAuctionHouseV4 upgrade**
# Route No-Bid Nouns to the Treasury **NounsAuctionHouseV3 upgrade**
# Route No-Bid Nouns to the Treasury **NounsAuctionHouseV4 upgrade**
posting due to popular demand from tempetechie.eth
## TL;DR
Two-line behavior change in `NounsAuctionHouseV4._settleAuction()` (a renamed copy of V3): when a Noun's auction ends with zero bids, transfer it to the DAO treasury instead of burning it. Storage layout, events, public ABI, and constructor are unchanged, a byte-compatible proxy upgrade.
## Background
Today, if a daily auction ends with no bids, the Auction House calls `nouns.burn(nounId)` and the Noun is destroyed forever. This is the original 2021 behavior and has not been revisited. Burning permanently shrinks supply, losing the DAO's option to ever re-auction, grant, or otherwise put that Noun to use.
The bid path already routes ETH proceeds to `owner()` (the DAO Executor). The no-bid path should route the Noun itself to the same address, for the same reason.
## The change
```
if (_auction.bidder == address(0)) {
- nouns.burn(_auction.nounId);
+ nouns.transferFrom(address(this), owner(), _auction.nounId);
} else {
nouns.transferFrom(address(this), _auction.bidder, _auction.nounId);
}
```
That's the entire behavioral diff. After execution, no-bid Nouns become a Treasury asset and can be re-auctioned, granted, held in reserve, or burned retroactively via a follow-up proposal. Burning day 1 preserves none of those options.
## Why a new V4 contract instead of mutating V3
By Nouns DAO's existing convention every behavioral change has gotten a fresh version number (V1→V2 added clientId, V2→V3 added the sanctions oracle). The no-bid → treasury change is at least as material as either of those, so calling it V4 keeps the version number honest about live behavior. V3 source on Etherscan continues to describe what the old V3 actually does.
## Why transferFrom and not safeTransferFrom
The DAO Executor (`0xb1a32FC9F9D8b2cf86C068Cae13108809547ef71`, NounsDAOExecutorV2) is a contract and does not implement `onERC721Received`. Plain transferFrom lands the token without invoking the receiver hook, the same call shape used in the winning-bidder branch directly below. No new reentrancy surface: transferFrom does not call into the receiver, and `_settleAuction()` is invoked from `nonReentrant` external functions.
## Technical details
| | |
|---|---|
| Auction House proxy | `0x830BD73E4184ceF73443C15111a1DF14e495C706` (`auction.nouns.eth`) |
| Proxy admin (owned by Executor) | `0xC1C119932d78aB9080862C5fcb964029f086401e` |
| New logic contract (V4) | `0xbAE451A53C5162D8847490A043DD60BAaEF44C0B` (verified on Etherscan) |
| Storage layout | unchanged |
| Constructor args | unchanged: nouns=`0x9C8fF314…03`, weth=`0xC02a…cC2`, duration=86400 |
| `AuctionSettled` event | unchanged signature; no-bid still emits `(nounId, address(0), 0)` |
## Proposal action (single call)
```
target: 0xC1C119932d78aB9080862C5fcb964029f086401e
value: 0
signature: upgrade(address,address)
calldata: 0x000000000000000000000000830bd73e4184cef73443c15111a1df14e495c706
000000000000000000000000bae451a53c5162d8847490a043dd60baaef44c0b
```
## Test coverage
- `test_noBidSettlement_postUpgrade_transfersToTreasury` — mainnet-fork upgrade test that performs the proxy upgrade against live mainnet state, settles a zero-bid auction past `endTime`, and asserts `ownerOf(nounId) == AH.owner()`.
- All existing V3 tests continue to apply unchanged — V4 is a strict superset of V3 behavior with one branch swapped, so V3's full test suite still validates everything except the no-bid path.
## Risks
- Past Nouns are unaffected.
- Already-burned Nouns stay burned.
- This proposal does not revoke the Auction House's ability to call `NounsToken.burn()` it only stops it from doing so on the no-bid path.
- A future proposal could remove burn authority entirely if desired.
- Indexer / UI tooling that detected "burned" by `ownerOf` revert will resolve future no-bid Nouns to the Executor instead.
- 100% vibe coded, no audit.
## Out of scope
This proposal does not pre-allocate what becomes of no-bid Nouns once they reach the treasury. Future governance decides on a case-by-case basis.
## Voting
FOR = the DAO should keep optionality over its own assets, and align the no-bid settlement path with the principle that nothing produced by the auction mechanism is destroyed unilaterally.
AGAINST = permanent supply destruction on a no-bid day is a feature you want to preserve.route-no-bid-nouns-to-the-treasury-**nounsauctionhousev3-upgrade**
upgrade(address,address)# Route No-Bid Nouns to the Treasury **NounsAuctionHouseV3 upgrade**
# Route No-Bid Nouns to the Treasury **NounsAuctionHouseV4 upgrade**
posting due to popular demand from tempetechie.eth
## TL;DR
Two-line behavior change in `NounsAuctionHouseV4._settleAuction()` (a renamed copy of V3): when a Noun's auction ends with zero bids, transfer it to the DAO treasury instead of burning it. Storage layout, events, public ABI, and constructor are unchanged, a byte-compatible proxy upgrade.
## Background
Today, if a daily auction ends with no bids, the Auction House calls `nouns.burn(nounId)` and the Noun is destroyed forever. This is the original 2021 behavior and has not been revisited. Burning permanently shrinks supply, losing the DAO's option to ever re-auction, grant, or otherwise put that Noun to use.
The bid path already routes ETH proceeds to `owner()` (the DAO Executor). The no-bid path should route the Noun itself to the same address, for the same reason.
## The change
```
if (_auction.bidder == address(0)) {
- nouns.burn(_auction.nounId);
+ nouns.transferFrom(address(this), owner(), _auction.nounId);
} else {
nouns.transferFrom(address(this), _auction.bidder, _auction.nounId);
}
```
That's the entire behavioral diff. After execution, no-bid Nouns become a Treasury asset and can be re-auctioned, granted, held in reserve, or burned retroactively via a follow-up proposal. Burning day 1 preserves none of those options.
## Why a new V4 contract instead of mutating V3
By Nouns DAO's existing convention every behavioral change has gotten a fresh version number (V1→V2 added clientId, V2→V3 added the sanctions oracle). The no-bid → treasury change is at least as material as either of those, so calling it V4 keeps the version number honest about live behavior. V3 source on Etherscan continues to describe what the old V3 actually does.
## Why transferFrom and not safeTransferFrom
The DAO Executor (`0xb1a32FC9F9D8b2cf86C068Cae13108809547ef71`, NounsDAOExecutorV2) is a contract and does not implement `onERC721Received`. Plain transferFrom lands the token without invoking the receiver hook, the same call shape used in the winning-bidder branch directly below. No new reentrancy surface: transferFrom does not call into the receiver, and `_settleAuction()` is invoked from `nonReentrant` external functions.
## Technical details
| | |
|---|---|
| Auction House proxy | `0x830BD73E4184ceF73443C15111a1DF14e495C706` (`auction.nouns.eth`) |
| Proxy admin (owned by Executor) | `0xC1C119932d78aB9080862C5fcb964029f086401e` |
| New logic contract (V4) | `0xbAE451A53C5162D8847490A043DD60BAaEF44C0B` (verified on Etherscan) |
| Storage layout | unchanged |
| Constructor args | unchanged: nouns=`0x9C8fF314…03`, weth=`0xC02a…cC2`, duration=86400 |
| `AuctionSettled` event | unchanged signature; no-bid still emits `(nounId, address(0), 0)` |
## Proposal action (single call)
```
target: 0xC1C119932d78aB9080862C5fcb964029f086401e
value: 0
signature: upgrade(address,address)
calldata: 0x000000000000000000000000830bd73e4184cef73443c15111a1df14e495c706
000000000000000000000000bae451a53c5162d8847490a043dd60baaef44c0b
```
## Test coverage
- `test_noBidSettlement_postUpgrade_transfersToTreasury` — mainnet-fork upgrade test that performs the proxy upgrade against live mainnet state, settles a zero-bid auction past `endTime`, and asserts `ownerOf(nounId) == AH.owner()`.
- All existing V3 tests continue to apply unchanged — V4 is a strict superset of V3 behavior with one branch swapped, so V3's full test suite still validates everything except the no-bid path.
## Risks
- Past Nouns are unaffected.
- Already-burned Nouns stay burned.
- This proposal does not revoke the Auction House's ability to call `NounsToken.burn()` it only stops it from doing so on the no-bid path.
- A future proposal could remove burn authority entirely if desired.
- Indexer / UI tooling that detected "burned" by `ownerOf` revert will resolve future no-bid Nouns to the Executor instead.
- 100% vibe coded, no audit.
## Out of scope
This proposal does not pre-allocate what becomes of no-bid Nouns once they reach the treasury. Future governance decides on a case-by-case basis.
## Voting
FOR = the DAO should keep optionality over its own assets, and align the no-bid settlement path with the principle that nothing produced by the auction mechanism is destroyed unilaterally.
AGAINST = permanent supply destruction on a no-bid day is a feature you want to preserve.route-no-bid-nouns-to-the-treasury-**nounsauctionhousev3-upgrade**