There’s a robot problem brewing.
Everybody is surprised to learn that Uniswap was designed for arbitrage. It’s in the first pages of their documentation. PancakeSwap is a literal copy of Uniswap. Rune uses PancakeSwap as it’s AMM.
They absolutely had the foresight to know bots would be a problem. But who cares, that’s somebody else’s problem. Our problem.
It’s a big problem
I think in the early days we underestimated how much value would be sucked out by these bots. Not only are arbitrage bots making millions of dollars, but they also front run on the blockchain (these bots are known as vampires). When you buy or sell a token on a DEX, an arbitrage bot will push the price up to make you pay the maximum with slippage, then sell it. So you end up with tokens that are literally worth less than they would have been in a single block.
Above, a real user bought 229 RUNE, increasing price to $34. A bot comes in arbitrages 224 RUNE, lowering price back down where it came from. So we have a lovely RUNE holder, but no price increase. In fact, often lower if the slippage was higher.
Is this a Rune problem?
Not at all. Generally speaking, most projects get hyped for a quick flip before they’re released, and dumped upon release. Then you’ve got the paper hands who say they’re in it for the long term, but have shiny object syndrome and move to the next thing 2–3 weeks later. On a normal exchange, this would be fine. But not Uniswap. Not PancakeSwap. As these paper hands leave, the loyal holders and newcomers are buying, but the bots are taking almost everything off the top. Whales know this, so they buy before a release, and dump on release day. They know the bots will help push the price down so they can keep doing this. What you get is hundreds of projects in a slow death spiral literally due to some ridiculous mechanic nobody knows is happening. Some know it’s bots, but don’t quite know the true impact of it. Others make up some other reason, because opinions are like assholes and everybody’s got one. What they don’t know, is the reason why everybody does pump n dumps is because doing a long-term project on a Uniswap-style AMM is a losing battle. Winning this battle will take tricks never seen before. At least I don’t think they’ve been done, but I’m pretty sure I can pull it off.
What are the solutions?
- Move to a centralized exchange. There’s still whales, but at least the value isn’t being sucked dry by bots that don’t know what you do or care. Well, that’s not totally true, you still have to deal with SBF and he’s ruthless but not as much as the bots.
- Fork PancakeSwap and change just enough that they won’t catch on to you until you’re already in top 100.
- Deter them with transfer fees and other mechanics.
- Write a better bot.
What will Rune do?
Well, we’re certainly not moving to a centralized exchange at this time.
Write a simple arbitrage bot that is omit from transfer fees. Current transfer fee is 1% on all rune tokens. So RUNE to EL is ~2% total. If our bot is omit, and people are using 2.1% slippage, the other bots won’t get profit so they won’t take action. The bot will need to see a difference of at least 2% before it will profit. Unfortunately a lot of users have high slippage, or a whale buys or sells a huge amount at one time, so that alone won’t be enough. We recommend buying/selling in smaller amounts until the next phases are rolled out.
Constantly improving this bot so that it executes faster and costs less fees. 1) Use chai gas tokens (which destroy other contracts, reducing gas costs). Use lower level code that’s faster. Run a node locally. Maybe deploy in fast data centers.
For all future rune LPs, use a custom BNB wrapper, so instead of using WBNB use what we’ll call ABNB. ABNB is 1:1 backed by BNB, but it doesn’t have the exact same interface as WBNB, so all existing bots won’t know what to do with it when they see it. And it’s doubtful they’ll want to wrap/unwrap BNB. This would need to be built into the Rune interface to simplify it. The downside is those runes wouldn’t work in Pancake. But Pancake is moving to V2 anyway, so they wouldn’t anyway. And who knows if Pancake is going to do a V3, because they want to change the fee structure again? (I don’t think this was a good enough reason to tell everybody unwrap your LPs like they’re doing. I’m also curious if they pursued backwards compatibility or just liked the promotion of high rewards for new LPs).
Because we know Pancake is going to take 0.2% fee on all LP trades, if there are any LPs that are paired with ABNB and are locked forever, then we know a certain amount of those ABNB will never be available to be unwrapped. Simple, right? So if it’s impossible they can be unwrapped, couldn’t we take them and use them for something else? Like a buyback? We’d want to do thorough testing before doing that, but it’s a nice option to have.
Release our own AMM, forked from PancakeSwap, that exposes the sender/receiver to the Pair contract, so when tokens are getting traded through the path, it can properly tax bots a nice heft 20%. Which they will never pay. This also allows us to only tax swaps, not LP wrapping/unwrapping like we do now because we don’t have the info needed from the token transfer function. We also gain the ability to change the paths, which in Uniswap and Pancake require you go through only their approved tokens (which is challenging when you have a high liquidity EL/TIR and TIR/NEF, so swapping EL for NEF should go EL -> TIR -> NEF, but it actually goes EL -> WBNB -> NEF, which is lower liquidity). We can also use ABNB as the native token rather than WBNB. The interface will handle the wrapping/unwrapping automatically, just like it does with BNB -> WBNB.
Further improvements to the AMM in a way we can protect our users with stability mechanics and our own bots. We can improve our bot to monitor the mempool for vampires, send a TX with a higher fee that taxes them so their transaction fails. Frontrun the frontrunners.
This is still tentative and a work in progress, but I believe we’ll see bots and whale manipulation drop off more at each phase until we’re left with true market activity and true value. And I think every project deserves true value.