BRICK is a fixed-supply token paired with a Uniswap v4 hook. A 2% fee on swaps through the official pool accumulates toward the next masonry event, and the pot is routed by fixed contract rules into liquidity, BRICK supply reduction, operations, and the caller reward.
BRICK does not set, defend, or guarantee a market price. Its accounting metrics are not the same as market value.
1,000,000 fixed supply · 2% pool fee · 0.10 ETH event threshold · permissionless trigger
no owner · no mint · no team allocation · liquidity the hook cannot remove
Interactive structure unavailable on this device
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. Each trade contributes to a market that becomes more durable over time.
BRICK charges a 2% fee and directs 62% of it back into the token’s structure. A visible, on-chain use for every fee collected.
Every swap in the official pool pays 2% on the ETH side. Both directions, and both exact-input and exact-output, so there is no shape of trade that avoids it.
The fee is taken by the hook itself rather than by the token, which is why a transfer between two wallets costs nothing.
FEE_BPS = 200The fee sits in the hook as WETH and does nothing until there is enough of it to be worth spending. Nothing can take it out in the meantime.
There is no withdraw function on the contract, for any address, including the one that deployed it.
pot += feeOnce the pot reaches the threshold, any address may call layBrick(). There is
no allowlist, no keeper role and no privileged caller.
Whoever calls it is paid 1.2% for the gas they spent. That is the whole of what they get.
BRICK_THRESHOLD = 0.10 etherOne hundred bricks, one per percent. Thirty-five become liquidity, twenty-seven go to the quarry, and the rest funds operations with the caller’s 1.2% carved out of it.
The four numbers are constants. Nothing in the contract can change them.
LP 35% · BURN 27% · OPS 36.8% · KEEPER 1.2%The 35% is added as a position the hook itself owns, and the remove-liquidity path reverts for every caller that tries it, the deployer included.
It is not locked for a period. There is no path, so there is nothing to unlock.
revert FloorIsPermanent()The brick is credited to the swap that carried the pot over the threshold, not to whoever won the race to trigger it.
Triggering is permissionless and pays, so a bot wins that race every time. It takes the ETH. It does not take the record.
wall[idx].masonMasonry 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 deploymentYou mine by destroying BRICK. The tokens go to the grave and never come back, and in the same transaction circulating supply falls, and that is the only input to the accounting ratio this protocol is built on. There is nothing to unstake.
Each epoch's miners split 27% of one masonry pot, pro-rata to the BRICK they destroyed. That ETH was collected from real trades. No supply is minted to pay it, no schedule halves it, and no miner is paid out of another miner's loss.
An epoch is paid by the brick after the one that closes it. The delay is the point: the pot is public and anyone can trigger masonry, so without it a large holder could burn at the last second and take a slice they knew the size of.
0x…dEaD, where destroyed
BRICK goes. There is no path back, for anyone, including the protocol.Every miner in the open epoch holds a slab of it, sized by the BRICK they destroyed. When the next brick is laid, that course settles and its ETH becomes claimable.
Pull-based, and it never expires. An epoch you never got round to claiming is still claimable in full a year later. The contract has no sweep and no deadline.
The 27% runs the original buy-and-burn: the protocol buys BRICK from the pool and sends it to the grave. An epoch with no miners behaves exactly as the protocol did before the quarry existed.
Payout is capped at three times the pool-price value of the BRICK destroyed, priced when the epoch settles rather than when you burned. A lower price at settlement means a lower ceiling. Whatever the cap declines goes to the same buy-and-burn, and destroying one BRICK cannot capture a whole slice.
| Epoch | Destroyed | Miners | Paid | Rate / 1k | Your claim |
|---|---|---|---|---|---|
| No epochs have settled. Mining begins when the pool does. | |||||
Mining is optional and speculative. It does not mint a token, an NFT or a position, grants no governance rights, and is not a yield product.
An epoch pays a pro-rata share of the 27% slice, in real ETH from trades that already happened. What it pays depends on how much the pool traded and how much BRICK was burned into the same epoch, so commit only what you intend to burn.
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%.
Cumulative ETH credited to permanent liquidity, divided by circulating supply. Credited ETH only increases and supply only falls, so this figure cannot decrease. It is an accounting ratio, not a redemption right. No holder can exchange BRICK for that ETH, because it sits in a position the hook cannot remove. The contract calls it impliedLiquidityPriceWei() and not a floor, deliberately.
What the position actually holds right now. The LP is full-range, so its composition shifts with price. It is not the same number as the one above.
What the pool will trade at. Set by supply and demand. Nothing in the contract sets, defends, or targets it.
Two, both enforced in code: liquidity added by the hook cannot be removed by any address, and burned supply cannot return. Everything else is a consequence, not a promise.
How the numbers are defined, and what is still open
Liquidity added by the hook cannot be removed, and burned BRICK cannot return to circulation.
The implied liquidity price is a transparent on-chain metric: 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. |
| Test suite | 124 of 124 passing, including the mainnet-fork launch rehearsal against the canonical PoolManager and six stateful invariants over 96,000 random operation sequences |
| In-house review | Adversarial review complete, published at deployment, including known open items |
| Third-party audit | Not started. No audited language should be used until one is complete. |
beforeInitialize rejects every caller but the launcher, so the hook governs one pool and only one, permanently. This is not hypothetical: one recent v4 launch has 242 pools, of which 233 carry no hook. What protects fee capture in practice is depth, not permission. Routers send orders to the pool with the best price, and the protocol pool's liquidity is permanent and grows with every masonry event, while a rival pool would need someone to fund and maintain it at a loss. The claim this site makes is therefore "trades in the protocol pool pay 2%", and nothing stronger.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.
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.