See the fee before you sign.
Swap through Uniswap’s own router with the wallet you already use. The quote includes the fee, and the fee always stays between 0.05% and 0.41%, set by a rule that is public and cannot be changed.
Make a swapA Uniswap v4 hook that prices each swap with a 289-parameter neural network running inside the transaction: higher when the pool is jumpy, lower when it is calm. The fee needs no oracle and no keeper, nothing has an admin key, and every fee can be recomputed to the last bit.
Myelin is a normal Uniswap v4 pool with one difference: the fee is set by a model you can read, call and check. Pick where you start.
Swap through Uniswap’s own router with the wallet you already use. The quote includes the fee, and the fee always stays between 0.05% and 0.41%, set by a rule that is public and cannot be changed.
Make a swapThe fee rises when the pool gets jumpy and falls when it is calm. Your position is a normal Uniswap v4 position that the hook can never hold or lock. Read the backtest before you rely on it: it does not show that liquidity providers earn more.
Provide liquidityCall the model for free, read every swap’s inputs and fee from one event, open a pool with the hook, or deploy your own with a different policy. MIT licensed, no key, no signup.
Build with itFour beats inside every swap. The model only ever sees eight numbers built from the price moves the pool has already recorded: no oracle, no off-chain call.
After a swap that leaves the price 3 or more ticks from the last observation, in a later second, the hook folds the move into eight integers: the last move, three moving averages of movement, drift, a streak and two clocks. A swap of one wei, a flicker between two ticks or a burst inside one second changes nothing. That memory is one storage slot per pool, and it is all the model ever sees.
afterSwap eight integers · written only by a real move · one storage slot
Before the next swap, a 289-parameter network turns those eight numbers into one: how far the price is likely to move in the next minute. Whole-number arithmetic, inside the transaction, for about 22k gas.
beforeSwap 8 → 16 → 8 → 1 · integer weights · a pure function
A fixed policy maps that number to a fee between a floor and a cap. A calm pool pays little. A jumpy pool pays more, because that is when liquidity providers are most exposed to traders who know the price is about to move.
policy fee = clamp(floor + slope × (output − threshold), floor, cap)
The swap runs at that fee and a fixed share of it goes to the Treasury. Then, if the price really moved, the hook updates its memory, and it emits an event with everything it used, so anyone can recompute the decision. No keeper, no oracle, nobody in the middle.
afterSwap Reflex event emitted · memory updated by a real move · share minted to the Treasury
A fixed part of every fee goes to a Treasury that no one owns. It cannot pay a person. It can only buy the project token and burn it, and anyone can make it do that.
The policy picks the total fee for this swap, inside the floor and the cap.
It mints that part to the Treasury as claims, in the same transaction. The hook itself keeps nothing.
No owner, no admin function and no way to pay a person. It can only buy and burn.
At most 5% of the claims per call, once an hour per currency, and never at more than about 3% above the pool’s average price of the last half hour.
What the Treasury buys is destroyed in the same transaction. Every call is on-chain and listed on the Treasury page.
What this costs. The share comes out of what liquidity providers would otherwise earn, and the backtest does not show that they get it back in a better fee. The buyback’s price limit caps what a sandwich can cost the Treasury at about 3%. A pool has no price history to measure it against in its first half hour, and nothing calls the buyback by itself: anyone can, and a script in the repository does. The details are in the risks; the rules are in the Treasury docs. It buys back and burns MYL.
Before putting the idea on a chain we tested it on real swaps, and Shadow replays it on real pools. This is what came out, including what it does not show.
Prediction error of the next minute’s move: the network against a one-line rule. Lower is better.
ETH/USDG, what liquidity providers kept: the network minus the rule (95% interval −0.06 to +1.47).
Pools where the network beat the rule. The project’s own test asked for a majority, and this passes. It is not evidence of better returns: the rule got weaker on the new inputs, and only one pool is clear of zero.
The network predicts well. Whether that earns liquidity providers more is not shown: the test passes by its own definition, but the rule it beats got weaker, and in the busiest pool the margin cannot be told from zero. We claim no return. The method, every number and the full report are in the docs.
Real swaps of the ETH / USDG pool, replayed through the model.
The fee swappers really paid, on average. Another hook sets it.
What Myelin would have charged for the same swaps.
These are other pools’ swaps: Myelin’s own mainnet pool is new and starts empty. This compares fees, not returns: a lower fee means liquidity providers earn less on each swap. Numbers as of 2026-10-22 15:21 UTC.
A static fee never reacts. A keeper reacts from a server you cannot inspect. Myelin reacts inside the swap, with a rule you can re-run, and nobody can change it.
The model is a pure function. Call it from a script, a bot or a terminal, and compare the answer with what the hook itself would charge. No key, no signup, no wallet.
// Ask the deployed model yourself: a view call, free, no wallet.
import { createPublicClient, http, parseAbi } from 'viem';
const client = createPublicClient({ transport: http('https://rpc.mainnet.chain.robinhood.com') });
const pred = await client.readContract({
address: 'model address, published with the deployment',
abi: parseAbi(['function predict(int256[8] x) pure returns (int256)']),
functionName: 'predict',
args: [[12n, 1212n, 339n, 86n, -324n, 1n, 4n, 3181n]],
}); // 445n: ln(1 + about 4.7 ticks) x 256Connect a wallet, make a swap, then recompute its fee yourself. Nothing to sign up for.