with Joey Zacherl, KeeperDAO Co-founder, and 0x market maker
Last week, we were fortunate to have Joey Zacherl, Co-founder of KeeperDAO, join us on the 0x Discord server for an inaugural community AMA event hosted by yours truly 😊. The event was well-attended and seemed to be a hit with attendees, so we hope this will be the first of many Discord AMAs. If you’re building on 0x and would like to run a similar event, reach out to me on Discord (nikita#4377) and let’s chat!
KeeperDAO is a DeFi protocol that lets participants in communal liquidity pools (known as keepers) participate in strategies involving margin trading and lending. KeeperDAO recently launched The Hiding Game, which is the cooperation between users and keepers (arbitrage bots) to hide MEV (miner-extractable value) by wrapping trades/debt in specialized on-chain contracts. It maximizes the profits available from these opportunities by having priority access. The profits are then shared directly with the user as a reward for using KeeperDAO. The Hiding Game uses the 0xv4 protocol for DEX trades.
Joey is also the founder of VolleyFire, a leading 0x market maker. You can learn more about Joey and VolleyFire here.
Q1: Please give some context on what “liquidation engine” means in the context of KeeperDAO and how it works?
A1: The first application of this liquidation engine is referring to a Hiding Game feature which will be launched soon. Our goal is to improve the DeFi user experience specifically in the scenario where a borrower faces a liquidation. Today, there’s a dark stormy cloud around liquidations. Gas auctions, oracle attacks and manipulation, collusion, etc., all to capture profit from liquidations. And at the end of the day, the user (borrower) is the one who’s taking this massive loss which ends up in the pockets of the other participants. We are building a better experience for the user where, in the event a liquidation takes place, the user gets rewarded based on the profit captured from their liquidation. Our solution eliminates gas wars, puts money back into users pockets, aligns incentive between users and keepers, and provides a better user experience than directly borrowing from an already existing protocol.
Q2: [Can you talk about the KeeperDAO] roadmap and how RenVM will be leveraged?
A2: We have some ideas we’re working on with regards to RenVM and renBTC. We’re not yet ready to make any big announcements. Stay tuned.
Q3: [What are your] top tips for an aspiring keeper? Coding languages, learning elements etc.
A3: Great question. I would love to start a keeper bootcamp or keeper university. Unfortunately our team is still too small to operate something like that, and we have a few higher priorities at the moment. Right now we’re catering more towards the experienced keepers. But here are some tips for noobs and intermediates.
– Find others keepers & bot traders to share ideas, bot architecture, etc even if you’re not working on the same project.
– The #Keepers channel in our discord has a lot of keepers actively chatting and lurking while they build in DeFi. https://discord.gg/YsT3nVZr
– Create a simple goal to get you one step closer to becoming a keeper. Could be as simple as successfully making calls to an ethereum node. Look up ethereum’s JSON RPC. Or you may already be doing that and want to focus instead on making your first successfully arb between two DEXs. You could also build a proof of concept DEX aggregator.
– Upgrade your already existing trading bot so that it can generically support any DEX integration. Scaling is critical, you should be able to take a new DEX, and plug it into your trading operation without a massive refactor.
– Strike a balance between performance and productivity. C++ provides amazing run time performance, but that programming environment may very well kill your development productivity.
– Integrate with 0xv4. This is the protocol used by the Hiding Game for DEX trades. 0x open orderbook will also be transitioning to 0xv4 soon, you’ll want to leverage that as well
– If you are a veteran keeper/bot trader, please reach out so I know to contact you when we’re ready to coordinate keepers. We’ll be onboarding the experienced veterans first.
Q4: [I’m] really, really, really tempted to stake USDC to earn ROOK
A4: On https://app.keeperdao.com/ you can stake. Stakers are known as liquidity providers, or LPs. This means your tokens are used for keepers to flash loan and capture profit. LPs earn ROOK rewards. LPs also earn deposit fees from other LPs. The purpose of the deposit fee is to incentive long term liquidity providers to stay, as opposed to short term yield farmers who deposit for one day, then withdraw the next day. This encourages people to provide liquidity for longer periods of time because they get a small reward from other LP deposits in addition to the ROOK rewards they collect from keeper activity.
Q5: What or how is 0x involved with KeeperDAO?
A5: KeeperDAO’s Hiding Game uses 0xv4 as the protocol for DEX trades. You can read more about that here: https://medium.com/keeperdao/let-the-games-begin-a36c3fd8ba90
We’ll also be launching our own ZRX staking pool once the 0xv4 RFQ protocol fee details are finalized.
Q6: Is Matcha going to be a Hiding Game partner? Or could the 0x API or Mesh network be a Hiding Game partner… or at what level is Hiding Game integrated? Just trying to better visualize how and where hiding game fits in to defi.
A6: We’ve extended the invite and we’re discussing how to proceed. There are some details yet to be worked out around how exactly to share the rewards with partners, as there are a few different ways to do that. We’d also like to find a way for the ROOK and ZRX token economies to work together. Whether that’s through the ROOK rewards mechanism, or the ZRX staking mechanism, etc.
Q7: What are the main updates on 0x v4 versus 0x v3? How do these compare with other competitors?
A7: From our perspective, the big ones are:
1.) Gas efficiency & optimizations.
2.) Orders fillable by only whitelisted group of takers (keepers)
Q8: Do you see other projects joining to integrate other private orderbooks, maybe with the different incentives? How can 0x API help facilitate the access to all different orders books, for users/relayers?
A8: 0xAPI is currently meant for open orders fillable by anyone. We currently host our HidingBook (the Hiding Game’s orderbook) ourselves on a server, but we have some plans to expand this in the future that may be relevant to your question. We would like to see this as a distributed orderbook, similar to how 0xMesh propagates the orders around a network.
Q9: When can we expect more keeper bots in the ecosystem? How does VolleyFire and KeeperDAO fit into the whole scheme of things? Can they benefit mutually from each other?
A9: We’ll be onboarding other keepers into the Hiding Game once we have finalized our plan for coordination.
VolleyFire operates the largest staking pool on ZRX and is an active market maker and trader in the DeFi space. It’s very common for Ninja, our internal keeper bot, to fill a VolleyFire order. For example, a Hiding Game user’s order may cross with a VolleyFire order. In which case the bot facilitates trade on both ends.
Also on the VolleyFire side, we are currently integrating with the HidingBook to market make and provide additional direct liquidity to help Hiding Game user’s facilitate trade.
Q10: Could we also see something in the future where 0x and KeeperDAO exchange tokens to create a mutually beneficial relationship?
A10: Certainly a possibility. Those formalities have historically done well.
Q11: How does Metric fit into the 0x and Keeper DAO puzzle?
A11: The most immediate benefit for METRIC and KeeperDAO is the HidingBook integration, where METRIC users gain access to the limit order reward system, and the Hiding Game gain’s the METRIC userbase. We’re open to deeper partnership discussions linking the token economics.
Q12: Are there any plans to implement organic growth through airdrops via ZRX/ROOK for using Matcha or KeeperDAO?
A12: Our current reward program is exactly that. Instead of an airdrop, you get rewarded for using the Hiding Game to trade. Right now, 100% of all profit captured by keepers via Hiding Game limit orders translates into a ROOK reward. You can read more about that here: https://medium.com/keeperdao/let-the-games-begin-a36c3fd8ba90
Q13: Will Volleyfire increase rewards shared in 2021?
A13: Great question. I don’t have a timeline for a change in the rewards share %. We’ve been letting economics play out, and watching other pools as they experiment with various share %’s.
One thing to keep in mind is that a fraction of that reward goes towards making our orders more aggressive and more likely to fill. In other words, our trading algorithm actually expects the reward and makes orders more aggressive accordingly. Which means we do take losses on some trades anticipating a reward to help counteract that. It’s also worth noting that you can never lower it, only raise it. So if we decide to raise it again, that will be a permanent change. Which means we have less reward to help make our orders more aggressive and more fillable which is a bit more restrictive.
We’re currently focused on doing more volume and adding new markets which also helps increase the reward quantity
Q14: How can a user (trader) earn ROOK through the hiding game? For context I placed a limit order yesterday — which was only filled 99.01% for some reason — and I have not seen any ROOK rewards?
A14: Great question. We’re working on making our app more intuitive and informational. And we’re also working on getting the user direct feedback on exactly where their rewards came from and how much. It will take some time to get all these features up and running.
In the meantime, here’s the answer to your question. Rewards are delayed about 24 hours. You’re likely waiting for that epoch to end (which should be ending any minute/hour now). Then your rewards will appear in https://app.keeperdao.com/ In the future, we’d like to provide more insight into the actual trade/tx link to etherscan/etc.
Q15: Great thanks for answering my question. I think it’s great that you’re integrating with community run projects like Metric. Really positive.
A15: We feel that DeFi projects are a huge reason for why MEV and profit opportunities exist in the first place. And today, 0% of the captured profit is going to them. This is a big thing we’d like to address. Which is why we are including partners in the ROOK rewards formula.
Q16: What is the future for ROOK supply?
A16: ROOK token economics do involve emissions. Which means the token supply inflates over time. The purpose of this is to increase the value of ROOK participants (users/keepers/partners/etc) over time, while diluting out everyone else. This approach provides a lot of benefits that something like a Bitcoin economy (finite supply) is completely unable to support. This is detailed in the whitepaper and will be expanded upon over time. You can follow up on this in our discord and our Medium
Q17: Do you have any plans of integrating other chains? For example BNB?
A17: We are evaluating both layer 2 and BSC(Binance chain). Right now, we need most of our focus on layer 1 because these opportunities will always exist on layer 1. But we also feel these various layer 2 solutions will provide opportunities for both KeeperDAO and VolleyFire. This is still in the brainstorming and R&D phase. We’ll reveal more in time.
Q18: Hi Joey, can you elaborate on criteria to become a keeper? Also, help us understand your bot competes with other bots, with regards to speed of execution? Lastly, have we considered an insurance policy to protect liquidity providers, if yes, what is the plan?
A18: See this: (previous Q/A3)
I’m working on a formal Q&A to help me determine whether or not someone is eligible to become a keeper in the short term. As mentioned, we’re currently catering to the veteran keepers since we’ll need their bot to be in tip top shape. In the future, once we’ve streamlined coordination a bit more we can loosen the requirements on keepers.
I don’t currently have guidelines to share. I’d say, if you’ve been writing trading bots on Ethereum for at least 1–2 years, and have made money trading, and have a wide range of DEX integrations, you’re the perfect candidate. If you don’t meet all of these requirements, keep working towards it because by the time you’re ready for us, we’ll be ready for you to join coordination efforts.
We don’t currently have an arrangement with an on chain insurance fund. It’s something we’re examining though.
Q19: what are the incentives to holding $ROOK? Is there any revenue/profit distribution to $ROOK holders or $ROOK staking pools currently or planned?
A19: ROOK holders govern the KeeperDAO treasury. which currently has over $32mm and is linked below. We’re still finalizing governance features, more will be announced on this soon.
We’ll also be enabling ROOK holders to bond their ROOK to keepers. You can read about this in the whitepaper. More details to be announced in the near feature once we get Coordination going.
Q20: What happens to MEV, and thus KeeperDAO revenue, once ETH 2.0 roll out is complete?
A20: Great question. Even with ETH 2.0, Ethereum layer 1 and MEV opportunities will always exist. ETH 2.0 may change the way we interact on the blockchain, but these opportunities will still exist. Layer 2 solutions are similar, they may change exactly how we behave, but there will always be arbitrage and liquidation to be captured. For example, we can bring the Hiding Game to a ETH 2.0 layer 2 solution.
Q21: Can you elaborate on the health and future of the staking pool “VolleyFire”? What does the next couple years look like for staking pools?
A21: I anticipate an increase in volume and rewards for the ZRX staking pools. Right now, there’s a lot of trading volume on 0x that does not generate a reward. 0xv4 and its evolution is beginning to change that. The 0x team is working hard on upgrading the protocol fee mechanism to be more efficient and more future proof.
On the VolleyFire side, we’re working on increasing trading volume and supported pairs, both of which increase generated fees. And we’re also preparing for the 0xMesh open orderbook to upgrade to 0xv4.
Q22: What are the next steps in the evolution of ROOK/HidingGame to improve the limit order experience?
A22: Great question. Above I mentioned how we’d like to provide the user more insight into how the rewards are calculated and exactly what tx hash filled the user’s order. But we have some other features we’re working on as well.
We’re building a feature that can be thought of as an instant limit order. Where you ask our API “what price do I need to set such that my limit order will fill instantly”? This is useful for 2 reasons.
1.) You just want to trade immediately and do not want to wait and are not picky about the price because you know you’re getting a ROOK reward during any arbitrage.
2.) You are curious what that price is, and want to set your trade price based on that price.
We’re also planning on having our keeper bot fill orders at medium and safe low gas prices instead of fast gas prices. Technically our keeper can do that today, but there are a few edge cases we need to address before we can do that consistently. For example, right now the fast gas price is 150 Gwei and the safe low is 109 Gwei. Ideally, every trade that has a decency long expiration, could be filled closer to 109. Lower gas price = more profit = more ROOK in the user’s pocket.
Q23: What factors will impact the likelihood to fill limit orders? Are there capacity limitations (orders that need filling vs keeper server ability?), or is it purely a matter of a limit order having a profitable enough arb? I’ve noticed that orders require some degree of compensation beyond estimated gas to get reliable fills. How does this get more competitive over time?
A23: This reply shines some light on this question: (previous Q/A22)
But also: order size, gas prices, prices of other DEXs, gas efficiency of other DEXs, etc. Right now, the most gas efficient way to fill a Hiding Game user’s order is with another Hiding Game user’s order. And because of this, we’re integrating VolleyFire to the HidingBook to market make and help provide liquidity.
The current gas price climate makes it hard for retail users looking to make small trades. I’ve noticed some users will try to put a $500 order when gas prices are ~300 Gwei. And it will almost certainly never fill because the bot would have to pay $100++ in gas in order to arb it.
So the larger the order the better. Because then it dwarfs the gas factor.
It’s also worth noting that if a trade requires 3 hops (WETH->USDC->LINK->WBTC) then the transaction will require more gas. As opposed to 2 hops (WETH->USDC-WETH). There’s generally more liquidity across a WETH path than a USDC. Path. So if a user is trading a random token for USDC or USDC for a random token. It generally takes 3 hops. But if the user is just trading a random token for WETH, it’s almost always 2 hops.
Q24: Are you hiring devs?
A24: Yes we are hiring. If you’re interested please send a CV.
Q25: Thanks, I’m wondering since the HidingBook is a private orderbook, that cancellations could be done off-chain as well because they don’t have to be distributed to nodes.
A25: We could implement a soft cancel, but there would be a small period of time where our keeper bots could still fill that order. Say for example they were already in the middle of processing and filling that order and you sent a soft cancel, right now there’s no event to send a last millisecond cancel to the bot.
This brings up an idea though, we could implement a soft cancel feature with a disclaimer. It would delete your order from the orderbook with the intention of hoping that it’s not already being filled. If that’s the case, you’re off the hook. But if the bot’s already filing it and the tx is already in mempool waiting to be mined in, you would need a hard cancel to cancel it.
Would you find this soft cancel feature useful? It would basically be a delete from orderbook feature. One thing we’d have to communicate with all of our keepers is that when it gets deleted from the orderbook, they need to delete it from their orderbook cache they keep in memory. Right now, our keeper bot only deletes it if it’s on chain state is actually not fillable. I would probably trick it by sending it an event saying the order is no longer fillable, resulting in the keeper bot deleting it.
Q26: A soft cancel or “cancel all” would be awesome and also clear the orderbook of some of those 99.8% filled hanging orders
A26: One tricky part here, if you do soft cancel, technically that order’s still fillable. If it gets filled, you won’t have any visibility since you’ve deleted it from the database.
Great questions everyone. Thanks for coming out!
Thanks for taking the time to hang out and share with us Joey!
♜ Follow KeeperDAO
» Website: keeperdao.com
» Twitter: @Keeper_DAO
» Discord: Join their server
🤝 Join the 0x community
🛠️ Build on 0x
Get started with our dev docs⠀Contribute on GitHub