# What is Sturdy?

Sturdy enables anyone to create a liquid money market for any token. Sturdy uses a novel two-tier architecture to isolate risk between assets while avoiding liquidity fragmentation. The base layer consists of risk-isolated pools; aggregation built on top enables lenders to select which collateral assets can be used as collateral for their deposits.

## How Sturdy works&#x20;

Sturdy introduces permissionless pooled lending, accomplished through a novel two-tier architecture. Here’s how it works:

#### Tier 1: Siloed Lending Pairs

Each siloed lending pair operates as a mini-lending market consisting of a single lending asset and a single collateral asset. For example, you could have a siloed lending pair where users can only lend or borrow USDC and can only use ETH as collateral.

Each siloed lending pair is isolated, meaning a user who lends to silo X has no exposure to silo Y. They’re simplistic, immutable, permissionless to create, and technically similar to Fraxlend. Silos themselves aren’t a new development and can be found in existing isolated lending protocols. What makes Sturdy V2 innovative is its novel method for preventing liquidity fragmentation. This is where the aggregation layer comes in.

#### Tier 2: Aggregators

The second layer of Sturdy V2 consists of aggregators that move funds between siloed lending pairs. Users lend a single asset to a Yearn V3 lending optimizer, which deposits the assets to whitelisted siloed lending pairs. Each aggregator automatically distributes lent assets among the whitelisted siloed lending pairs to maximize yield; aggregators use Sturdy’s Bittensor subnet to find the optimal allocation between whitelisted silos. Users lending to the aggregator would be exposed only to the collateral types they’ve chosen, with no exposure to other siloed lending pairs or collateral assets.

![](https://lh7-us.googleusercontent.com/KUKR3miNjQ3s-Tgzo5rLqnGVzAsgINT14vUa-8YI18lC7zJ62tfXurb1zlOwjNspHl7KawZmFltaF-CdCd2_cSVkxHNUMEYSqIoCXUbAvVJulB8hj6po5muUedbQZj_hw4Q_N72DRrlMa2R7qYM_yag)


# Why use Sturdy?

### Sovereign risk management

Existing lending protocols each have a single set of assets that users can lend, borrow, or use as collateral. This forces all users to take on the same risk and earn the same yield. But DeFi users have a wide array of risk tolerances: many prospective users would no doubt prefer to take on more risk for more reward or the reverse. Today, expressing multiple risk profiles in a single lending protocol is impossible.

Sturdy changes that. Users are able to select aggregators that fit their risk/reward profile, and can determine which silos they’re comfortable lending to. If an aggregator that fits their risk/reward profile doesn’t exist, they can create one!

### Permissionless and adaptable

With other lending protocols, assets must go through DAO governance to be supported. This process can take months (or even years), and restricts users to only the largest and most well-known assets. Most assets don’t even meet the basic requirements to be considered (like a Chainlink oracle). With Sturdy, anyone can permissionlessly deploy a lending market for any pair of assets.

### Isolated lending, without the liquidity fragmentation

A handful of projects have tried to circumvent the rigidity of permissioned pooled lending by isolating risk through separate pools. While this allows users to customize their risk profile, this approach comes with its own drawbacks. Lenders must actively manage their position to maximize yield as the pool rates fluctuate. Bootstrapping new pools becomes a chicken-and-egg problem, where borrowers are waiting for lenders, and lenders are waiting for borrowers. As a result, many pools tend to lie empty, with liquidity fragmented.

Sturdy V2's aggregators solve this. Bootstrapping liquidity for a new silo would be easily accomplished by whitelisting it in an existing aggregator, creating instant, deep liquidity from the moment a silo is deployed. Aggregators also vastly improve the lender experience, enabling them to deposit to an aggregator instead of having to manage many different positions.

### Decentralized and automated

Sturdy's aggregators employ the Sturdy Bittensor subnet to calculate allocations among whitelisted lending pairs. No need to actively manage your positions, or rely on centralized actors; Sturdy’s subnet rewards miners for finding the allocations that provide optimal yield.&#x20;


# Risk management

Each aggregator on Sturdy has an aggregator manager. Aggregator managers are responsible for risk management within the aggregator, and have a number of different roles and responsibilities.

**Whitelisting silos**

When aggregator managers first create the aggregator, they select which silos will initially be whitelisted. This list is not fixed. Managers can remove silos from the aggregator at any time at their discretion. They can also whitelist new silos; if the silo has not been whitelisted by governance, they must create a governance proposal to do so. If it has already been whitelisted by governance, aggregator managers do not need to create a governance proposal, however the transaction to add a new silo carries a timelock with a minimum of 24 hours. &#x20;

**Lending caps**

Aggregator managers can also set lending caps for each silo they've whitelisted. This puts a ceiling on the maximum amount that can be deployed to a given silo in order to limit risk. Lending caps can be changed at any time at the aggregator manager's discretion.

**Allocating assets**

Aggregator managers are responsible for determining the allocation of assets among silos. They can do so in two different ways:

1. *Automated*. Managers can whitelist Sturdy's Bittensor subnet, SN10, to determine the allocation of assets. The aggregator smart contracts provide an interface that links the aggregator to the subnet via API3's Airnode API gateway. Note that the whitelisted silos and lending caps are enforced at the smart contract level, meaning the subnet cannot override them. For example, if the subnet attempts to allocate assets to a silo beyond its lending cap, the allocation transaction will revert.
2. *Manual*. Managers can manually set the allocation of assets among silos. The allocation can only be among whitelisted silos and within lending caps, or else the allocation transaction will revert.

**Setting fees**

Aggregator managers can set fees for their aggregator. There are two kinds of fees: management fees (which collect a percent of AUM per year) and performance fees (which collect a percent of yield earned. Both fees are assessed at harvest.

**Harvesting**

In order for yield to accrue to the aggregators, managers run harvests. Harvests collect the yield from each silo individually and increase the value of the aggregator receipt token accordingly, growing the balances of all users who have deposited to it.


# Liquidations

**Maximum LTV**\
Each silo has a maximum LTV, or loan-to-value ratio. LTV is calculated by dividing the user's borrowed amount by the user's collateral amount. LTVs are calculated independently for each silo, meaning a borrower's position in one silo will not impact the LTV in another silo. When a user's LTV exceeds the maximum LTV, their position will be eligible for liquidation.

**Liquidations**

During liquidations, any user can repay the borrower's debt and receive a portion of their collateral equal to the debt plus a liquidation fee. Each silo has its own liquidation fee set when it is deployed.&#x20;

The liquidation fee and max LTV can be viewed by calling the `liquidationFee()` and `maxLTV()` functions on the silo respectively. They can also be viewed on the UI by clicking on a given silo's overview page. Users can track their LTV on the Dashboard page of the UI, or alternatively check their Health Factor. The Health Factor represents distance from liquidation, which occurs when the Health Factor drops below 1.0. For example, a Health Factor of 1.05 would represent a position that is 5% away from liquidation.


# Interest rates

Each silo has its own interest rate contract set at deployment. To date, they've all followed a model using following variables:

*Utilization:* Amount of borrowed funds divided by amount of lent funds

*Base Rate*: Borrow rate when utilization is 0% (i.e. no funds are borrowed)

*Optimal Utilization*: A fixed utilization rate

*Optimal Rate*: Borrow rate when utilization is equal to optimal utilization

*Maximum Rate*: Borrow rate when utilization is 100% (i.e. all funds are borrowed)

If the utilization rate is less than or equal to the optimal utilization, then

`BorrowAPR = Base Rate + Utilization x ((Optimal Rate - Base Rate) / Optimal Utilization)`

If the utilization rate is greater than the optimal utilization, then

`BorrowAPR = Optimal Rate + ((Utilization - Optimal Utilization) x ((Maximum Rate - Optimal Rate) / (1 - Optimal Utilization)))`&#x20;

Here is a visual representation of this formula (courtesy of [Frax Finance](https://docs.frax.finance/fraxlend/advanced-concepts/interest-rates#linear-rate)):<br>

<figure><img src="/files/Lr3ynxPIqA3QSjerfWO0" alt=""><figcaption></figcaption></figure>

### Fees

10% of interest paid by borrowers is collected as a fee. The remaining 90% is paid to lenders.


# Security and audits

## Oracles

Sturdy is oracle-agnostic and utilizes various oracles for different markets. The specific oracles used for a given market can be checked in the app. On Mode, all markets are secured by [RedStone](https://redstone.finance/) or [API3](https://api3.org/). The eBTC feed is provided by [eOracle](https://www.eoracle.io/).&#x20;

## Sturdy V2 audits

| Auditor                                                                                               | Date       |
| ----------------------------------------------------------------------------------------------------- | ---------- |
| [Zellic](https://github.com/Zellic/publications/blob/master/Sturdy%20-%20Zellic%20Audit%20Report.pdf) | 2023/9/15  |
| [ChainSecurity](https://chainsecurity.com/security-audit/sturdy-aggregator-smart-contracts/)          | 2023/10/13 |
| [Spearbit](https://cantina.xyz/portfolio/34989eb5-b357-4ee0-9546-ace0256b2f32)                        | 2023/10/21 |

## Sturdy V1 audits

<table><thead><tr><th>Auditor</th><th>Date</th><th data-hidden>Scope</th></tr></thead><tbody><tr><td><a href="https://www.certik.com/projects/sturdy">Certik</a></td><td>2022/2/1</td><td></td></tr><tr><td><a href="https://code4rena.com/reports/2022-05-sturdy/">Code4rena</a></td><td>2022/6/29</td><td></td></tr><tr><td><a href="https://certificate.quantstamp.com/full/sturdy">Quantstamp</a></td><td>2022/12/13</td><td></td></tr><tr><td><a href="https://certificate.quantstamp.com/full/sturdy-aura-integration-and-leverage.pdf">Quantstamp</a></td><td>2023/2/15</td><td></td></tr></tbody></table>


# Sturdy Subnet

Sturdy uses a Bittensor subnet (SN10) to provide aggregators with the best allocations among whitelisted silos. Bittensor provides decentralized AI services using their subnets, rewarding miners for providing computational power; in Sturdy’s case, miners provide various allocation strategies, and validators provide incentives for strategies with the highest yield. The subnet pits miners in competition against each other for the good of the protocol and its users; they’re competing to get users the best possible yields!&#x20;

Check out Sturdy’s channel on [Bittensor’s discord](https://discord.gg/bittensor) for more information and instructions for setting up a miner.


# $STRDY

$STRDY is the governance token of the Sturdy DAO, which governs the Sturdy protocol. It has a total supply of 100,000,000.&#x20;

The token contract address is [0xaeB3607eC434454ceB308f5Cd540875efb54309A](https://etherscan.io/token/0xaeB3607eC434454ceB308f5Cd540875efb54309A).

### Distribution

Airdrop - 1.5%, no vesting

Treasury - 60.5%, no vesting

Contributors - 19%, three-year vesting, one-year cliff &#x20;

Investors - 19%, three-year vesting, one-year cliff <br>


# Governance

$STRDY holders shape the future of the Sturdy protocol through governance. To participate in governance, you can contribute to discussions in the forums ([gov.sturdy.finance](https://gov.sturdy.finance)) or cast votes (<https://snapshot.org/#/sturdyfi.eth>) &#x20;

Want to make a proposal of your own? Here’s a quick 3-step guide to submitting your own SIP (Sturdy Improvement Proposal):

<figure><img src="https://miro.medium.com/v2/resize:fit:1400/0*46IRjdA-bLJ9rXPU" alt=""><figcaption><p>Let’s break it down below 👇</p></figcaption></figure>

### 1) Community Discussion <a href="#id-44b7" id="id-44b7"></a>

<figure><img src="https://miro.medium.com/v2/resize:fit:1400/0*wGmQTrRogQOWxjBh" alt=""><figcaption><p>Sturdy Forums Discussion Section</p></figcaption></figure>

Before creating a governance proposal, fielding the idea to the community is important. The [Sturdy Forums ](https://gov.sturdy.finance/)is a great place to explore potential proposals and bounce ideas off other DAO members. The forum lets you answer questions and incorporate feedback while forming your proposal. This is a great way to play with ideas before getting into the nuts and bolts; there’s no need for formal structure at this stage. Once your idea starts to form, and you’ve found some support within the community, it’s time to add a little structure and send it into the proposal section of the Forum.

### 2) Post In Proposal Section Of The Forum <a href="#id-4c83" id="id-4c83"></a>

<figure><img src="https://miro.medium.com/v2/resize:fit:1400/0*h6d34UopCxP4Gsry" alt=""><figcaption><p>Sturdy Forums Proposals Section</p></figcaption></figure>

The proposal section of the Sturdy governance forum is for more flushed-out ideas. At this stage, your proposal should be specific and structured; you should know exactly what you’re trying to do and how to best go about it. The proposal section of the governance forum grants the community the ability to weigh in on the proposal and share their thoughts/feedback before it goes to a vote. This can be a great time to adjust any details you may have overlooked and incorporate new community feedback. Once your proposal holds up against the community's scrutiny, you’re ready to take it to a vote!

### 3) Create a Formal Proposal <a href="#id-9d4e" id="id-9d4e"></a>

<figure><img src="https://miro.medium.com/v2/resize:fit:1400/0*GmUxN70bN0wor8aC" alt=""><figcaption><p>Sturdy’s Snapshot profile</p></figcaption></figure>

Now it’s time to create a formal proposal on Snapshot. This stage requires the submitter to hold at least **1,000 $STRDY** to keep the platform from getting flooded with spam proposals. Just click new proposal and fill in all the details to submit your proposal to the DAO; you should add a link to the discussion from the proposal section of the governance forum to allow voters to view the discussions surrounding the proposal easily. Each voting period lasts 48 hours, and a proposal must receive a quorum of *100,000* votes to be ratified.&#x20;


# Liquidity mining

Following the ratification of SIP-001, users can earn $STRDY for providing liquidity on Sturdy. Tokens are distributed in epochs as approved by governance.&#x20;

### Emissions

| Epoch | Tokens emitted | % of supply emitted | Date                                           |
| ----- | -------------- | ------------------- | ---------------------------------------------- |
| 1     | 769,028        | 0.76%               | <p>March 24th, 2023- </p><p>May 26th, 2023</p> |
| 2     | 870,912        | 0.87%               | <p>May 26th, 2023 - </p><p>July 28th, 2023</p> |

### Governance proposal on liquidity mining

| Topic                               | Proposal/Voting                                                                                                   | Date           |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------- | -------------- |
| SIP-001: Dynamic emissions          | <https://snapshot.org/#/sturdyfi.eth/proposal/0x2e7708b819ff41096f4ee83d505b5ed1a8181f2bd0158baf301346e02f1b55f8> | March 24, 2023 |
| SIP-007: KPI-based liquidity mining | <https://snapshot.org/#/sturdyfi.eth/proposal/0x90bad8e505e08ba52d5e3a1d66f1204d10b9c165592153e70b611a99c065844e> | May 22, 2023   |

As part of Sturdy V2, 700,000 unclaimed tokens from the airdrop were allocated to be used for liquidity mining.<br>


# Community resources

Stay connected with Sturdy community

* [Website](mailto:undefined)
* [Twitter ](https://twitter.com/sturdyfinance)
* [Medium](https://sturdyfinance.medium.com/)&#x20;
* [Discord](https://discord.com/invite/tRVHp6Vx5N)
* [Forum](https://gov.sturdy.finance/)


# Brand assets

Where the official Sturdy logos and branding assets can be downloaded for use.

## Download Sturdy LogoPack

{% file src="/files/iMl7aYVCRsYMhU8pP1lx" %}

## Download Stud Pack

{% file src="/files/5sqrDJwmJp42kiFKOiGC" %}


# Contract addresses

The list of Sturdy V2 contracts can be found [here](<https://github.com/sturdyfi/v2-aggregator/blob/main/Addresses.md&#xA;>).


