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.| 5% | |
| 1% 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.
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 exampleThe 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 rate | 4% |
| To holders | 0.0200 ETH |
| Burned | 0.0200 ETH worth |
| Pool fee (0.3%) | 0.0030 ETH |
| Receives | 0.9570 ETH |
0.957 ETH
Holder B
Each cell is 3 days held
| Sell fee rate | 0% |
| To holders | 0.0000 ETH |
| Burned | 0.0000 ETH worth |
| Pool fee (0.3%) | 0.0030 ETH |
| Receives | 0.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.
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
| Field | Size | Meaning |
|---|---|---|
| firstHeld | 40 bits | When the wallet first held more than dust |
| lastSold | 40 bits | When the wallet last sold |
| basis | 96 bits | Volume-weighted average buy price |
| marks | 80 bits | Free 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 Lab4 · 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);
}