How it works

One lifetime. One swap.

Every MOLD token follows a timetable of fees and limits that was sealed the moment it launched. This page shows that timetable at work: a token’s four stages from launch to the end, what happens inside a single buy, and how holding longer can lower your fees.

1 · A token’s life

Four stages, from launch to frozen

Every token goes through PourPour is the launch: the token is created, its rules are sealed and its Uniswap pool opens, all in one transaction., SetSet is the opening window right after launch, when rules are at their strictest to stop snipers and bots, and begin to ease., CureCure is the long middle stretch: fees fall and limits relax along the curves published at launch. and BreakBreak is the end point the creator chose (a date, or when every schedule is done). After it, rules never move again and the creator has no remaining powers., named after casting metal. Pick a stage to see the cast change and the rules that apply at that point.

Pour = launch: molten metal fills the empty mold once, the way the rules are set once.

Pour = launch

The launch. The token is created, its whole timetable of fees and limits is sealed, and its Uniswap pool opens, all in one transaction. From here nobody can edit the rules: not the creator, not the MOLD team.

Example: the Slow Cure rule set during Pour

Whitepaper valueThis value is set in the MOLD whitepaper for this ready mold.
Sell fee5%
Max wallet1% of supply

2 · Inside one buy

What happens when you press Buy

Five steps, all inside one transaction that takes well under a second. Open each step; the numbers are a real example using the Quench rule set.

  1. Your buy goes to the token’s own Uniswap pool, either from this site or from any Uniswap app. Your wallet shows the full transaction before you sign; MOLD never holds your keys or your ETH.

    Example: a 0.1 ETH buy of a token launched with the Quench rule set, 10 minutes after launch. Worked exampleA worked example against an example pool, not a listed token.

    In the contract: The swap goes through the token’s Uniswap v4 pool, which has the MOLD hook attached.

3 · Holding age (grain)

Patience, priced in.

MOLD remembers how long each wallet has held a token. That is called its grain, and rules can use it. Below, two holders sell the same amount on the same day: the rule charges the one who bought two days ago and lets the one who held for six weeks sell for free. Change the numbers to try your own rule.

The sell-fee rule

Whitepaper example
%
%
%
days
days
ETH worth
%
%
Protocol share

The Uniswap pool’s liquidity-provider fee (0.3% here) applies too. The protocol’s 20% comes out of the rule’s own cut, so what the seller receives does not change.

Holder A

Each cell is 3 days held

Sell fee rate4%
To holders0.0200 ETH
Burned0.0200 ETH worth
Pool fee (0.3%)0.0030 ETH
Receives0.9570 ETH

0.957 ETH

Holder B

Each cell is 3 days held

Sell fee rate0%
To holders0.0000 ETH
Burned0.0000 ETH worth
Pool fee (0.3%)0.0030 ETH
Receives0.9970 ETH

0.997 ETH

One wallet’s grain record

Each wallet keeps a small record next to its balance. Press the buttons to buy, wait, sell or receive tokens, and watch the record and its age change.

Clock
day 0.0
Balance
0
firstHeld
not set
lastSold
not set
basis
—
Age
0 s
Nothing yet. Start with Buy 1,000.

The whitepaper says received tokens blend the receiver’s age by amount; this page uses an amount-weighted average of the two ages.

What the record stores

FieldSizeMeaning
firstHeld40 bitsWhen the wallet first held more than dust
lastSold40 bitsWhen the wallet last sold
basis96 bitsVolume-weighted average buy price
marks80 bitsFree bits for custom molds: referrals, streaks, badges

Holding age counts from the later of firstHeld and lastSold, so any sell starts the clock again. The whole record fits in one storage slot, so keeping it costs almost nothing.

Build a grain-clock rule in the Lab

4 · Under the hood

The four parts

Three contracts and a developer kit, each named for a step in casting metal.

The token standard

Mold

The token itself: a standard ERC-20 that also stores its rule timetable and each wallet’s holding age, and works out the fees on every trade and transfer.

The launcher

Foundry

Creates the token, seals its rules, opens its Uniswap pool, puts the whole supply in that pool and locks it forever, and makes the creator’s optional first buy, all in one transaction. It never holds anyone’s ETH.

The Uniswap add-on

MOLD hook

A small add-on to every MOLD token’s Uniswap pool. On every trade it asks the token for its fees and makes sure they never exceed the trade. MOLD runs no exchange of its own.

The SDK

Pattern Kit

For developers: tools for writing custom rule sets in Solidity, testing them and previewing them.

5 · For developers

Custom rule sets

Beyond the five ready-made rule sets (molds), a developer can write a custom one: one Solidity interface, registered with the Foundry before Pour. The evaluate function is a view: it cannot move funds, call other contracts with side effects, or change its own code. The Foundry records the mold’s code hash at Pour, so the token can only ever call that exact code.

Custom molds are admitted by allowlist and become permissionless when the upgrade key is renounced.

The interface, from the whitepaper

interface IMold {
  struct Trade {
    bool isBuy; uint256 amountIn; uint256 amountOut;
    uint256 reserveToken; uint256 reserveEth;
    address trader; address recipient;
  }
  struct Cut { address to; uint256 amount; }

  function evaluate(Trade calldata t, Grain calldata g)
    external view returns (Cut[3] memory cuts, uint256 burn);
}