AMA with Justin Goro — 27/9/21

Josh C
Behodler Liquidity Engine
15 min readSep 28, 2021

--

The following is a transcript of an in-house AMA with Justin Goro held on the Behodler Discord on the 27th of September 2021. Happy reading!

Sp000ny asks, “Moving forward, will there be a way to create and manage a liquidity pair on behodler itself or will we continue to use Uniswap for this?”

Justin Goro: Thanks, JoshC for organizing this AMA at such short notice, and thank you to everyone who submitted! Your response was huge. It’s great to be on home turf again and I think it’s appropriate as we started this journey together with a discord AMA and now we’re about to fly into all that was promised. To quote a great Sith Lord, “The circle is complete”.

Now onto the first question:

This is the type of question that would be well supported by graphics but let me give it a verbal shot. Liquidity pairs are ubiquitous in Defi as most AMMs copy the Uniswap model. There are others such as balancer that allow groups of up to 8 tokens at a time or Curve which also allows a handful of like tokens. Let’s call the generalized notion of clustering token liquidity in one contract a group. So as examples, a uniswap group has 2 tokens and a balancer group is anywhere from 2 to 8.

Because groups are logically isolated, they require routing techniques to allow traders to swap tokens from one group into another. On the other hand, isolated groups offer security advantages because if one group contains a bad token, it doesn’t contaminate the whole AMM.

Behodler doesn’t have groups. Instead, Behodler is one big liquidity group of indefinite size. A big advantage here is saving on gas by keeping the base layer of trade simple. What we can then do is offer LP tokens (or groups from other AMMs) for swapping on Behodler. This allows users of Behodler to still get all the advantages of holding liquidity pairs but at a significantly reduced gas cost.

It also allows you to zap any token into LP tokens and vice versa which is far more convenient than first gathering together all the underlying tokens.

It’s also more efficient as quite often after adding to an LP, you have some “dust” left over because you didn’t quite get the 50:50 ratio correct.

When Behodler has hundreds of tokens, this feature will be unmatched in defi since existing zapping services offer only a handful of input tokens.

So one way to think of the Behodler AMM is as a liquidity trading virtual machine through which all the other AMM operating systems of Uniswap, Balancer, Sushi, etc can channel their liquidity efficiently.

Pandalucu66 asks, “Hey Justin, on Behodler, 100 tokens will be added. Will the price of SCX plummet because all tokens require the same level of liquidity to remain stable?”

Justin Goro: There’s no limit so it could be much more than 100.

Keep in mind that a great deal of these tokens will be LP tokens containing either SCX or PyroFlan. This will lead to a lot more burning of both of those tokens which then has the secondary effect of bringing in more liquidity to Behodler. SCX was specifically designed so that all that’s required for Behodler’s liquidity to grow is for SCX to be frequently traded.

So by using Behodler’s innate liquidity to drive SCX trading, we can create a feedback loop.

This process of self-perpetuating snowball liquidity growth is known as automining and its impact will come to overwhelm market sentiment as a driving force of liquidity growth on Behodler.

Opotatoo asks, “Do you have any project plans for combining NFT with DeFi? If so, Could you please describe how your project plan to support NFT development?”

Justin Goro: If you look at this commit from 14 February, you’ll notice I’ve added TODO code in the main Behodler repository https://github.com/Behodler/behodler2/commit/290bafbc5e084d3264a6449f5f0377602e05a50d.

It concerns NFTs as a device for metering flashloans. In all dapps that allow flashloans, the standard way of collecting rent is to charge a fee, usually in the underlying token being borrowed.

With Behodler, the terms of flash loan usage are programmable. Basically, we can write a smart contract that acts as the flash loan gatekeeper. What I’d like to try is to create one that demands the user possess a particular NFT. Then we charge the user no fees.

The purpose of this will be to prevent miners from front-running. It’s one of the ways we’re taking back MEV. Unless the miner owns that NFT, there’s no way of them stealing the trade. This gives us an opportunity to really think about how to create these NFTs and how to distribute them in a way that brings maximum benefit to Behodler.

Perhaps we could have a service that issues a flash loan NFT if you lock 10 SCX for 1 year or all holders of SCX/FLAN LP token. Maybe we airdrop them on any wallet that held EYE prior to the release of the new UI.

The nice thing about these flash loan NFTs is that they have utility and are therefore intrinsic value. This will spawn a secondary market for them.

It’s one of those areas where you just can’t stop innovating. One of the Behodler team introduced us to the idea of metadata NFTs where instead of having an image attached, it just has basic identifying data. This moves the representation of the NFT downstream to dapps that use it. I think this will create a kind of NFT composability. This is just one area to explore. NFTs are currently a lot like early altcoins. We can sense their potential but haven’t quite found the “ethereum” of NFTs yet but we all know we’re very close.

Anonymous asks, “Will the new UI evolve over time or is this it until a future re-write?”

Justin Goro: The new UI has been designed with lots of future-proofing in place. Most importantly, it’s modular.

Each dapp has its own isolated space and is installed like an npm package and can be swapped in and out with newer versions over time so that there’s no need to overhaul the whole site. We’ll be able to tweak and test new features quietly over time so that the user simply notices gradual improvement.

The cumbersome part which we’ve been working on was putting this all into place.

Anonymous asks, “Are there layer 2 solutions that Behodler will never expand to, or is anything open?”

Justin Goro: Nothing is off the table.

Sidechains like BSC and Polygon are also open. What we do want to be careful about are security and censorship. The goal of our Layer 2 strategy is ultimately to connect our liquidity pools across layers so that Behodler exists as one giant pool of liquidity across all of Ethereum.

If BSC is shut down and we lose a chunk of liquidity, that won’t be good for anyone so I tend to favour solutions that inherit the security guarantees of mainnet.

These solutions, by definition, are called Layer 2 solutions rather than side chains and are currently dominated by Optimism and Arbitrum (with hints of Polygon).

Arbitrum is working with Maker to create a permissionless, open bridge. That’s a really big deal in my opinion.

lcp087 asks, “I do think, SCX whales have higher chances of withdrawing more liquidity from Behodler? What different preventive measures have been placed at Behodler to prevent that?”

Justin Goro: Limbo and Flan are those measures. Pyrotokens have a part to play as well. The main reason Flan exists is that it allows us to distribute Scarcity evenly through the medium of a stablecoin rather than just handing it out pro-rata.

Limbo actually harnesses this effect you mention and transforms it into deep liquidity for Flan. What this means is that while SCX can be incredibly potent, it comes at a cost of volatility.

Flan is the yin to Scarcity’s yang and presents deep stability by sucking up SCX’s purchasing power.

Anonymous asks, “Is it correct to think of Pyrotokens like xSushi?”

Justin Goro: That’s a pretty good analogy but not perfect. For those who don’t know, Sushi channels a small percentage of fees from all trades into xSushi. If I understand it correctly, all the accrued fees from the various pairs are sold off for Sushi which is then deposited into a reserve for the Sushi wrapper token, xSushi.

xSushi has a redeem rate with Sushi which can grow but never fall. So from a fee gathering perspective, xSushi is conceptually exactly the same as a pyrotoken. Where pyrotokens differ is that pyrotokens burn on transfer and on redeem. By reducing the supply of pyrotokens through burning, the redeem rate automatically rises. So, like SCX, our goal is to get pyrotokens into as many liquidity pools as we can so that large volume traders automatically boost the underlying value. (Limbo plays a big role here)

The other difference between xSushi and Pyrotokens is the 1 to 1 mapping: Each Pyrotoken contract corresponds to one underlying base token.

So PyroWeth corresponds to Eth, PyroFlan corresponds to Flan, and so on. So rather than pegging all your faith on Behodler as a whole, you can still select your favourite token but you now have a much better HODL instrument.

I’d like to add that the APY on PyroWeth since its creation in February has exceeded all ETH yield instruments on all of defi.

TheWoodsman asks, “You have shared how pyrotokens accrue fees and how in the case of LP-pairs it can help reduce/avoid IL as you can get both UNI and BH trading fees — is there any trade-off/downside to holding pyrotokens that users should consider or is it a no-brainer to hold the pyrotoken?”

Justin Goro: It really is a no-brainer if you plan to hold. Bear in mind that redeeming comes with a 2% exit fee but pyrotokens will also trade on external AMMs so you can always just swap PyroETH for ETH if you want to avoid the 2% exit fee. The transfer fee is 0.1% which you should also factor in if you’re moving it around.

I’m personally excited for when we list steth and curve’s eth pools so that I can hold pyroSTETH.

An APY on ETH of over 10% (denominated in ETH) is not unreasonable in this case.

Anonymous asks, “What do you think of the Trident release?”

Justin Goro: I quite like the idea that Sushi is offering a fork of all the popular AMMs because of their new router. In fact, I think the router is the best thing about Trident. It means that unknown and unpopular pools will still get routed trade if they offer liquidity.

Currently, Uniswap’s router favours the big stablecoins, eth, and WBTC. It’s hardcoded to ignore unknowns.

So on pools like EYE/SCX, the biggest beneficiaries are bots, not real humans. That also means we’re losing trade we would otherwise get in a more efficient router paradigm. On Trident, regular site users will now be brought into the fold.

I think Behodler will benefit enormously from this and we’re quite keen to get as many Sushi pairs (SLPs) going as possible.

Also since Flan will target Dai, having Flan/Dai and Flan/USDC concentrated liquidity pools on Sushi and UniV3 will do wonders for Limbo. We’ll be able to expand the amount of Flan available for staking rewards enormously.

TheWoodsman, Lord of AMA questions, asks, “If Flan emerges as a thriftcoin that offers both:

A) Perpetual yield on Limbo that offers competitive APY as compared to other stablecoin staking

B) A truly decentralised stablecoin as it’s value relies on SCX backing

Is there not a strong argument that Flan could become the premier DeFi stablecoin? It would be more decentralised than other stables (even DAI is backed by USDC) and be more productive.

This obviously offers a big opportunity for Behodler in terms of liquidity and visibility in the DeFi landscape. So I guess my question is: Is that the plan for Flan or is it a misinterpretation of the recent article?”

Justin Goro: Excellent question, by the way! The Woodsman really is a mighty AMA Lord. So for those who don’t know, a Thriftcoin is a term I coined when I made WeiDai. It’s a stablecoin that can grow in value but can’t fall. So it’s like a Pyrotoken where the underlying token is a stablecoin.

But there are other ways to create thriftcoins. For instance, the USDC/USDT LP token on Uniswap is a thriftcoin since it can’t really experience impermanent loss but it gains trading revenue and your underlying tokens are always stablecoins. As mentioned, the current strategy with Flan pricing is to target it to Dai. And then on top of that, we’ll be offering staking rewards on Flan and PyroFlan. If Flan maintains its peg to Dai then PyroFlan will be a thriftcoin.

So how are we maintaining the peg?

Most stablecoins have a collateral asset. Dai has Eth, USDC, BAT and a bunch of LP tokens. USDC and USDT allegedly have fiat reserves.

What does Flan have?

All of Behodler’s liquidity through the powers of SCX are the asset backing Flan. As you can imagine, as Behodler grows, Flan can really expand and deepen in liquidity. This question by the Vala of AMAs is based on the premise that a highly successful AMM has an incredible amount of capital to offer. The decentralized aspect refers to the fact that Flan is governed by LimboDAO. So here’s the thing about Flan: it chases Dai with every migration but pegging to Dai isn’t the most important goal. There are no black swan protections in place like with Dai. If it drifts a bit occasionally, it’s not a big deal.

On every migration, we get 25 SCX to use in order to strengthen Flan. Now if the value of Flan has not fallen, we can mint new Flan worth 25 SCX and add it and the 25 SCX to the Flan/SCX liquidity pool on Sushi.

When this happens, Flan’s Dai peg gains in credibility because liquidity deepens by 50SCX worth of value. If this happens enough, we’ll reach a point where Flan will be so reliably pegged to Dai that traders will assume it’s 1:1 and set their expectations accordingly. At this point, we have a stablecoin. (This incidentally, is very similar to how successful central banks which target foreign currencies achieve their ends. So we have a century of experience to learn from)

However, suppose the value of Flan falls between migrations. Well, in this case, we can use some of the 25 SCX to boost the price of flan through price tilting. However, if the price falls enough, the 25 SCX won’t be enough. In this case, Flan loses its peg. So the trick is to not mint too much Flan between migrations that we land in this condition.

We have a few tools to help us:

If we offer a perpetual APY on Flan, we’ll encourage lockup which pushes up demand and allows us to mint more Flan for rewards.

This is a typical yield farming strategy. We can also offer Flan rewards to encourage lockup and burning of SCX and Flan. If SCX increases in value, then by definition we have more leeway with Flan. The two ways we can do this are with Limbo through staking rewards and Bonfire which pays people to burn EYE and SCX. Finally, PyroFlan is an automatic lockup instrument as it provides an ongoing APY.

I know this is one of my crazily long replies but to bring it all back, it all depends on whether we as a community manage Flan carefully at first. In time as it gains credibility and as the Flan/Dai Uniswap V3 pool grows, Flan may achieve full stablecoin status. At this point, yes, I think it will be an incredibly powerful marketing and signaling device for Behodler.

That’s when you’ll really wish you’d stacked EYE when Limbo was still in its infancy.

lcp087 asks, “As a South African, which one do you like to watch/play — Cricket, football, or rugby? My bets on cricket 😀😀”

Justin Goro: Ha, those are all pretty good guesses but rugby has a special place in my heart. I think it’s a pretty common sentiment in SA: most sports are just games but rugby has some sort of life or death, almost spiritual importance to us. I don’t think I could dislike it, even if I wanted to. I guess rugby is the bitcoin of sport for me.

-end of the prepared segment-

Live community questions:

Trevor asks, “Hey guys, I understand the fact that SCX price can be impacted if liquidity comes from an unknown project, still, I would like to know if there is a way we can add tokens automatically and list them. For example, if there is enough liquidity in Limbo could we merge it to Behodler in order to have a new token? Limbo would act as a sort of security condition… Thanks and cheers.”

Justin: Hey Trevor! Thanks for jumping in on the AMA. I won’t doxx you but for the rest of you, Trevor’s kind of a big deal. 🔥

Onto your question, this is something we’ve been playing around with in the far-flung shadows of discord for a while. Basically here are the three possible routes for new token listing:

1. Through a dispute resolution DAO mechanism. Here someone proposes a token with a bond that can be disputed and slashed.

2. A wrapper token which places guard rails on new tokens to prevent them from misbehaving. The wrapper is then listed on Behodler.

3. A mixed token comprised of say 10% new token and 90% EYE. If the token rugpulls, then holders are still left with 90% value in the form of the EYE.

Options 2 and 3 are open and permissionless. Option 2 is already required for listing both WBTC and BAT as they both don’t conform to the ERC20 assumptions Behodler makes.

This obviously requires a bit of work and option 1 will be the interim stand-in since solutions like Kleros and Tom W Bell’s Ulex already exist and are fairly easy to implement. But permissionless and open with cryptoeconomic guarantees is the end goal.

treebeard asks, “Firstly, thanks for those answers — they were amazing and make me even more bullish on the future of Behodler! Secondly, you already addressed L2’s and sidechains — would you consider developing on any alternative L1s in the future?

Justin: Thanks @treebeard! I’m not sure if the ‘you’ refers to me in particular or behodler in general. If me, then I’d need to clone myself. But for Behodler, this is probably a question for quite far down the road when the project is more mature and I don’t have much influence so my answering is probably not too helpful. One exception I will make right now is for meta blockchain meshing solutions like cosmos because it may help bridge layers but for now the potential of ethereum is still vastly undertapped.

As a dev I have to say the EVM and solidity scene and so well supported that it would have to take a miracle for me to consider launching a public ready smart contract using other tools.

mat3 asks, “Without saying wen, what are the next steps for limbo full release: is it currently being tested by devs? Will there be a testnet?”

Justin: There’s a dedicated front-end dev in the final stages of building out the staking section of Limbo. The next phase is to deploy to Kovan and for the team to test and then when it looks ready to release the Kovan version to the world. I will say that I still have verification work to do on the contracts. So the benefit of the testnet approach is that we can swap out and discard old contracts as they’re improved upon. Once we’re happy that we have a cryptoeconomically balanced, exploit-free set of contracts, we deploy to mainnet. We can keep the testnet running alongside mainnet so that new users can spend fake money getting accustomed to Limbo.

cryptoandrew asks, “So Behodler will incorporate LPs from all ethereum based AMM solutions if I’m not wrong. At the same time, it will also support the creation of its own LP. Will or can these two kinds of LPs be merged together in Behodler? For example LP with eye/eth from uni with LP with eye/eth from Behodler. Thanks”

Justin: Behodler’s tokens, Flan, SCX, and EYE will be in LPs listed on various AMMs. So if you want to migrate your Uni SCX/EYE to Sushi, you can just swap on Behodler rather than pay big migration gas fees. We also sometimes play with the idea of listing a balancer pool token of EYE, SCX, FLAN, EYE/ETH LP, SCX/EYE LP, FLN/SCX LP, FLN/DAI LP, or something to that effect to create a single representation of all of behodler in one token.

But we won’t have our own native LP tokens. As mentioned in one of the prepared questions, Behodler is one giant LP.

Trevor asks, “There’s a rumour going around in the crypto space that you are Andre Cronje’s neighbour, is this true?”

Justin: This is a misunderstanding. Elon, Andre, Mark Shuttleworth, and I were all created in the same lab. After we escaped, though, we moved apart and haven’t kept in touch.

cryptoandrew asks, “How cool is it to be a part of an innovative project like Behodler? From the outside, it seems you have a pretty cool team around you.”

Justin: Oh didn’t see this. It’s very cool and surreal! To see this thing which was originally some scribblings on white paper about bonding curves turn into what it is today and to have the community and the team throw themselves into making this come true is beyond what I could have expected. The team is loaded with very really talented, hardworking folk. And there are some silent heroes as well. For instance, Behodler would not exist without JohnJohn. He was the one who discovered that logarithmic curves were the answer.

-end of AMA-

Thanks to everyone who tuned in and asked great questions! Until next time.

--

--