A Uniswap v4 hook that turns swap activity into onchain structure.
Swap fees accumulate into a pot. When the threshold is reached, anyone can trigger the event, and the contract routes the pot across liquidity, BRICK supply reduction, operations, and the caller reward.
1,000,000 fixed supply · 2% swap fee · 0.10 ETH event threshold · wallet transfers free
Interactive structure unavailable on this device
One loop · four outputs · onchain
Most token fees leave the market through a treasury, marketing wallet, or team multisig.
BRICK keeps a portion of trading activity inside the system.
Fees are directed toward liquidity that remains in the pool and supply that is permanently removed. Trading activity creates measurable onchain outputs. It does not guarantee a market price, liquidity level, or return.
Each completed pot is split by fixed contract rules: 35% liquidity · 27% burn/mining · 36.8% operations · 1.2% caller reward.
Together, liquidity and burn/mining represent 62% of the pot. The remaining 38% is split between operations and the permissionless caller reward. A visible onchain route for every completed pot.
Every swap pays a 2% fee in ETH. It collects in the hook until the pot is full, then anyone can trigger a masonry event that spends it by fixed rules that no address can change or redirect.
A 2% swap fee enters the pot. Wallet transfers are free.
The pot grows until it reaches the 0.10 ETH threshold.
Anyone can call the event, permissionlessly, for a 1.2% reward.
35% liquidity · 27% burn/mining · 36.8% operations · 1.2% caller.
Each completed pot follows the published allocation.
The mechanism in full, step by step, is in the documentation.
Masonry history renders here once deployed.
Every BRICK holder is represented in the monument. Your brick's area reflects your current BRICK balance relative to total supply. Split a balance across multiple wallets and the total represented area does not increase.
Connect your wallet to highlight your brick.
Live, balance-proportional visual representation. Updates when you buy, sell, transfer, or split BRICK across wallets. Not permanent.
Permanent monument growth. The monument grows by one structural brick when layBrick() is successfully triggered. It never shrinks.
The holder wall above is a visual representation of current balances. Drawing your brick there does not mint anything, create a separate token, grant governance rights, or change the masonry accounting. It is a picture of who holds what, right now. The collection in §02 is the separate thing that is minted, and it is minted from masonry events, not from balances.
Each masonry event creates one fully on-chain SVG brick. Its traits come from the event itself: the BRICK removed, the caller, the triggering trade, and the event index. No server, no IPFS, no external dependency. The image is generated by a contract and read straight off the chain.
The fire is read off the BRICK that event destroyed. The protocol spends a near-fixed amount of ETH on each buy-and-burn, so the tonnage it buys falls as the price rises. An early brick is coarse and heavy, a late one dense and small. A brick carries the market it was made in. Scarcity comes out of history, not a rarity table.
When the quarry’s miners claim the burn slice, no clay is cut. Those bricks are struck through and unfired, and they exist only because somebody chose to destroy their own BRICK into that epoch.
A lattice glyph walked from the mason’s address, struck into the frog: the recessed panel a brick is moulded with and stamped in. One per hand, and never chosen by the person carving it. Anyone may pay the gas to mint a brick; it always goes to the trader who earned it.
Every masonry event mints a fully on-chain brick. These are specimen renders of the two types.
Bricks laid per address:
bricksLaidBy[], soulbound and monotonic
Every row below is enforced by code you can read, and the right-hand column shows exactly where to check it.
Brick.sol has no Ownable, no onlyOwner, no rolesno mint function exists; supply fixed at 1,000,000no proxy, no delegatecall, no implementation slotFEE_BPS is a constant, with no setter on the hookwhole supply enters the pool at launch; no vesting contractOPS_BPS, paid in ETH automatically each event to one immutable addressset once at deploy, no setter; the deployer cannot redirect it afterward. Intended: a multisigthe ops address only receives ETH; it cannot pause, upgrade, change fees or touch liquidity, no such function existsbeforeRemoveLiquidity reverts for every caller, deployer includedbeforeInitialize rejects every caller but the launcher, so no second pool can use this hookboth one-shot, both inert after launch, neither moves fundsno pause modifier, no transfer hook on the tokenin-house review complete, published at deployment
Eligible swaps pay a 2% fee on the ETH side. Fees accumulate inside the hook until the balance
reaches 0.10 ETH, about 5 ETH of trading through the pool. Any address can call
layBrick() and receive a 0.0018 ETH execution reward.
The remaining balance is processed by the fixed allocation rules below. Nothing forces that
volume to exist: the protocol builds at exactly the rate the pool is used, and at no volume it
does not build at all.
| Parameter | Value |
|---|---|
| Execution function | layBrick() |
| Fee applies to | Every swap in the protocol pool, both directions and both exactness modes |
| Fee can change | No. FEE_BPS is a constant with no setter. |
| Threshold | 0.10 ETH |
| Caller reward | 0.0018 ETH (1.2% of the threshold) |
| Chain | Ethereum mainnet |
| Pair | WETH / BRICK. An ERC-20 leg, so explorers and aggregators index the pool correctly |
Allocation percentages describe the distribution of each 0.10 ETH pot at the moment a masonry event executes. They are fixed constants in the contract and total 100%.
The contract does not set or target a market price. It reports one accounting metric, ETH in permanent liquidity divided by circulating supply, and nothing more. The full definitions, the quarry, and the metrics are in the documentation.
How the numbers are defined, and what is still open
The hook-owned liquidity removal path reverts, and burned BRICK cannot return to circulation.
This is an accounting measure, not a guaranteed market price or redemption value: cumulative ETH credited to the hook-owned liquidity divided by circulating supply.
The in-house adversarial review is complete. It has not been published yet, and no independent third-party audit has been done.
| Item | State |
|---|---|
| Deployment | Not deployed. No token, pool, bricks or on-chain history exist yet. |
| Token address | Does not exist yet |
| Hook address | Does not exist yet |
| Chain | Ethereum mainnet |
| Pair | WETH / BRICK. An ERC-20 leg, so explorers and aggregators index the pool correctly |
| Supply | 1,000,000 BRICK, fixed at deployment |
| Opening configuration | Target opening FDV 21 ETH (a launch-time parameter, not yet committed on-chain). The launch is single-sided: the pool opens holding every BRICK and no ETH, so no capital is committed at launch and nothing is bought. Buyers walk the price up through the founding range, and the ETH they pay accumulates inside it. |
| Third-party audit | Not started. No audited language should be used until one is complete. |
Every mechanism in full, plus the quarry, the metrics and the code, in the documentation.
The rules are public. The event is permissionless. The record stays on-chain.
Every trade adds to protocol-owned liquidity and permanently reduces BRICK supply, by fixed rules no address can change. The machine runs on its own, in public, on Ethereum.
BRICK does not set, defend, or guarantee a market price, a liquidity level, or a return. Its accounting metrics are not the same as market value.
Nothing is deployed. There is nothing to buy yet, and anyone offering you a BRICK contract address today is selling you something else.
The token address, the hook address, the source and the review all land on this page on launch day, together, because they are only worth anything to you as a set. Until then every figure here is a model and says so.
A new Uniswap v4 hook pool is not routed by the Uniswap web app. Buy through a Telegram trading bot, or paste the contract into your tool of choice.
Not deployed yet
Verify the address against this site before buying. Anyone posting a contract before launch is not us.