How MEMEDEX swaps work
MEMEDEX is a swap built for Robinhood Chain. It lets you trade any token on the chain for any other, at the best available price, without ever handing over custody of your funds. This documentation is a full breakdown of how the swap finds your price, how each trading mode works, and why the system is built so you never have to trust us with your money.
Introduction
Every trade on MEMEDEX is a transaction you sign from your own wallet. It settles on-chain, and the tokens arrive in your wallet. There is no account to fund, no balance that we hold, and no point where your money passes through us. We route the trade and take a small fee, and that is the extent of our role.
The rest of these docs explain the machinery behind that: the routing engine that searches every venue for your best price, the three trading modes, and the safeguards that make each trade predictable and self-custodial.
How a swap works
A single swap goes through five steps. You only do two of them, choosing your trade and signing it, and the rest happens automatically:
- You choose a token to sell and a token to buy, and enter an amount.
- We search every trading venue on Robinhood Chain and simulate the strongest routes against the current state of the chain.
- We show you the amount you will receive, along with the price impact, any token transfer tax, and our fee.
- You sign one transaction from your wallet.
- The trade settles on-chain, protected by a guaranteed minimum, and the tokens land in your wallet.
Because step two is a real simulation rather than an estimate from a price feed, the amount you see in step three comes from the actual route your trade will take. If the market moves before you confirm, a guaranteed minimum protects you, which is covered further down.
Connecting your wallet
MEMEDEX works with standard Robinhood Chain wallets. You connect your wallet once, and it stays connected only to sign the trades you approve. We never ask for the ability to move your funds on our own.
When a token needs an approval before it can be traded, MEMEDEX requests approval for the exact amount of that one trade, not an unlimited allowance. You are never granting open-ended access to your tokens, and where your wallet supports it, the approval and the swap are combined into a single confirmation.
Easy mode
Easy mode is the simplest way to trade. You pick a token to sell and a token to buy, enter an amount, and MEMEDEX routes the best price across every venue on Robinhood Chain.
It is designed to stay out of your way. The quote shows what you will receive and the costs behind it, approvals are for the exact trade amount, and when your wallet supports it, everything folds into one confirmation. Easy mode is for anyone who just wants a clean, honest swap without extra screens.
Pro mode
Pro mode adds a full trading terminal on top of the same routing engine. Alongside instant market swaps, you get live price charts and a set of order types for trading with more control.
- Limit orders let you set the price you want and walk away. The order runs on-chain when the market reaches it.
- Recurring orders let you buy or sell a fixed amount on a schedule, so you can average into a position over time.
Your open orders are held by a trustless on-chain contract, not by us. That means you can cancel them at any time, and nobody else can touch or redirect them. Every market order in Pro mode still routes through the same best-price engine as Easy mode.
Under the hood, a limit or recurring order is an EIP-712 message you sign, not a transaction that locks up funds. It authorizes a fill only at your price or better, for the size and schedule you set. The signed order sits with an immutable, permissionless executor contract: anyone can submit a matching fill (we run a filler for convenience, but liveness never depends on us), the executor enforces your minimum on-chain and routes the fill through the same best-price engine, and it pays whoever fills a fixed, capped fee. A recurring order adds an on-chain interval and a per-fill cap, so each fill can only happen once its interval has elapsed. You can cancel any time, and nothing can ever be filled against terms you did not sign.
Degen mode
Degen mode is built for finding and trading new tokens quickly. It surfaces fresh launches and trending tokens in real time, shows you what active traders are doing, and lets you buy or sell any of them in a single click, including tokens that are still on their bonding curve.
Live holder and portfolio data help you size up a token in seconds, so you can move on momentum without leaving the page. Every trade still settles on-chain from your own wallet through the same engine as the other modes. The only thing that makes it degen is the speed and the discovery tools, not how your money is handled.
| Mode | Best for | Order types | Also includes |
|---|---|---|---|
| Easy | Clean, fast swaps | Market | One-tap approve and swap |
| Pro | Trading with more control | Market, limit, recurring (DCA) | Live charts, on-chain orders |
| Degen | Finding and flipping new tokens | Market, including bonding curves | Live launches, holders, trader activity |
All three route through the same best-price engine and settle non-custodially from your own wallet. The mode only changes the interface, never how your funds are handled.
The routing pipeline
Every quote, in every mode, runs the same pipeline. It turns "trade token A for token B" into a single signed transaction that captures the best price available on Robinhood Chain at that moment.
- Discovery. We gather every pool that can trade your pair across Uniswap v2, v3, and v4, hooked v4 pools, and any live bonding curve. Pools we already track are served instantly; an unknown token is discovered on demand and cached.
- Path construction. For the pair we build candidate paths: the direct pool if one exists, bridged paths through a shared asset (ETH, USDG, or a tokenized stock) when there is no direct pool, cross-version paths that mix pool types, and split paths that divide one trade across several pools.
- Simulation. Each candidate is simulated against live on-chain state by running the actual swap it would perform, so the output we quote is the output you get, not a number read from a price feed.
- Ranking. We score every candidate by the amount that actually lands in your wallet, after the pool fee, any token transfer tax, price impact, and the gas the route costs, then take the highest.
- Settlement. The winning route is packaged into one transaction, protected by an on-chain minimum, and executed through an immutable router when you sign.
The sections below break down each stage: the pools we cover, how bridged, cross-version, and split paths are built, why we simulate instead of trusting a quoter, how the winner is chosen, and how the trade is approved and settled.
Pool types
Robinhood Chain hosts several kinds of liquidity pools, and MEMEDEX routes through all of them. Each is quoted by simulating a real swap, so coverage never depends on a quoter modeling the venue correctly.
| Venue | What it is | How MEMEDEX routes it |
|---|---|---|
| Uniswap v2 | Constant-product pairs at one fixed fee | Directly, against the pair reserves |
| Uniswap v3 | Concentrated liquidity, tiers 0.01% 0.05% 0.3% 1% | Every tier of the pair is quoted, not just one |
| Uniswap v4 | Pools inside one shared PoolManager singleton | Executed through the PoolManager unlock and callback flow |
| Hooked v4 | v4 pools with a hook running custom swap logic | Supported. Simulated through our own router so the hook is priced from real output, where plain quoters fail |
| Bonding curves | Launchpad tokens priced by a supply formula, pre-graduation | Supported. Bought and sold directly on the curve, both directions |
For a lot of Robinhood Chain memecoins the deepest, and sometimes only, liquidity is in a hooked v4 pool or on a bonding curve. Covering every venue is what makes a token tradeable no matter where its liquidity actually sits.
The one honest boundary: a few launchpad tokens use a hook that only accepts swaps from Robinhood's own router and whitelists specific callers, so no third party can route them. We detect those and label them tradeable only on Robinhood, rather than quoting a trade that would fail.
Bonding curves
Many tokens launch on a bonding curve before they graduate to a normal pool. A bonding curve is a formula that sets price directly from supply: each buy moves the price up the curve and each sell moves it down, so early trades happen against the curve itself rather than against other traders.
MEMEDEX trades these curves directly, in both directions, through a router built for each launchpad's curve. You can buy and sell a token while it is still on its curve from the same screen as any graduated token, without waiting for graduation and without a separate tool. Once a token graduates to a v2, v3, or v4 pool, routing picks it up there automatically.
Cross-version routes
The two sides of a trade often live on different pool types. A token you are selling might only have a v2 pool while the token you are buying only has a hooked v4 pool. MEMEDEX handles this in a single transaction: it can sell through the v2 pool, move through ETH, and buy through the hooked v4 pool, mixing versions in one route.
This runs through a router that can settle v2, v3, and v4 legs, including hooked v4, inside one call. The whole route is atomic: every leg executes or the entire transaction reverts and you keep your original tokens. There is no state where one leg filled and the next did not, so a mixed-version route is never riskier than a direct one.
Bridge routes
When two tokens have no direct pool between them, MEMEDEX routes through a shared bridge asset that both sides trade against. The bridge is usually ETH or WETH, but it can also be USDG or a tokenized stock when that is where the liquidity is, which matters on Robinhood Chain where many tokens pair against a stock rather than against ETH.
We build the bridged path, simulate it end to end, and price the whole thing as one number, so the hop is invisible to you beyond the amount you receive. Bridged, cross-version, and split paths are all evaluated together, so a two-hop route only wins if it genuinely beats every direct option after costs.
Quote simulation
Most routers quote from a formula or a separate quoter contract, then hope execution matches. That breaks down exactly where Robinhood Chain liquidity lives: a hooked v4 pool can apply logic a quoter does not model, a fee-on-transfer token delivers less than the pool math implies, and a thin pool moves more than a spot price suggests.
MEMEDEX quotes are execution-aware. Each candidate route is simulated against the current state of the chain by running the actual swap it would perform, so the number you see already accounts for the hook, the transfer tax, the pool fee, and your own trade's price impact. This is why our quotes hold up when you trade, and why we can safely include pools other routers exclude: a route only wins if its simulated execution actually delivers.
Route ranking
Every simulated candidate is scored by what actually lands in your wallet: the output amount, minus the pool fee and any transfer tax (both already reflected by the simulation), minus the gas the route will cost, expressed in output terms. We rank by that net figure and pick the highest, so a route with a slightly larger raw output does not win if it costs more gas to execute.
We choose the global best across all candidates, not the first acceptable one, and every quote also compares our own routes against Uniswap's Universal Router and outside aggregators. Our routers tend to win where they reach liquidity the others cannot, hooked pools, bonding curves, cross-version paths, and stock-bridged pairs, but when an outside route is genuinely better for your trade, that is the one you get.
The best route wins, whether it is ours or not. We would rather route you through a competitor and take our small fee than give you a worse price to keep the trade in-house.
Approvals and settlement
Before a token can be traded it needs an allowance. MEMEDEX uses Permit2 and requests approval for the exact amount of the trade, never an open-ended allowance, and the router can only pull tokens for the swap you signed. Native ETH needs no approval; when you trade WETH we handle wrapping and unwrapping for you.
Where your wallet supports it, the approval and the swap are combined into a single confirmation using EIP-5792 batching, so a first-time swap is one tap instead of two. Wallets without it fall back to a normal approve-then-swap.
Settlement is a single transaction carrying an on-chain minimum received. The router performs the swap, checks that the output meets that minimum, and reverts the whole transaction if it does not. Nothing is custodied at any point: tokens move from your wallet, through the router, and back to your wallet within the same call.
Non-custodial by design
MEMEDEX never holds your funds at any point. There is no deposit step and no balance we control. A swap is a single transaction you sign, and the routing contracts cannot move your tokens without that signature.
This is a property of how the system is built, not a policy we promise to follow. Even we cannot take, freeze, or redirect your money, because the contracts simply have no path to do so.
Slippage and minimum received
Every trade carries a minimum received: the least you are willing to accept, written into the transaction and enforced on-chain. It is derived from your quoted output and your slippage tolerance, so a 2% tolerance sets the floor at 98% of the quote.
If the price moves against you past that minimum before the trade confirms, the transaction reverts and you keep your funds rather than filling at a worse price. Slippage defaults to a sensible level per trade and can be raised for volatile or thin tokens; a limit or DCA order uses the same mechanism, with its minimum set from the price you chose. This is your protection against a fast-moving market, a stale quote, or a sandwich attempt.
Price impact and transfer tax
Two costs can make a trade return less than the raw pool price, and MEMEDEX measures both from live on-chain state and shows them before you swap:
- Price impact is how much your own trade moves the pool along its curve. It grows with trade size relative to pool depth, so it is larger on thin pools and big trades. Because we simulate the real swap, the impact shown is the impact you will actually incur, and a route is blocked if impact runs past a safety ceiling.
- Transfer tax is a fee some tokens charge on every transfer of the token itself (a fee-on-transfer or "tax" token). It is set by the token, not by us, and applies wherever you trade. We detect it by measuring the token's real transfer behavior and fold it into both the quote and the minimum received, so a tax token does not silently fail or under-deliver.
A quote that looks lower than a competitor's is often just the difference between showing these costs and hiding them until the trade lands.
Immutable contracts
The routers that execute your trades are immutable smart contracts. Once deployed, their code cannot be changed, paused, or upgraded, by us or by anyone else. What can be audited today is what runs on your trade tomorrow.
Immutability is the reason the trust here is structural. You do not have to believe that we will behave well over time, because the rules of the system are fixed in code that neither party can alter.
The MEMEDEX token
The swap is one half of MEMEDEX. The other half is $MEMEDEX itself, a memecoin-index dividend token. Hold it in your wallet, and you automatically receive a basket of the strongest memecoins on Robinhood Chain, paid straight to your wallet as they are bought. There is no staking, no farming, and no lockup. The only requirement is holding at least 10,000 $MEMEDEX.
Everything that follows runs on-chain through a set of immutable contracts. The swap fee and the token's own trading fee feed the same engine, so activity across the product flows back to holders. The sections below explain exactly how that works.
| $MEMEDEX at a glance | Value |
|---|---|
| Buy fee / sell fee | 3% / 3% |
| Minimum balance to earn dividends | 10,000 $MEMEDEX |
| Automatic payout threshold | $1 owed |
| Manual claim | Any amount, any time |
| Index | 6 memecoins, market-cap weighted |
| Burned at launch | 30M (3% of supply) |
| Reserve locked until | March 3, 2027 |
The fee engine
$MEMEDEX charges a 3% fee on buys and 3% on sells. The fee is collected in the token, and once enough of it builds up, the contract swaps it to WETH and forwards it to the FeeRouter, which splits every fee three ways:
| Slice | Share | Where it goes |
|---|---|---|
| Memecoin basket | 69% | Buys the six index memecoins for holders, weighted by live market cap, distributed automatically |
| Buyback and burn | 20% | Market-buys $MEMEDEX; two-thirds is burned to the dead address, the rest goes to the treasury |
| Operations | 11% | Keeper gas, infrastructure, and the community budget |
The large majority of every fee, then, is spent buying tokens. Because the buyback burns two-thirds of what it buys to the dead address (which earns no dividends), those tokens leave supply for good. On top of that, 3% of total supply (30 million $MEMEDEX) was burned at launch.
How dividends work
The 69% slice buys the six index memecoins and credits them to every eligible holder in proportion to their $MEMEDEX balance. The accounting is an on-chain accumulator, so crediting a distribution costs the same gas whether there are ten holders or ten thousand.
Mechanically, each distribution of a memecoin adds to a running per-share figure, and what you are owed is your balance times the growth in that figure since your last checkpoint:
owed(holder) = balance * (rewardPerShare - checkpoint[holder]) / 2^128
The 2^128 scaling preserves precision, and rounding always favors the contract, so it can never owe out more than it holds. Whenever your balance changes, everything owed up to that point is settled first, which is what enforces the rule below.
The core rule: you earn on the balance you held while a distribution happened, and changing your balance only affects future distributions. Someone who buys in after a distribution earns nothing from it, and someone who sells keeps everything already credited to them.
Delivery and the payout threshold
Owed memecoins accrue to your address on-chain, then reach your wallet in two ways:
- Automatic push. The keeper pays a holder once what they are owed is worth at least $1. That floor is deliberate: it keeps the gas to send a payout a small, fixed fraction of the payout itself, so distribution stays economical no matter how many small holders there are. Below $1 your rewards keep accruing on-chain, nothing is lost, they just wait until they cross the threshold or you claim them.
- Manual claim. You can claim whatever you are owed at any time, any amount, from your portfolio on the $MEMEDEX page, and anyone can trigger a claim on your behalf. So you are never stuck waiting on the automatic push if you want your rewards sooner.
Eligibility and safety
- Minimum balance. Holding at least 10,000 $MEMEDEX makes you eligible to accrue dividends. Below that your shares count as zero (an anti-dust rule), and pools, routers, the treasury, and the burn address are permanently excluded so they never dilute real holders.
- A broken token cannot block payouts. If one memecoin reverts on transfer (a paused or malicious token), it is skipped and retried later, so a single bad token in the basket never freezes distributions for everyone else.
All of it is computed from live chain state, with no snapshots, no Merkle roots, and no off-chain scoring deciding who gets paid. The DividendTracker that holds this logic is fully immutable: no owner, no pause, no upgrade path.
Index weighting
The basket is the six strongest memecoins on Robinhood Chain, weighted by their live market cap and rebalanced on a schedule rather than every block, the way a real cap-weighted index works. As each memecoin rises and falls relative to the others, the weights track it automatically, with no manual intervention.
- Prices come from a manipulation-resistant time-averaged oracle, not a single spot reading, so a flash pump of one pool cannot skew the index for a block.
- A per-constituent cap keeps any single memecoin from dominating the basket. Raw weights are proportional to market cap; when a constituent hits the cap, its excess is redistributed to the others by iterative water-filling until every weight is under the cap and the set sums to 100%.
- A market-cap floor quietly drops dust and dead tokens from the basket without an admin transaction.
The weighting is a pure on-chain computation over the oracle and each token's supply; the keeper can only trigger the rebalance, it cannot hand-pick or inject weights. Between rebalances the buy budget is spent with time-averaged buys rather than in one shot, so the index's own buying does not move the memecoins it is accumulating.
Reserve lock
Roughly 5% of supply (50.7 million $MEMEDEX) sits in a reserve that is time-locked on-chain until March 3, 2027. It cannot be sold or moved before then, by us or by anyone else, and you can verify the lock and its unlock date directly on-chain.
The tokens are held by a lock contract that cannot release them before the unlock date. It is a structural commitment rather than a promise, enforced on-chain in the same style as the rest of the system.
Fees
MEMEDEX charges a flat 0.25% on swaps. There is no hidden spread, no priority-fee game, and no per-token markup. The exact cost of any trade or order is always shown before you confirm it.
The fee feeds the same on-chain engine that powers $MEMEDEX buybacks and holder dividends. In other words, activity on the swap flows back to the token and the people who hold it.
Contracts
You do not have to take our word for any of this. Every swap settles on Robinhood Chain, where you can inspect each contract and read back every trade. These are the live, on-chain addresses behind the product.
Routers
The immutable contracts that execute your trades across every venue and mode.
| Contract | Role | Address |
|---|---|---|
| Swap router | Multi-hop swaps, including v4 through the PoolManager | 0x457fc761fdc994081221ea9f8e9578f708b906ae |
| Cross-version router | Any token to any token across v2, v3, and v4 in one transaction | 0x74d702793936b60ec0f0a63f6151e74bf3012d71 |
| One-tap router | Permit2-native router for batched approve and swap | 0xcc1f431c545aa8001ab97e402f6a32c1f1854ed8 |
| Split router | Splits one trade across several pools | 0x2fc5bd5dd6ab7f454f5f36093afcf33861aff7c0 |
| Curve router | Bonding-curve trades | 0xffdEE265fb67F59c63a24ed1CA28Abba10A8145c |
| Flap-curve router | Bonding-curve trades on the flap launchpad | 0xBFA2480D4134c84709e9e5cEF0f6425173D7A44C |
| v2 fee router | v2 buy, sell, and token-to-token fee routing | 0x64a4EC1af5cfB999857dF444A2F5A0915F8bFcD1 |
| Order executor | Settles signed limit and recurring orders (Pro) | 0x1Db3c177649e581ba58f8d0bdCcedD916C44eEBC |
The $MEMEDEX engine
The contracts that collect fees, buy the basket, weight the index, and distribute memecoins to holders.
| Contract | Role | Address |
|---|---|---|
| $MEMEDEX token | The dividend token itself | 0x925c9da0A4Dd25b41ab15CC766B436e63b9d7777 |
| Fee router | Splits every fee 69 / 20 / 11 | 0xbA3A36B648bcE86c62a82134c38FBfc51A174C8E |
| Index manager | Computes weights and rebalances the basket | 0xcD2A0675D3FFCb5e7fC2C037EBf56828242E2A9D |
| Dividend tracker | Immutable per-holder reward accounting | 0xbef711cA8cF5861c0eEEbfAc36eE2e055C837693 |
| Venue adapter | Executes the index's on-chain buys | 0x4eCcECEce0f8A555Ef451ba66B1E62D93A813c93 |
| Price oracle | Manipulation-resistant time-averaged pricing | 0x065ec88E0F00Af22349e5F3905bA556eD5C312cf |
| Treasury | Holds reserves, bought-back $MEMEDEX, and skimmed memecoins | 0xBA690293226322f899E5cDD69c3f992134729f91 |
| Reserve lock | Time-locks the reserve until March 3, 2027 | 0x29175Ce5a77De648611F8b4509aA488dAe1bF503 |
MEMEDEX