https://anyswap.exchange/#/router
So this anyswap is the first EVM bridge I've ever used (not counting centralized exchanges or wrapping LEO). The way that it worked intrigued me. It's a bit surprising that such a thing can even exist.
You send your tokens to Anyswap, and in return you're supposed to receive that same token on another network. Sounds simple enough, but the issue of providing liquidity and interoperability has never been a simple one on the backend.
LEO bridge
The way LEO does it is also a little weird. Tokens get sold into LEO, unwrapped into the core HiveEngine token, rewrapped into another EVM token, and then sold for the thing the user wants. This process creates quite a bit of friction, which each sale on a DEX costing a fee of something like 0.3%. Compared to a centralized exchange like Mandala this would only be 0.1%, and a centralized exchange like Mandala often has better liquidity and lower slippage as well.
Within this context the only point of using the LEObridge is convenience. The fees are high, but users don't have to figure out things like VPN or 2FA or anything like that. Coin goes in; coin goes out. Simple.
However, the biggest advantage of doing it this way is that LEO doesn't actually have to hold any static liquidity to accomplish the goal. All the liquidity is contained directly on the EVM chains and incentivized by the yields provided on each one.
For example, on Anyswap, if you want to move USDC from BSC to Polygon, the Anyswap platform actually has to have liquid USDC sitting on Polygon. This is a simple enough concept. If Anyswap doesn't have the currency on the platform you're targeting then you're out of luck. However, this is where things get interesting.
Because Anyswap has "fake" any-pegged tokens.
Just today I told a buddy of mine to use Anyswap because the Polygon node on Mandala is still "undergoing maintenance". He only wanted to move over $400, and there was plenty of liquidity to do so, or so we thought.
As it turns out, money on Anyswap moves around quite quickly, and by the time my friend's transaction was processed, Anyswap had already ran out of it's supply of USDC on BSC network.
What happened next?
Three hours later my friend told me he didn't get the money. Actually I was hoping for this outcome because I wanted to see how these 'fake' "pool share" tokens work. My friend was given 400 anyUSDC (2+ hours prior) on BSC chain and he then had to redeem them for the real thing by clicking on the button that says "Your Pool Share:". It was a fairly painless experience. He didn't have to wait longer because the liquidity was already available, and once you have Pool Share tokens you get bumped to the front of the line to receive tokens and get them instantly if they are available. No waiting 30 minutes.
"Estimated time of Crosschain Arrival 10-30 min."
When I first read this I was a bit put out. I have to wait half an hour to do something that would take me less time on a centralized exchange? I also just didn't understand the reason for the delay.
However, then I realized that the delay creates a ton of extra free liquidity provided by the users themselves. Ah, it all makes sense now. If I trade 2000 USDC on Polygon to BSC, and someone else trades 3000 USDC on BSC to Polygon 5 minutes later, Anyswap only needs to make up the difference of 1000 USDC on Polygon and everyone gets what they wanted. It's really quite a clever thing to do... create liquidity by simply forcing users to wait for a certain time so the needed liquidity builds up.
Fake tokens though.
I was fascinated by the fake tokens. I truly believe this concept has not even come close to realizing its full potential. Perhaps @khaleelkazi should take a look at how Anyswap/Multichain is running things, because this could help expand the LEO bridge quite a bit.
Again, the problem with bridging liquidity from one chain to another is having access to lots of tokens all over the place and constantly balancing them out and making sure they don't all end up in one place. In a world of DEFI where we can generate massive yields with liquidity just sitting around, it's pretty hard to make a bridge that's financially viable compared to the other options available in Cryptoland. This strategy of employing user liquidity via time-locks and fake tokens is a very good one.
https://app.multichain.org/#/router
Apparently Anyswap is rebranding to Multichain... Personally I think Anyswap is better but... whatever. I guess it's called Multichain now.
But that is neither here nor there...
The point is that I think these 'fake' pegged tokens are a great idea that we can expand on quite a bit. For example, what if we took the 'fake' tokens and made them real by pairing them to a liquidity pool?
So imagine we have a bridge and someone wants to move USDC from BSC to Polygon. The solution we have up and running now requires zero liquidity, but there are a lot of swaps, slips, and fees involved. What if we build out more solutions?
Taking a play out of the Multichain playbook, we could print leoUSDC on Polygon and give it to the user if the protocol didn't have any USDC on hand. This is free, because leoUSDC is a token that just gets printed out of thin air and sort of acts as an IOU; a promise that says: 'we owe you x USDC'.
However, imagine if we had an AMM liquidity pool up and running; pair between pLEO and leoUSDC. Depending on how much liquidity this pool had, the user might decide they don't want to wait for their IOU to be fulfilled. For example, if the user just wanted to bridge 100 USDC, and the slippage for trading leoUSD for pLEO was low enough (say <1%) then this user might decide they want the money now so they just trade the 'fake' pegged token that we created for pLEO instantly, incurring a <1% fee instead of waiting for the 0% fee that would allow USDC to be acquired directly.
I think this idea actually has a lot of power.
When we look at the network of liquidity that LEOfinance is trying to build out, creating these fake pegged tokens makes a lot of sense. If I have USDC on BSC and I want to trade it for USDC on Polygon using the LEO bridge... that is a LOT of transfers.
I have to transfer:
- USDC to BNB
- BNB to bLEO
- bLEO to LEO
- LEO to pLEO
- pLEO to MATIC
- MATIC to USDC
In exchange fees alone, this is a 1% tax, and that doesn't count the bridge fee or the slippage (which could be higher than 1%) or the wrapper bots. Creating a fake leoUSDC token on Polygon and adding a USDC/leoUSDC pair to the kingdom very well could be a much smarter way to play it. It totally cuts out the middle man.
- I have USDC on BSC.
- I give my USDC to LEOfinance.
- LEOfinance gives me USDC on Polygon if available.
- If not available I get leoUSDC.
- Now I can wait for USDC to be available or dump into the LP instantly.
Thinking of the arbitrage opportunities.
People love convenience, and they are often willing to pay a fee to get it. When someone receives leoUSDC on Polygon, they are often just going to want to get their money instantly. They wont care if they need to take a 0.5% fee, especially for more casual users transferring around less than $1000 at a time.
This means that when impatient users dump their leoUSDC for USDC on Polygon it's going to lower the price of leoUSDC, even though leoUSDC can be traded for USDC when the liquidity becomes available. This gives a massive opportunity for arbitragers to simply buy leo-pegged tokens when they fall below the peg, and all they have to do to turn a profit is wait for liquidity to become available (or provide that liquidity themselves). It is a system that would potentially create a ton of liquidity and convenience for the bridge, while also allowing new routes to be forged that have lower fees & slippage costs.
For example, the LEO bridge router could determine what's going to be cheaper: using the traditional bridge that we built originally, or using this new system I'm described here. By having access to both options the bridge can optimize fees and user experience. Does the user want to get their money quickly, or is the user willing to wait for 30 minutes? These priorities could also be factored into which route is taken and how much it costs to get there.
Single staking pools
I've always talked trash about single-stake pools because they provide no value to the network. Why would we allow some random to stake USDC by itself on an EVM CUB clone if that USDC isn't doing anything for CUB? However, now that we see that this bridge idea might have merit, single-staking tokens now have potentially a lot of value.
So imagine we allocate a tiny bit of yield to USDC 'dens' across several EVM chains. What is the value of that for the LEO ecosystem? Well, we can change how it works. Normally when you single stake tokens into a pool, you're not going to get LP tokens, because you aren't actually in a liquidity pool and this kind of staking has near zero value to the network except to generate hype (which always fades in time).
However, under this new system, we could give leo-pegged tokens in exchange for the real tokens. Why would anyone do this? Yield.
Example
- I have 10000 USDC on Polygon.
- I want to earn yield on this money without risking it in an LP.
- I go to polycub.com and stake it for yield.
- Now polycub.com has access to my USDC.
- polycub.com can then give this USDC to users that use the bridge.
- USDC on poly.com may become illiquid.
- What happens if I want to withdraw my USDC and they have none?
- I get leoUSDC instead (an IOU).
- These would be redeemable on other networks (like BSC/ETH).
- I get leoUSDC instead (an IOU).
The more I think about this kind of bridge, the more I realize how amazing it could be...
Making the users work for us.
Advanced users such as myself already have access to multiple centralized exchanges and a full toolkit of all the decentralized permissionless stuff as well. In many cases, actually using the LEO bridge isn't really worth it because we already know how to do all this other stuff.
However, I don't think this is a disadvantage for the bridge, and in fact I now view it as a huge advantage. LEO can basically employ its own community to provide liquidity to the bridge. It can be hard for a decentralized system to guarantee that $100k from one chain will actually get to another chain, but many users on LEO, if properly incentivized, would simply do this on behalf of the bridge using centralized exchanges.
What I'm trying to say here is that I think we can build systems that literally employ our advanced users to make life more convenient for the more casual users. This is a concept that can extend much further than simply bridging liquidity. Even the complications of onboarding, tutorials, tech support, and whatever else could be outsourced in a decentralized way to the community, creating a decentralized job market of sorts. This is the future we need to build if we want to truly disrupt the market. Number go up is not enough. We have to provide the paycheck, not just an investment opportunity.
Conclusion
The crux of a bridge is liquidity. Those who create these liquidity bridges need to have a ton of money on hand so that everyone gets what they want when they want it. Luckily in a decentralized atmosphere like crypto we can create new systems that create liquidity in a decentralized way allocating the resources of the users themselves to build out complex systems of wealth management.
By employing the strategies I've game-theoried in this post, I believe that we could easily create a bridge in which all the liquidity is provided by the users (much like the original LEO bridge). Except in this case fees would be much cheaper and we'd be able to piggy back on the liquidity provided by centralized exchanges themselves, turning advanced LEO users into arbitragers that get paid to give more casual users a convenient experience. I'll definitely be thinking about this a bit more in the months to come. There are a lot of moving parts, but I think it's worth it in the end.
Posted Using LeoFinance Beta
Return from Creating a bridge with fake tokens. to edicted's Web3 Blog