Everything about Mawton Stock Pools, in two halves. First, in plain language: what a Stock Pool is, where the yield comes from, and how to use it. Then, further down, the full technical detail for anyone who wants to understand the mechanism or verify it on-chain themselves.
A new way to earn on a stock without betting on its price.
A Stock Pool lets you earn a steady yield tied to a stock, without needing that stock to go up. It does this by doing two opposite things at the same time: it holds the stock, and it takes an equal short position on the same stock.
Because those two sides are the same size and point in opposite directions, they cancel out. If the stock rises, the long side gains and the short side loses the same amount. If it falls, the reverse. Your position value barely moves either way. That is what "market neutral" means: you are not exposed to the price going up or down.
So if you are not making money on the price, where does the yield come from? From the funding rate, explained next. Today there is one live pool, SPY (the S&P 500), and more are planned.
You get paid the fee that leveraged traders pay.
The short side of a Stock Pool is a perpetual future (a "perp"), a contract that tracks the stock's price. On the venue we use, traders who want leverage on SPY mostly want to bet it goes up, so they hold the long side of the perp. To keep the perp's price tied to the real stock, the venue makes those long traders pay a recurring fee called funding, and that fee is paid to the people on the short side.
In a Stock Pool, you are the short side. So you collect that funding, credited to your own account every hour. Right now it works out to roughly 28% a year. You are not predicting anything, you are simply being paid to provide the other side of everyone else's bet.
Think of it like a liquidity pool in DeFi, except instead of earning trading fees, you earn the gap ("the basis") between a stock and its perpetual.
Three steps, done automatically when you deposit. You never touch them yourself.
Your deposit buys the SPY stock token on-chain.
That SPY backs your account on the trading venue, cross-margined.
An equal short cancels the price risk, and you start collecting funding hourly.
Because the stock you hold and the short you opened move together, a weekend price gap on one side is offset by the other. You end up holding market neutral SPY and collecting the carry.
Connect, deposit, earn, withdraw. Your wallet holds your money the whole time.
Self-custodial, always. Every action is signed by your own wallet. Mawton hosts the website and nothing else. It never holds, pools, or controls your funds, and it cannot move them.
Read live from the venue. These update when you load the page.
The base rate is set by the venue (about 28% a year, paid to shorts). It can move, and on rare occasions dip negative. The longest negative stretch so far was about five hours.
You only pay when you actually earn, and that fee flows back into the ecosystem.
Mawton charges a single fee: a 10% performance fee, taken only on the yield your position actually collects. There is no deposit fee, no withdrawal fee, and no management fee. If a position earns nothing, you pay nothing. The fee is calculated on the funding you accrued and applied when you unwind.
A worked example
At the current rate, on a $1,000 position held for a year:
Illustrative at today's rate. The rate moves, so real results will differ, and it can briefly go negative.
Where the fee goes: the MAWTON buyback
One hundred percent of that performance fee revenue is used to buy MAWTON on the open market. Nothing is minted for it and nothing is taken from a treasury allocation, it is open-market buying funded purely by real usage of the pools.
Funding accrues to positions, hourly.
Taken on the yield when a position unwinds.
That revenue buys MAWTON on the open market.
More usage means more buybacks. The cycle compounds.
So activity across every Stock Pool flows directly back into the token. Fees in, MAWTON bought.
Why it is built this way
A performance fee, rather than a deposit or management fee, means Mawton only makes money when you do. The incentive is simply to keep the pools working well and grow the amount that is earning. Routing that revenue into a buyback ties the token to real usage instead of speculation: the more the pools are used, the more buying flows to MAWTON. It is designed as a flywheel, not a promise.
What MAWTON is, and is not
MAWTON is a utility token. The buyback is a mechanism, not a dividend. MAWTON is not a claim on Mawton, its revenue, or its assets, it is not equity, and holding it is not a right to profit. Nothing here is a promise of price or return, and nothing on this page is investment advice.
Plainly, because it is your money.
The ~28% is a venue setting, not a guarantee. It has paid shorts the large majority of hours, but it can go negative (then the short pays) and the operator can change it.
Stock prices freeze when markets close and can gap on Monday. The cross-margin structure offsets this, but exits attempted while feeds are stale can price poorly.
Closing crosses an order book with limited depth. Large positions pay real slippage, and depth can thin when many people exit at once.
Funds sit in the on-chain venues (a DEX and the trading rollup) for the life of the position. A bug in either can impair funds. Mawton adds no contract of its own, which also means it cannot recover them for you.
Stock tokens and the trading venue are not available to US or UK persons. Nothing here is investment advice, and the yield figures are historical measurements, not promises.
The questions people ask first.
You do. Every step is signed by your own wallet and the funds live in on-chain contracts and your own account on the venue. Mawton cannot touch them.
You are hedged. The stock you hold and the equal short move opposite each other, so a crash (or a rally) roughly cancels out. You keep earning the funding regardless of direction.
Then for those hours the short pays instead of earns, which drags on your yield. Historically this is rare and brief, but it can happen. You can withdraw at any time.
Yes. There is no lock-up. "Withdraw all" unwinds the position and returns your USDG to your wallet. It settles from the venue back to your wallet within a few minutes.
Funding is credited hourly once your position is open. Note that the initial deposit can take a little while to credit on the venue before the position is deployed.
The underlying stock tokens and trading venue are not offered to US or UK persons, so Mawton cannot be either. The app blocks those regions.
No. MAWTON is a utility token that performance fee revenue is used to buy back. It is not a claim on Mawton or its revenue, and nothing here promises price or profit.
The rest of this page is for the technically curious: the exact mechanism, how orders are placed and scaled, how signing works, and every contract and endpoint so you can verify it yourself.
A Stock Pool is long spot plus an equal short perp. That is the whole idea.
When you deposit, the app runs the following, all signed by your wallet and your per-wallet trading key. Nothing here is custodial.
// A Stock Pool = hold the stock + short its perp, same size await pool.buy("SPY", notionalUSD); // 1 · buy SPY spot on the DEX await pool.postCollateral("SPY"); // 2 · enable SPY as margin (50% LTV) await pool.short("SPY-PERP", notionalUSD); // 3 · short the perp, net delta ≈ 0 // price risk cancels; what you keep is the funding: hourlyYield = fundingRate * notional / 8760 // 8760 hours in a year
Step 2 is the step that is easy to miss: the SPY you bought has to be explicitly enabled as collateral (multi-asset margin) or the short is unbacked and you are not actually hedged. Getting this wrong silently leaves you with directional risk, so the app always does it.
The details that make the on-chain orders actually execute.
Both the SPY spot market and the SPY perp use 4 size decimals and 2 price decimals. Order amounts are integers, so sizes are multiplied by 104 and prices by 102 before submitting. Orders are market/IOC against the live order book with a small slippage buffer.
// size_decimals = 4, price_decimals = 2 (both markets) baseAmount = Math.floor(size * 1e4); price = Math.floor(human * 1e2 * (isAsk ? 1 - slip : 1 + slip)); // markets SPY spot = market 2065 SPY perp = market 26 USDG = asset 3 SPY = asset 20
Sequential transactions each need a fresh nonce, and the venue rate-limits submissions (about two transactions per minute per wallet), so the app fetches a new nonce per attempt and never spams retries.
How trades are signed without ever giving anything custody of your funds.
Your wallet signs the on-chain actions (buying SPY, depositing, and withdrawing). For the order-book trades, the app generates a trading key in your browser and registers it to your account with a one-time signature from your wallet. That key can place and close trades, but it cannot withdraw to anywhere other than your own wallet. Withdrawals always go back to the owner wallet, by design.
The trading key is stored locally in your browser so you are not prompted every time. If it is ever lost, it can be regenerated and re-registered with your wallet. It is never a way for anyone else to move your money.
SPY is Stock Pool #1. The structure generalises to any stock with a liquid perp.
StockPool({ symbol: "SPY", // pool #1, live today spot: 2065, // DEX spot market perp: 26, // perp market id ltv: 0.50, // collateral factor }) // more pools coming: same engine, new tickers
As Robinhood Chain lists more stock tokens and perps, each can become its own Stock Pool here. One app, a growing shelf of market neutral yields.
Every number is read from public endpoints and every contract is on-chain. Nothing requires trusting Mawton.
| SPY Stock Token | 0x117cc2133c37B721F49dE2A7a74833232B3B4C0C |
| USDG | 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168 |
| Chainlink SPY / USD | 0x319724394D3A0e3669269846abE664Cd621f9f6A |
| Uniswap v4 PoolManager | 0x8366a39cc670b4001a1121b8f6a443a643e40951 |
| Uniswap v4 Universal Router | 0x8876789976decbfcbbbe364623c63652db8c0904 |
| zkLighter rollup | 0x94bab9693ba2f6358507effcbd372b0660afff9d |
| Venue data | api.rh.lighter.xyz/api/v1 · funding-rates · orderBookDetails · fundings?market_id=26 |
| Chain RPC | rpc.mainnet.chain.robinhood.com · chain 4663 |