Extension system
Every Frontier coin trades in a Uniswap V4 pool, and every one of those pools carries a hook: a contract V4 consults at each step of a swap, able to decide what the trade costs and to act around it. The hook is deployed by the protocol and is identical for every coin. What a creator configures is the set of extensions it delegates to.
What an extension can do is bounded by the hook itself, and what a creator picks is written into the coin permanently.
The path a swap takes
| Stop | The question it answers | Slots | Family |
|---|---|---|---|
| Transaction | a trader sends a swap | — | — |
| Fee | What does this swap cost? | up to 4 | Fee calculators |
| Swap | the trade itself, fixed | — | — |
| Observer | What should happen because this swap happened? | up to 4 | Observers |
| Fee recipient | Where does the creator's share land? | 1 | Fee recipients |
Fee calculators run in the order the creator chose, each seeing what the previous one decided. Observers run after the swap has settled, and cannot affect it.
The catalog
The app reads the catalog at runtime, so what it offers is what is currently available. A block admitted to the catalog becomes selectable on every launch that day, with no app release, and it changes nothing for coins that already exist.
| Block | Family | Configurable | |
|---|---|---|---|
| Dynamic fee | fee calculator | floor, mid and cap values | |
| Sniper tax | fee calculator | tax amount, window length | |
| Discounts and rebates | fee calculator | who pays less, and how much less | soon |
| Staking vault | recipient | community share | |
| Lottery | observer and recipient | round length, payout share | soon |
| Buyback and burn | recipient | nothing, it buys and burns | soon |
| Fee splitter | recipient | the payees and their percentages | soon |
A coin that uses none of them still has a working market: the pool falls back to a flat fee, and the creator's income goes to their wallet.
Two levels of access
Selecting. The blocks in the catalog are built and reviewed by the protocol. A creator picks them in the form, sets their values and submits. No code and no deployment.
Writing. The interfaces are public and permissionless. A developer deploys their own fee calculator or observer, and any creator can point a coin at it. The chain accepts anything that stays inside the safety limits; the Frontier interface lists coins whose blocks have been reviewed, and marks the ones running something else. See Developers.
Limits
Extensions run inside a cage enforced by the pool contract: no block can stop a trade, hold funds, exceed the fee ceiling, or touch the protocol and liquidity provider shares. Safety constraints is the full list.