Flashloan Actions: You borrow capital for a split second

Flashloan Actions: You borrow capital for a split second

In conversation with Brendons, from our team of Developers, about Enso’s new Flashloan Actions.

Let's start with the product. How would you describe it?

Enso Flashloan Actions give developers the ability to use a flashloan with any action they want. You specify what you want to execute, and then you wrap it in the flashloan.

The product presents multiple sources of loaned capital - is that not an aggregator?

I'd wouldn't use the term "aggregator." To me, an aggregator means multiple sources get compared, and the best one is chosen. That's not what this product does. We do have multiple providers, but we don't make a choose on behalf of the user. Instead, they specify it in the request.
It's not aggregating anything. It's giving you the option to enter a position using the flashloan feature.

Why can't a developer just call the flashloan contract themselves?

They can't, directly. The provider requires a smart contract on the other side to handle the callback, so you have to write and deploy one. That's the barrier. With Enso, you say: I want a flashloan, and here's the bundle of actions I want to execute with it.

Can you give me a concrete case?

Collateral migration. Say you've supplied USDC on Aave and borrowed against it, and you want to move that collateral to USDT. You can't just withdraw the USDC, as you'd go underwater and become liable to liquidation. With a flashloan, you can open the USDT position first, then withdraw the USDC and repay. You've migrated the position using capital you never had to own.

That's the second most common use. The most common is looping; increasing the size of a lending position to earn more yield, accepting a higher liquidation risk in exchange.

So the simple version is…

You borrow money for a split second, to do something that otherwise wouldn't be possible without excess funds.

Who is this for?

Not retail, so not you and me! It's for people building something: an app that wants to offer its own users collateral migration or looping, without writing and maintaining the contract for it. The app developer integrates it once, and their users get the capability.

Where did it come from?

Originally from our historic work with Bend, on Berachain. They had asked for looping positions, and when we tried to build it we hit limitations in the swap aggregator that we couldn't work around. So we looked at other routes, and flashloans were the obvious one for entering those positions. We started exploring, decided that was the direction, and proceeded along that path. I remember working on it around Christmas, and it was live in January.

And it's been live ever since?

Almost a year, so it has been tried and tested. We built it for one enterprise customer, and then our users kept asking whether we can support flashloans, so we'd send them the instructions on how to integrate. It just became an “off menu item” that Enso could power, until now.

Why is the timing good to announce this now?

While looping and position migration have always been available, what's different is how you get there. Other products offer a flashloan feature, but it's static: they've built a program for one specific purpose, and if they want a new one they have to write a new contract. Here, it's just a bundle. The developer's imagination is the limit.

Is there anything else you'd want users to know?

Don't box it into two use cases. Looping is the best known and migration is second, but it can be used anywhere excess capital is needed for the length of a transaction: liquidations, for example.