Osmosis Updates from the Lab, November 16: Front-end Updates & Stableswap

Stevie Woofwoof
Osmosis Community Updates
6 min readNov 29, 2022

--

Osmosis Updates from the Lab occurs on alternating Wednesdays at 1 PM EST (5 PM UTC) on the Osmosis Zone Twitter Space. Replays are available on the Osmosis YouTube channel or the podcast.

Front-end developer Jon Ator stopped by to tell us about the package of updates pushed to the Osmosis Labs front-end last week.

These updates include:

  • A navigation bar on the top — especially useful on the assets page where there are universal deposit and withdrawal buttons.
  • Pool incentives now include the APR from externally added incentive gauges. Pool fees are not included, but they can be seen in the (sortable! by APR!) pool list at the bottom of the Pools page.
  • Numerous other aesthetic and workflow improvements.

The team’s approach to this batch of updates was to ship it rapidly, planning to iterate in response to feedback. But while much of the feedback has been positive, users were not happy about some of the changes — in particular the decreased information density, the increased desktop font size, and the extra clicks added to the token selection workflow for swaps.

The team has been working to address that feedback, and the token selection and desktop fonts are much improved. However, the information density thin-out had a greater purpose: to simplify the interface so that when stableswap, lending, and the other DEX suite apps are added from the Osmosis ecosystem, they will be usable, and not overwhelming. However, the OSMO price on the side panel will be returning soon, along with a buy button!

There have also been some concerns around slow loading times. This has been largely a result of fetching prices from an ever-increasing number of pools as Osmosis grows. A number of fixes have been implemented already, so users should have noticed a speed-up, and the team continues to work to find more ways to allow pages to load more quickly.

On to some of the most obvious improvements! You can now buy OSMO from the Assets page:

Buying OSMO goes through Transak, which currently charges a 3.99% fee. The other current Osmosis fiat onramp, Kado, does not provide OSMO directly for regulatory reasons, but offers (Axelar) USDC for a slightly variable flat flee of $3.70 plus 0.45%, up to a daily limit of $3000.

These native integrations allow users to onramp to Osmosis without leaving the app, as do the long-standing Axelar bridge integrations. Rates should continue to improve as more competition for onramps develops, and perhaps with the addition next year of a native-issuance chain with USDC and other assets.

Going forward, the front-end team will return to the extensive user testing model that they used for the last major UI upgrade. While a quick pace of updates is exciting, it will create more buzz if all the changes work perfectly and have been beta tested by users with a chance to provide feedback.

Stableswap

With Osmosis v13 right around the corner, stableswap is finally almost here! The project was pushed back a couple of times since last February, largely in order to build out the framework for the Osmosis ecosystem — CosmWasm, other AMM improvements, onboarding teams from Terra — as well as dealing with Osmosis exploit.

Alpin from the Osmosis Labs chain-dev team, one of the lead architects of Osmosis stableswap, came by the lab to discuss the highlights.

As a reminder, stableswaps allow for trades between pegged or nearly pegged assets to occur with minimal price impact. This is important for stablecoin pools, of course, but also for liquid staking derivatives that trade against their native asset, e.g. ETH/stETH, OSMO/stOSMO.

Classic AMMs use the x * y = k (const in the graph below) constant-product market-maker curve, which results in substantial price impact. Stablecoin curves are able to flatten this curve out toward a 1/1 constant price because the two assets are expected to stay closely correlated within a tight range of the curve.

From the Curve Whitepaper

You may recall from previous UftL recaps that Osmosis stableswap was being built using a generalization of Andre Cronje’s Solidly curve, which works similarly to Curve’s stableswap invariant in the chart above, but with a more elegant equation: x³y + y³x = k.

Having a simpler equation allows for the more efficient on-chain computation of prices, swaps, tokens in/out, and so forth, which will continue to keep the Osmosis blockchain lean as volume increases. The leanness of the over-arching invariant does not mean that writing the code was simply a matter of plugging in the new invariant to the code. Rather, an arbitrary precision decimal point type had to be worked out for solving the equation approximately but with great precision.

Further, the developers had to fit both stableswap and non-stableswap pools into a generalized AMM codebase so that the new testing framework — featuring mutation testing and fuzz testing — developed in the wake of the June exploit could be used for all pools. The new codebase took more work to set up, but it will be easier to maintain and audit going forward, rather than building up technical debt.

One exciting novel feature of Osmosis stableswap is a “scaling factor” for the curve. This factor allows the curve to adjust to predictable price changes, such as the value accruing to a liquid staking token when staking rewards are passed on. In other words, as stATOM distributes ATOM staking rewards to its holders, 1 stATOM will probably start to be worth 1.01 ATOM, then 1.02 ATOM, and so on. The scaling factor can take this predictably shifting peg into account.

Alpin expects the stable pools to get a great deal of use, especially as Osmosis and the Cosmos ecosystem grow. Stablecoins are a core feature of Defi, and so — perhaps unfortunately from a security point of view — are liquid staking derivatives. Both of these need to be efficiently swappable to be most useful, and stableswap provides that for Osmosis. Ultimately, stableswap is an essential feature that will help Osmosis to grow and continue to integrate different applications into its trading suite.

Finally, a note on threshold decryption, which will allow the Osmosis mempool to be shielded in order to prevent the bulk of single-chain front-running. The basic model on the Osmosis side is finished—co-founder Dev Ojha recently released a co-written paper on the subject.

Work is currently blocked on ABCI++, in-progress and now renamed ABCI 1.0. This set of improvements to the Application-Blockchain Interface will allow for interactions to take place not just at consensus finalization but also at the new proposal (PrepareProposal) and mid-proposal (ProcessProposal) stages. Alpin projected that work could begin in earnest some time in early 2023, after concentrated liquidity — the next major chain development project — is released. See Sunny’s Osmocon speech for some high-level detail on concentrated liquidity. We will need to do a deeper dive soon!

Join us again November 30th on Twitter for our next Updates from the Lab!

Enter the laboratory at Osmosis.zone, the first decentralized exchange powered by the Cosmos SDK and IBC. See our published lab reports at the Osmosis blog, our bench notes at Github and help plan future experiments in our Commonwealth

Connect with other DeFi Scientists by following us on Telegram, Twitter, Discord, Reddit, and the new Facebook and Instagram pages

Reach out to Osmosis Community Updates by Email or Twitter and the Osmosis Support Lab by Email or Twitter

--

--