BRICK Site Contracts Read the contract

Documentation

How BRICK works

Every mechanism, one at a time. Each number below is a constant in the contract, and each claim names the code that enforces it.

Built in public, brick by brick.

00 · Overview

Overview

Most tokens with a fee take a cut of your trade and send it away. BRICK keeps it, and spends it on the token itself.

A percentage fee usually leaves the moment it is charged. It goes to a treasury, a marketing wallet, a team multisig. The pool you traded in is no deeper than before, the supply is no smaller, and you paid for nothing you can point to.

BRICK charges 2% of every trade and spends 62% of it on liquidity that cannot be withdrawn and on supply that is destroyed. The rest runs the project, paid from real trades rather than from printing tokens. The token itself is an ordinary ERC-20: fixed supply, no owner, no team allocation.

2%fee per trade
1,000,000fixed supply
0team allocation
WETHthe pair
01 · The metric

The accounting metric

BRICK does not set, defend, or guarantee a market price. It reports an accounting metric based on the pool's recorded liquidity and the BRICK supply remaining after burns.

The implied liquidity price is the ETH held in the hook-owned position divided by circulating supply. That position only grows, because the hook permits no operation that removes it, and supply only falls, because each masonry event burns some. So the metric is non-decreasing by construction.

It is not a redemption price, a floor under the market, or a promise that trades execute there. Market price is set by trading and liquidity conditions and can move either way.

Enforced by floorPriceWei() monotonic ratio; excludes only the burn address
02 · The machine

The fee

2% taken in ETH on swaps through the official pool, across the supported swap paths: buys and sells, exact-input and exact-output.

The fee is taken by the hook, not by the token, so a plain transfer between two wallets costs nothing. Only swaps through the official pool are charged, and the charge is always on the ETH side, so the token leg you receive is exact.

2%FEE_BPS = 200
WETH sideboth directions
Enforced by beforeSwap / afterSwap skims the WETH leg into the pot
03 · The machine

The pot

The fee sits in the hook as WETH and does nothing until there is enough of it to be worth spending.

Nothing can take the pot out in the meantime. There is no withdraw function on the contract, for any address, including the one that deployed it. Once the pot reaches the threshold, one masonry event can run, and no more than one threshold of ETH is pushed through the pool per event.

0.10 ETHBRICK_THRESHOLD
0.10 ETHMAX_POT_PER_BRICK
04 · The machine

Masonry

Once the pot is full, any address may trigger a masonry event by calling layBrick(). There is no allowlist and no privileged caller.

Whoever calls it is paid a fixed reward for the gas they spend, and that is the whole of what they get. The event splits the pot, adds liquidity, burns supply, and records a brick. Triggering is permissionless and pays, so a keeper carries it reliably, but nothing about the protocol depends on any single caller.

Enforced by layBrick() public; 1.2% of the pot to the caller

One subtlety. The brick is credited to the trade that carried the pot over the threshold, not to whoever won the race to trigger it. The triggerer takes the ETH reward. It does not take the record.

05 · The machine

The split

One hundred parts, four destinations. Every number is a constant. Nothing in the contract can change them.

SliceShareWhere it goes
Liquidity35%Added as a position the hook owns and no one can remove
Burn27%Buys BRICK and destroys it, or pays the quarry's miners
Operations36.8%Paid in ETH to a fixed address; the project's only revenue
Trigger reward1.2%To whoever called layBrick(), carved out of operations

The team holds no tokens and takes a fixed, disclosed share of fees. A team that holds none of the supply cannot quietly sell into you, which is the failure mode a token allocation exists to enable.

Enforced by LP_BPS · BURN_BPS · OPS_BPS · KEEPER_BPS constants, no setter
06 · The machine

Liquidity the hook cannot remove

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. The position can only grow, because the only liquidity operation the hook permits is adding.

Enforced by beforeRemoveLiquidity reverts with FloorIsPermanent()
07 · The machine

The burn

27% of every pot removes BRICK from existence.

By default the protocol buys BRICK from the pool and sends it to a dead address. When the quarry has miners, that same slice pays them instead, and the BRICK they destroyed is what was removed. Either way, supply falls, and it never comes back.

Enforced by burn / GRAVE supply is removed, never minted
08 · Beyond the fee

The quarry

You mine by destroying BRICK. The 27% burn slice pays the miners who did, pro-rata to what they burned.

Mining is destruction: the tokens go to the grave and never come back, and in the same transaction circulating supply falls, which is the only input to the accounting metric. The reward is paid from real fees, not from emission. No supply is minted to pay it, no schedule halves it, and an epoch with no miners simply runs the ordinary buy-and-burn.

RuleDetail
Paid byThe brick after the one that closes the epoch, so nobody can burn at the last second and take a slice they did not build
Payout cap
Cap basisPool-price value of the BRICK destroyed, priced at settlement
ClaimsPull-based, and they never expire. An unclaimed epoch is still claimable in full a year later

Whatever the 3× cap declines is not kept. It flows back into the same buy-and-burn.

Enforced by QuarryEngine reward accrues per epoch; claim is pull-based
09 · Beyond the fee

The bricks

Every masonry event mints a fully on-chain brick, drawn from the data the event already recorded.

The hook records the block, the mason, the ETH locked into liquidity and the BRICK destroyed. A separate collection contract mints that record as an SVG rendered entirely on chain: no server, no external image host. The art is derived from the event, so the fire in the clay is a fossil of the price at that moment. It cannot write back to the hook, so it cannot touch the money.

Enforced by BrickCollection reads the hook; mints, never writes
10 · The token

The token

An ordinary ERC-20. The interesting behaviour is in the hook, not here.

PropertyState
Supply1,000,000 fixed
OwnerNone
MintNone
PauseNone
BlacklistNone
Team allocationNone. The entire supply seeds the pool at deployment
11 · The token

Guarantees

Each row below is enforced by code you can read, and the right column shows where. The last row, the third-party audit, is the one still in progress.

ClaimHow you check
Liquidity cannot be withdrawnThe remove path reverts for every caller
The implied liquidity price cannot fallfloorPriceWei() is a monotonic ratio (not the market price)
Supply only shrinksNo mint function exists
The split is fixedFour constants, no setter
Third-party auditNot done. No audited language is used until an external review is finished

The source, the tests and the in-house review publish at deployment, alongside the addresses that make every claim on this page checkable.

12 · The token

Contracts

Read the code. The addresses go live at deployment and link straight to the explorer.

ItemValue
ChainEthereum mainnet
VenueUniswap v4
PairWETH / BRICK
PoolManager0x0000…8A90
Token addressLive at launch
Hook addressLive at launch

WETH is the pair on purpose: an ERC-20 leg means explorers and aggregators index the pool correctly, and a native-ETH pair would not.