# Borrow & Repay Source: https://docs.berachain.com/bend/guides/borrow-repay Supply collateral, borrow HONEY, monitor LTV/LLTV, and repay to withdraw collateral on Bend. Follow these steps to supply collateral, borrow \$HONEY, and repay to free your collateral. ## Requirements * Wallet with collateral (WETH, WBERA, WBTC, etc.) listed on [Bend](https://bend.berachain.com/borrow) * Native \$BERA for transaction fees If you don't have collateral, swap on [Berachain Hub](https://hub.berachain.com/swap). ## Supply collateral and borrow Supply $WBERA as collateral and borrow $HONEY. Go to [Bend](https://bend.berachain.com/borrow) and connect your wallet. Bend borrow connect wallet Choose a market where you can supply collateral. This guide uses \$WBERA. Bend choose market 1. Select **Borrow** 2. Enter the \$WBERA amount to supply as collateral 3. Click **Review** to open the confirmation modal Bend configure borrow 1. Approve the market to spend your \$WBERA 2. Supply \$WBERA as collateral Bend approve and supply Bend successful approve and supply You should see your supplied collateral and total value in the market. Bend successful supply 1. Enter the \$HONEY amount to borrow 2. Keep borrow below the LTV limit to avoid liquidation 3. Click **Review** to confirm Bend borrow Approve the borrow in your wallet. Bend approve borrow Bend successful approve borrow You should see your borrowed \$HONEY and its value in the market. Bend successful borrow Monitor your position. If your LTV exceeds the Liquidation LTV (LLTV), your position can be liquidated. Bend monitor LTV and LLTV ## Repay and withdraw Repay $HONEY and withdraw your $WBERA collateral. 1. Select **Repay** 2. Enter the \$HONEY amount to repay 3. Enter the \$WBERA amount to withdraw 4. Click **Review** to open the confirmation modal Bend configure repay Confirm the repayment in your wallet. Bend confirm repay Bend successful confirm repay You should see a zero balance after the repayment. Bend successful repay You have now supplied collateral, borrowed \$HONEY, and repaid to withdraw your collateral on Bend. # Curator Application Source: https://docs.berachain.com/bend/guides/curator-application How curators apply to list a vault on the Bend UI; governance and application form. A **Curator** sets a vault's strategy and risk (which markets, caps). To have your vault listed on the Bend UI, you apply through the curator application process. For the Curator role, see [Curator](/bend/learn/curator). ## Process Curators apply so their vault appears on the Bend UI. The process is run through governance and decided by the guardians. To apply, use the [curator application form](https://ufdx3v8g7qg.typeform.com/to/pg2P0ndW). # Deposit & Withdraw Source: https://docs.berachain.com/bend/guides/deposit-withdraw Step-by-step: supply HONEY to a vault, stake for BGT yield, unstake, and withdraw from Bend. Follow these steps to deposit into and withdraw from a Bend vault. ## Requirements * Wallet with \$HONEY * Native \$BERA for transaction fees If you don't have \$HONEY, get it on [Berachain Hub](https://hub.berachain.com/swap) or [HoneySwap](https://honey.berachain.com). ## Depositing Deposit $HONEY to earn native lending yield and PoL $BGT yield. Go to [Bend](https://bend.berachain.com/lend) and connect your wallet. Bend deposit connect wallet Choose a vault to deposit \$HONEY into. Bend choose vault 1. Select **Supply** 2. Enter the \$HONEY amount to deposit 3. Choose **Stake** or **Supply & Stake** (recommended for PoL \$BGT yield) 4. Click **Review** to open the confirmation modal You can enable **Supply & Stake** later if you skip it now. Bend configure deposit Your wallet will prompt you to: 1. Approve the vault to spend your \$HONEY 2. Supply \$HONEY to the vault 3. Receive receipt tokens 4. Stake the receipt tokens in a Berachain PoL Reward Vault for \$BGT yield Bend supply and stake Bend successful supply and stake You should see your deposited value (supplied and staked) and the receipt token amount. Bend staked receipt tokens With your deposit staked, you can claim \$BGT yield. Bend deposit yields ## Withdrawing Unstake and withdraw your \$HONEY. In the vault you want to withdraw from: 1. Select **Withdraw** 2. Enter the \$HONEY amount to withdraw If your balance shows 0, your deposit is staked. Unstake first, then withdraw. Bend configure withdrawal Where your staked balance is shown, click **Unstake**. Bend unstake deposit Enter the amount to unstake and confirm. Bend confirm unstake Bend successfully unstaked After unstaking, your balance appears under **Deposited**. Withdraw from there. 1. Enter the \$HONEY amount to withdraw 2. Select **Withdraw** Bend specify withdrawal amount Confirm the withdrawal in your wallet. Bend confirm withdrawal When complete, your \$HONEY is back in your wallet. Bend successful withdrawal # Bundlers Source: https://docs.berachain.com/bend/learn/bundlers Bundler3: combine supply, borrow, swap, and other Bend actions into a single atomic transaction; gas savings. Bundlers let you run multiple Bend actions in **one transaction**. You avoid multiple confirmations and pay gas once. ## Bundler implementations **Bundler3** is Morpho's main bundler and is built into the Morpho UI so you can run complex flows with one action. ## Bundler3 capabilities With Bundler3 you can: 1. **Combine workflows** — Supply, borrow, swap, and more in a single transaction 2. **Save gas** — One transaction instead of many 3. **Avoid partial failures** — If any step would fail, the whole transaction reverts 4. **Run advanced flows** — Actions that normally need several steps in one go ## Examples * **One-click leverage**: Convert `$BERA` to `$WETH`, supply as collateral, and borrow `$HONEY` in one transaction * **Refinancing**: Borrow from one market, repay another, and adjust collateral in one transaction * **Rebalancing**: Withdraw, swap, and redeposit across markets without waiting for separate confirmations # Curator Source: https://docs.berachain.com/bend/learn/curator Curator role: vault strategy, risk parameterization, market selection, caps, and timelock; distinct from Allocator. A **Curator** sets a vault's strategy and risk: which markets it can use and exposure caps. Curators do not allocate day-to-day; that is the Allocator's role. Curators choose which markets a vault can supply to and set supply caps per market. Their choices drive vault performance and risk. Most important Curator actions are **timelocked** so depositors can exit if they disagree. ## Responsibilities * **Strategy**: Define the vault's investment thesis and which markets (or asset types) are allowed. * **Risk**: Set and maintain exposure limits (caps) to protect depositors. Timelocks on major changes give depositors time to react. ## Role system Vault roles are separated: * **Owner**: Top-level control; appoints Curator and Allocator; sets vault-wide settings (e.g. fees). * **Curator**: Decides **what** is allowed—which markets and max exposure. Does not execute allocation. * **Allocator**: Decides **how** to allocate within those limits (supply/withdraw queues, reallocations). Can be the `PublicAllocator` contract if the owner configures it. Strategy and risk (Curator) stay separate from day-to-day allocation (Allocator). # Flash Loans Source: https://docs.berachain.com/bend/learn/flash-loans Uncollateralized borrow-and-repay within one transaction; flashLoan flow, callback, and implementation steps. Flash loans let you **borrow without collateral** as long as you repay in the same transaction. ## Flash loans in Bend In Bend, flash loans: * Require no collateral * Must be repaid in the same transaction * Execute in one block * Are aimed at developers and advanced users ## How they work The Morpho contract exposes `flashLoan` and uses a callback to complete the flow. ### Flow 1. **Initiate**: Your contract calls `morpho.flashLoan(token, amount, data)`. 2. **Receive**: Morpho transfers the requested amount to your contract. 3. **Callback**: Morpho calls `onMorphoFlashLoan(amount, data)` on your contract. 4. **Logic**: Your contract runs its logic (arbitrage, swap, etc.). 5. **Repay**: Your contract approves Morpho to pull back the borrowed amount. 6. **Complete**: Morpho pulls the funds. If repayment fails, the whole transaction reverts. ## Implementation To use flash loans: 1. Implement a contract that conforms to `IMorphoFlashLoanCallback`. 2. Implement `onMorphoFlashLoan` with your logic. 3. In the callback, approve the Bend (Morpho) contract to pull the borrowed amount before returning. ## Use cases * **Arbitrage**: Profit from price differences across protocols in one transaction * **Collateral swap**: Replace one collateral type with another in one transaction * **Self-liquidation**: Liquidate your own position to avoid third-party liquidation * **Flash actions**: Combine several Bend operations in one transaction ## Security * **Atomicity**: If the callback doesn't approve repayment, the transaction reverts. * **Funds**: Don't leave funds in the flash loan contract after the callback. * **Reentrancy**: Be careful calling external contracts inside the callback. * **Gas**: Flash loan flows can use a lot of gas. ## Bend callbacks Bend supports additional callbacks for richer flows: * `IMorphoLiquidateCallback`: Liquidations * `IMorphoRepayCallback`: Repayments * `IMorphoSupplyCallback`: Supply * `IMorphoSupplyCollateralCallback`: Supply collateral You can combine supply, borrow, repay, and withdraw in a single transaction using these callbacks. # Interest Rates Source: https://docs.berachain.com/bend/learn/interest-rates How supply and borrow rates are set by the IRM and utilization; AdaptiveCurveIRM and target utilization. Interest rates on Bend are set by each market's **Interest Rate Model (IRM)**. If you're building a borrow integration, you need to show how rates work and how they affect positions. ## IRM role Each Bend market has a single, immutable IRM. That contract computes the borrow rate from market conditions, mainly **utilization** (total borrows / total supply). Only IRMs approved by Bend governance can be used; the main one is **AdaptiveCurveIRM**. ### AdaptiveCurveIRM AdaptiveCurveIRM targets **90% utilization**. * **Below 90%**: Borrow rate falls to encourage borrowing. * **Above 90%**: Borrow rate rises to encourage repayments and more supply. That keeps markets capital-efficient while keeping enough liquidity for withdrawals. For formulas and behavior, see [Interest Rate Model](/bend/learn/irm). ### Finding the market rate To get the rate at a given utilization (e.g. 80%) for a market: * **Morpho Contract** - To retrieve IRM for market * **IRM Contract** - Query rate at utilization point (e.g. 80%) With the assumption that you will use one of the following markets: | Market | MarketId | | -------------- | -------------------------------------------------------------------- | | wsRUSD / HONEY | `0x04d3b8b00c6f3b75481492b76139473e2368339ee58587df65684fdb9103984e` | | WBTC / HONEY | `0x950962c1cf2591f15806e938bfde9b5f9fbbfcc5fb640030952c08b536f1f167` | | sUSDe / HONEY | `0x1ba7904c73d337c39cb88b00180dffb215fc334a6ff47bbe829cd9ee2af00c97` | | wgBERA / HONEY | `0x63c2a7c20192095c15d1d668ccce6912999b01ea60eeafcac66eca32015674dd` | | WETH / HONEY | `0x1f05d324f604bd1654ec040311d2ac4f5820ecfd1801a3d19d2c6f09d4f7a614` | | WBERA / HONEY | `0x147b032db82d765b9d971eac37c8176260dde0fe91f6a542f20cdd9ede1054df` | | iBERA / HONEY | `0x594de722a090f8d0df41087c23e2187fb69d9cd6b7b425c6dd56ddc1cff545f0` | #### Step 1 - Determine IRM contract Go to [https://berascan.com/address/0x24147243f9c08d835C218Cda1e135f8dFD0517D0#readContract](https://berascan.com/address/0x24147243f9c08d835C218Cda1e135f8dFD0517D0#readContract) and enter one of the **MarketIds** from above in the `idToMarketParams` field. Berascan - Determine IRM Contract Address The returned result should provide something similar to the following: | Name | Type | Value | | --------------- | ------- | ------------------------------------------ | | loanToken | address | 0x0dE23153BC280dD95BE914ddafb5591aE877e067 | | collateralToken | address | 0xC3aD1095c231bb5D25E7EB1Aa23de7A9439EA12c | | oracle | address | 0xc76A0E60016dFd4B18Db71b6DaEF769bc8057a3d | | irm | address | 0x1d5376e532CcF25b740270624111D665830E5dB9 | | lltv | uint256 | 945000000000000000 | Take note of the `irm` address and go to that address on [BeraScan](https://berascan.com/). #### Step 2 - Determine Market Rate Target Utilization Enter one of the **MarketIds** from above into the `rateAtTarget` field. Berascan - Determine Market Rate Target Utilization ## How interest accrues on debt For a borrower, the most important takeaway is that **interest is constantly accruing**, increasing their total debt over time. This directly impacts their position's health. The process is as follows: #### 1. Rate calculation The IRM calculates the instantaneous `borrowRate` based on the market's current utilization. #### 2. Interest accrual This rate is applied to the borrower's debt continuously. The amount of interest accrued increases the `totalBorrowAssets` in the market and, proportionally, the asset value of each borrower's `borrowShares`. #### 3. Impact on Health Factor As the debt value increases due to accrued interest, the user's **LTV rises** and their **Health Factor falls**, even if collateral and asset prices remain stable. Health Factor = (Collateral Value x LLTV) / (Initial Debt + Accrued Interest) This is a critical concept to communicate to users: their position can become riskier over time simply from interest accrual. ## Onchain state and `accrueInterest` The Bend contract does not update interest for every block to save gas. Instead, interest is calculated and applied only when a market interaction occurs via the `_accrueInterest` internal function. This function is triggered by actions like `borrow`, `repay`, `supply`, and `withdraw`. When you fetch a user's position from the contract, the `totalBorrowAssets` value reflects the state at the last interaction. To get the up-to-the-second debt value, you must account for the interest accrued since the `lastUpdate` timestamp. # Interest Rate Model Source: https://docs.berachain.com/bend/learn/irm AdaptiveCurveIRM: immutable IRM, target utilization, curve and adaptive mechanisms; supply and borrow rates. In Bend, the interest rate you pay as a borrower is set by an **Interest Rate Model (IRM)** chosen when the market is created. The only IRM used for Bend markets is the [AdaptiveCurveIRM](/bend/learn/interest-rates#the-adaptivecurveirm). It differs from typical pool IRMs in two ways: 1. **Immutable**: The model cannot be changed or upgraded. It must respond automatically to market conditions, including rates on other platforms. 2. **Higher target utilization**: Supplied assets in Bend are not used as collateral, so markets don't need to hold large buffers for liquidations. The protocol can target higher utilization and use gentler illiquidity penalties. The AdaptiveCurveIRM keeps utilization near **90%**. In the short term it avoids utilization drifting too low or too high; over time the rate adapts to market conditions. Two mechanisms work together: * [The Curve Mechanism](#the-curve-mechanism) * [The Adaptive Mechanism](#the-adaptive-mechanism) ## The Curve Mechanism This mechanism resembles the interest rate curves commonly found in traditional lending protocols. The curve is defined by the following features: | Name | Description | | -------------------------- | ----------------------------------------------------------- | | Target Rate | $r_{90\%}$ (corresponding to a target utilization of `0.9`) | | Fixed Steepness Parameters | c = 4 | Morpho - Curve Mechanism > Image provided by [Morpho Docs](https://docs.morpho.org/get-started/resources/contracts/irm#the-curve-mechanism) Each time you (or any user) interact with the market—e.g. borrow or repay—utilization changes and the rate updates along the curve. For instance, the following are sample utilization-to-rate relationships: | Utilization | Rate | | ----------- | ------------------- | | 90% | $r_{90\%}$ | | 100% | $4 \times r_{90\%}$ | The Curve Mechanism is designed to respond to short-term fluctuations in utilization, helping maintain healthy market liquidity during periods of sudden borrowing or repayment. ## The Adaptive Mechanism This mechanism continuously shifts the curve to adjust to market conditions over time. The curve shifts over time so the rate adapts to market conditions even when no one is borrowing or repaying. Morpho - Adaptive Mechanism > Image provided by [Morpho Docs](https://docs.morpho.org/get-started/resources/contracts/irm#the-adaptive-mechanism) The adaptive mechanism dynamically shifts the rate curve in response to changing market conditions, even during periods without user interaction. The key value that moves the curve is $r_{90\%}$—the rate at the target utilization. This value gradually changes over time: * If utilization rises above the target (90%), $r_{90\%}$ will steadily increase. * If utilization falls below the target, $r_{90\%}$ will steadily decrease. The pace at which $r_{90\%}$ moves is recalculated whenever the market is updated (such as through borrowing or repaying). The greater the gap between current and target utilization, the faster $r_{90\%}$ (and thus the whole curve) moves in the appropriate direction. Example: if utilization stays at 100% for five days, $r_{90\%}$ can roughly double in that period (at maximum speed). The values of some [constants](https://github.com/morpho-org/morpho-blue-irm/blob/main/src/adaptive-curve-irm/libraries/ConstantsLib.sol) are hardcoded into the code deployed on Berachain, such as `TARGET_UTILIZATION`, `INITIAL_RATE_AT_TARGET`, etc. ## Formula breakdown | Name | Description | | ------------------------- | ------------------------------------------------------------------------------------------------------------------ | | $u$ | *utilization* - total assets borrowed divided by total assets supplied | | $t$ | *time* - the specific moment at which utilization and other parameters are evaluated | | $u(t)$ | Ratio of total borrow over total supply at time | | $u_{\text{target}} = 0.9$ | Constant target value for utilization (set to 0.9) that the model aims to maintain. | | $\forall t$ | For all *time* | | $e$ | *error* - Difference between the current utilization and the target utilization, divided by a normalization factor | | $k_{\text{d}}$ | Constant that controls how sharply the interest rate increases when utilization exceeds the target | | $H$ | The time step (in seconds) between two interest rate updates | | $last$ | Most recent interaction time before or at a specific time | | $speed(t)$ | Factor controlling how quickly the interest rate evolves based on utilization changes over time | | $r$ | Borrow rate | | $r_{\text{T}}$ | Rate at target - Interest rate corresponding to the target utilization, updated over time using the speed factors | ### Utilization Utilization ($u(t)$) is the ratio of total borrowed assets to total supplied assets at time ($t$), with a constant utilization target ($u_{\text{target}} = 0.9$). ### Error Error ($e(u)$) is the normalized difference between the current utilization ($u(t)$) and the target utilization ($u_{\text{target}}$), scaled so that the distance between $u_{\text{target}}$ and $u = 1$ equals the distance between $u_{\text{target}}$ and $u = 0$. $$ \forall t, \quad e(u) = \begin{cases} \dfrac{u(t) - u_{\text{target}}}{1 - u_{\text{target}}}, & \text{if } u(t) > u_{\text{target}} \\ \dfrac{u(t) - u_{\text{target}}}{u_{\text{target}}}, & \text{if } u(t) \le u_{\text{target}} \end{cases} $$ Morpho - Formula Error > Image provided by [Morpho Docs](https://docs.morpho.org/get-started/resources/contracts/irm#formal-description) ### Curve **Curve ($curve(u)$)** determines the shape and sensitivity of the interest rate response to changes in utilization around the target, with different slopes below and above $u_{\text{target}}$ controlled by the constant $k_{\text{d}}$. $$ \text{curve}(u) = \begin{cases} \left(1 - \dfrac{1}{k_d}\right) \cdot e(u) + 1, & \text{if } u \le u_{\text{target}} \\ \left(k_d - 1\right) \cdot e(u) + 1, & \text{if } u > u_{\text{target}} \end{cases} $$ with $$ k_d = 4 $$ ### History of interactions **History of interactions ($H$)** represents the set of all past interaction times up to time ($t$), including the initial time ($0$). Noting that $t_{\text{i}}$ the time at which $i\text{th}$ interaction occurred. $$ \forall t, \quad H(t) = \{0\} + \{t_i\}_{t_i < t} $$ ### Last interaction **Last interaction ($last$)** represents the most recent interaction time before or at time ($t$). $$ \forall t, \quad \text{last}(t) = \max(H(t)) $$ ### Speed **Speed factor ($speed$)** determines how fast the interest rate changes over time based on the error at the last interaction, scaled by ($k_\text{p}$). $$ \forall t, \quad \text{speed}(t) = \exp\!\left(k_p \cdot e(u(\text{last}(t))) \cdot (t - \text{last}(t))\right), \quad \text{with } k_p = 50 $$ ### Rate at target **Rate at target ($r_{\text{target}}$)** represents the interest rate when utilization equals the target utilization, evolving over time based on the speed factor. $$ \forall t > 0, \quad r_T(t) = r_T(\text{last}(t)) \cdot \text{speed}(t) $$ At any time ($t$), the borrow rate ($r$) is given by the formula: $$ r(t) = r_T(t) \cdot \text{curve}(u(t)) $$ ## Calculations APY is the annualized return for suppliers and cost for borrowers, with compounding. In Bend you use it to compare returns and costs across markets. ### Borrow APY The Borrow APY is calculated using the following formula: $$ \text{borrowAPY} = \left( e^{(\text{borrowRate} \times \text{secondsPerYear})} - 1 \right) $$ Where: * `borrowRate` is the borrow rate per second, as determined by the Interest Rate Model (IRM). * `secondsPerYear` represents the total number of seconds in a year (31,536,000). ### Supply APY The Supply APY is calculated considering the utilization and the fee. The formula is: $$ \text{supplyAPY} = \text{borrowAPY} \times \text{utilization} \times (1 - \text{fee}) $$ Where: * `fee` is the fee of the market on a per-market basis and portion of the interest paid by borrowers that is retained by the protocol. See [Yield & Fees](/bend/learn/yield-fees#fee-mechanism) for more details. * `utilization` is calculated as: $$ \text{utilization} = \frac{\text{totalBorrowAssets}}{\text{totalSupplyAssets}} $$ ## Constants The values of the following constants are hardcoded into the [Morpho code deployed on Berachain](https://berascan.com/address/0x24147243f9c08d835C218Cda1e135f8dFD0517D0#code#F7#L1). * WAD = Wei-based Decimal (WAD = 10^18, meaning 1 WAD = 1.0) | Parameter | Description | Value | | ------------------------ | ------------------------------------------------- | -------------------------- | | `CURVE_STEEPNESS` | Curve steepness (scaled by WAD) | 4 | | `ADJUSTMENT_SPEED` | Adjustment speed per second (scaled by WAD) | 50/# of seconds per year | | `TARGET_UTILIZATION` | Target utilization (scaled by WAD) | 90% | | `INITIAL_RATE_AT_TARGET` | Initial rate at target per second (scaled by WAD) | 4%/# of seconds per year | | `MIN_RATE_AT_TARGET` | Minimum rate at target per second (scaled by WAD) | 0.1%/# of seconds per year | | `MAX_RATE_AT_TARGET` | Maximum rate at target per second (scaled by WAD) | 200%/# of seconds per year | # Liquidation Source: https://docs.berachain.com/bend/learn/liquidation When positions are liquidated, health factor and LLTV, liquidation process, and liquidator incentives. Liquidation protects lenders by closing undercollateralized positions and keeping markets solvent. If you're integrating borrowing, you need to explain when and how liquidation works. When your position becomes too risky, a **liquidator** can repay your debt and seize your collateral at a discount. ## When liquidation occurs A position can be liquidated when its **health factor is 1 or below**—that is, when LTV meets or exceeds the market's **LLTV** (Liquidation Loan-to-Value). **Debt value / Collateral value ≥ LLTV** → position is liquidatable. Common causes: * Collateral price falls * Debt grows from accrued interest ## Liquidation process Bend liquidations are not auctions. The first liquidator to act repays debt and receives collateral at a discount in one transaction. 1. **Unhealthy position**: A liquidator (often a bot) finds a position with health factor ≤ 1. 2. **Repay debt**: The liquidator calls `liquidate` on the Bend contract and repays some or all of the debt in the loan asset. 3. **Seize collateral**: The liquidator receives collateral worth the repaid amount times the **Liquidation Incentive Factor (LIF)**. 4. **Position updated**: The borrower's debt and collateral are reduced accordingly. ### Liquidation Incentive Factor (LIF) The **LIF** is the bonus a liquidator earns. It is derived from the market's LLTV; higher LLTV means a smaller bonus to limit cascades. For **LLTV 86%**, **LIF ≈ 1.05** (about a **5%** bonus on seized collateral). The full incentive goes to the liquidator; Bend does not take a fee. Formula: $$ \mathrm{LIF} = \min \left( \mathrm{maxLIF},\ \frac{1}{(1 - \beta) \times (1 - \mathrm{LLTV})} \right) $$ * **LLTV**: Market liquidation threshold (e.g. 0.86) * **β** = 0.3 (constant) * **maxLIF** = 1.15 (15% cap) ### Example (LLTV 86%) * **Before**: Debt **\$87,000**, collateral **\$100,000** → LTV 87% > 86% → liquidatable. * **Liquidator** repays **\$87,000** and receives **\$87,000 × 1.05 = \$91,350** of collateral. * **Borrower**: Debt cleared; **\$4,350** loss (collateral drop). * **Liquidator**: **\$4,350** profit (minus gas). ### Bad debt If collateral value falls below the debt (LTV > 100%), a liquidation may not cover the full loan. The shortfall is **bad debt** and is a loss to lenders in that market. Isolated markets and conservative LLTVs are designed to make this rare. # Collateral, LTV & Health Source: https://docs.berachain.com/bend/learn/ltv Collateral and debt relationship, LTV formula, health factor, and liquidation thresholds in Bend markets. When you borrow on Bend, your position's safety depends on your collateral, your debt, and the market's risk parameters. If you're building a lending integration, calculating and displaying these metrics clearly is critical. Bend markets borrow view ## Collateral **Collateral** is the asset you supply to a lending market to secure your loan. In a `$wBERA`/`$HONEY` market, `$wBERA` is the collateral. It guarantees that the protocol can recover funds if you default. Your collateral is per market—not cross-margined. Supplying collateral does not generate yield. ## Loan-to-value (LTV) LTV measures debt as a share of collateral value. Use it to see how close a position is to liquidation. ### How to calculate LTV Use this formula for a position on Bend: **LTV = (BORROWED\_AMOUNT / COLLATERAL\_VALUE\_IN\_LOAN\_TOKEN) x 100%** Where: * **BORROWED\_AMOUNT**: Borrowed assets (token base units) * **COLLATERAL\_VALUE\_IN\_LOAN\_TOKEN**: Collateral value expressed in the loan token Collateral value in loan token units: **COLLATERAL\_VALUE\_IN\_LOAN\_TOKEN = (COLLATERAL\_AMOUNT x ORACLE\_PRICE) / ORACLE\_PRICE\_SCALE** Where: * **COLLATERAL\_AMOUNT**: Collateral supplied (token base units) * **ORACLE\_PRICE**: Market oracle price (scaled by ORACLE\_PRICE\_SCALE) * **ORACLE\_PRICE\_SCALE**: Protocol scaling factor for prices ### Liquidation LTV (LLTV) **Liquidation Loan-to-Value (LLTV)** is the maximum LTV before a position can be liquidated. It is fixed per market and set at creation from a governance-approved list. **If LTV ≥ LLTV, the position can be liquidated.** Example: if a market's LLTV is 86%, your position is at risk once your LTV reaches or exceeds 86%. ### Health factor Health factor shows how close a position is to liquidation: **HEALTH\_FACTOR = (COLLATERAL\_VALUE\_IN\_LOAN\_TOKEN x LLTV) / BORROWED\_AMOUNT** * **LLTV**: Market liquidation threshold (e.g. 0.86 for 86%), in WAD (10^18) Health factor > 1.0 means the position is healthy. Below 1.0, it is eligible for liquidation. ## Example: LTV and health factor Example with assumed values: * Borrowed amount: 150 `$HONEY` (150 × 10^18 base units) * Collateral amount: 100 `$WBERA` (100 × 10^18 base units) * Oracle price: 3 `$HONEY` per `$WBERA` (3 × 10^18) * Oracle price scale: 10^18 * LLTV: 86% (0.86 × 10^18 WAD) ### Step 1 — Collateral value in loan token Collateral value = 300 `$HONEY`. ```javascript theme={null} // All calculations use BigInt for precision const ORACLE_PRICE_SCALE = 10n ** 18n; const collateralValueInLoanToken = (collateralAmount * oraclePrice) / ORACLE_PRICE_SCALE; // = (100n * 10n**18n * 3n * 10n**18n) / 10n**18n // = 300n * 10n**18n (300 HONEY in base units) ``` ### Step 2 — Current LTV ```javascript theme={null} const WAD = 10n ** 18n; const borrowedAmount = 150n * 10n ** 18n; // 150 HONEY const collateralValueInLoanToken = 300n * 10n ** 18n; // 300 HONEY equivalent const currentLTV = (borrowedAmount * WAD) / collateralValueInLoanToken; // = (150 * 10^18 * 10^18) / (300 * 10^18) // = 0.5 * 10^18 (representing 50%) ``` ### Step 3 — Health factor ```javascript theme={null} const lltv = 86n * 10n ** 16n; // 0.86 scaled to WAD const healthFactor = (collateralValueInLoanToken * lltv) / borrowedAmount; // = (300 * 10^18 * 0.86 * 10^18) / (150 * 10^18) // = 1.72 * 10^18 (scaled by WAD) const healthFactorDisplay = Number(healthFactor) / Number(WAD); // = 1.72 ``` Health factor = 1.72, so the position is healthy with a 72% buffer before liquidation. ### Summary | Metric | Value | | ------------------ | ------- | | Current LTV | 50.00% | | Max LTV (LLTV) | 86.00% | | Health Factor | 1.72 | | Status | Healthy | | Liquidation buffer | 36.00% | `$WBERA` (18 decimals, 3 `$HONEY` each) collateral against a `$HONEY` (18 decimals) loan, using WAD scaling for on-chain math. ## Oracles LTV and health factor depend on the **oracle price**. * **Dynamic pricing**: The oracle gives the current exchange rate between collateral and loan assets. * **Oracle design**: A market's oracle can combine several feeds or other on-chain data. * **Risk**: Your LTV and health factor are only as reliable as the oracle. Latency, inaccuracy, or manipulation affect positions. When you show market data, also show which oracle is used. For details, see [Oracle](/bend/learn/oracle). # Market Source: https://docs.berachain.com/bend/learn/market Lending pool primitive: collateral/loan pairing, supply and borrow positions, risk parameters, and market creation. A **market** is a lending pool that pairs one collateral asset with one loan asset. Lenders and borrowers interact in that single venue. Bend uses [Morpho Market V1](https://docs.morpho.org/learn/concepts/market/#what-is-a-morpho-market-v1) as its base. ## Overview In a market you can: * **Lend assets** and earn interest on deposits * **Borrow assets** by posting collateral * **Trade positions** through market mechanisms Each market has its own parameters and runs independently. Risk stays inside that market and does not spread across the protocol. Bend markets overview Open [Bend markets](https://bend.berachain.com/borrow) to lend or borrow. ## Key characteristics ### Isolated risk * Each market operates independently * Risks are contained within individual markets * No cross-market contamination of losses ### Immutable parameters * Market rules are set at creation and cannot be changed * Provides predictable behavior for participants * Eliminates systematic risks from parameter changes ### Asset pairing * One collateral asset paired with one loan asset * Clear separation of lending and borrowing activities * Simplified risk assessment and management ## Market components ### Core assets 1. **Collateral Asset**: The asset users deposit to borrow against 2. **Loan Asset**: The asset users can borrow from the market ### Market parameters 1. [**Loan-to-Value (LTV) Ratio**](/bend/learn/ltv): Value of loan against collateral 2. **Liquidation Loan-to-Value (LLTV)**: The LTV at which positions become eligible for liquidation 3. [**Interest Rate Model**](/bend/learn/irm): Formula determining borrowing costs and lending yields 4. [**Oracle**](/bend/learn/oracle): Price feed for collateral valuation 5. **Market Cap**: Maximum capacity for lending and borrowing ## Market operations ### For lenders You cannot supply directly to a market. You supply to a [Vault](/bend/learn/vault) managed by a [Curator](/bend/learn/curator), which allocates assets across markets. * **Supply**: Deposit loan assets to earn interest * **Withdraw**: Remove supplied assets and accrued interest ### For borrowers * **Borrow**: Take out loans against deposited collateral * **Repay**: Return borrowed assets to reclaim collateral * **Manage position**: Monitor health factor and add or remove collateral ### For liquidators * **Liquidate**: Repay debt in exchange for discounted collateral * **Maintain market health**: Keep borrowers adequately collateralized ## Market creation ### Permissionless market creation Bend allows permissionless market creation. You can create isolated markets, each defined by the five key parameters above. Traditional lending platforms often: * Require governance approval to list assets or change parameters * Use a single lending pool, so risk is shared across the protocol On Bend, each market has immutable parameters set at creation. The loan-to-value (LTV) ratio and interest rate model must come from governance-approved options. This keeps risk isolated, supports new assets quickly, and keeps behavior predictable. To list a market on the Bend UI, submit a vault whitelist proposal (including allocation) via the [curator application form](https://ufdx3v8g7qg.typeform.com/to/pg2P0ndW). # Oracle Source: https://docs.berachain.com/bend/learn/oracle Price feeds for Bend markets; oracle-agnostic design, compatible types, and how to query price data. Oracles supply price data to the chain. In Bend, a market's oracle answers: "How many USD is 1 unit of this collateral worth?" so the protocol can value collateral, set borrowing capacity, and trigger liquidations. ## Oracles in Bend markets Oracles are used to: * Value collateral * Compute borrowing capacity * Trigger liquidations when positions are undercollateralized * Support interest rate logic ## Bend implementation Bend is **oracle-agnostic**: each market specifies its oracle in its parameters. Market creators choose the feed that fits the asset (e.g. Chainlink, Redstone, API3, Pyth, Chronicle, or a custom implementation). ## Compatible oracle types * **Price feed oracles**: External feeds for exchange rates (Chainlink, Redstone, API3, Pyth, Chronicle). * **Exchange rate oracles**: For wrapped or rebasing tokens with deterministic rates (e.g. wstETH/stETH). * **Fixed-price oracles**: For assets with a known peg (e.g. stablecoins). ## Getting price data Steps to get the current price of a collateral (e.g. \$WBERA). ### 1. Get market ID Find the Market ID on [Berachain Bend](https://bend.berachain.com/borrow). Bend - Find Market Id ### 2. Find oracle address In [BeraScan](https://berascan.com/) look up the Morpho (Vault) address and open it: ``` # Morpho (Vault) 0x24147243f9c08d835C218Cda1e135f8dFD0517D0 ``` Berascan - Find Oracle Address ### 3. Get base feed address In the oracle contract, read **BASE\_FEED\_1** and open the linked address. Berascan - Find Base Feed Address ### 4. Get latest answer In the base feed contract (or its proxy), call `latestAnswer`. Berascan - Latest Price Answer The value uses **8 decimals**. For example, `202675951` means **2.02675951 USD** (divide by `100000000`). ``` # $BERA/$WBERA price 2.02675951 USD ``` ## Oracle security Oracle choice is critical and **immutable** for a Bend market. Before using a market: * Verify the oracle implementation * Understand the price sources * Consider manipulation or failure modes # Introduction Source: https://docs.berachain.com/bend/learn/overview Decentralized lending on Berachain. Get started with guides and concepts. Berachain Docs Bend is the native lending protocol on Berachain—Morpho-based vaults and markets with Proof-of-Liquidity. Lend, borrow, and earn. ## Get started How Bend works, key features, use cases, and getting started. Supply assets to a vault and optionally stake for \$BGT. Supply collateral and borrow; monitor LTV to avoid liquidation. How lending markets and vaults work on Bend. Developer resources: contracts, markets, and onchain tooling. # Public Allocator Source: https://docs.berachain.com/bend/learn/public-allocator Just-in-time liquidity reallocation between Bend markets; how borrowers get liquidity from multiple vault markets. Isolated markets in Morpho/Bend contain risk but can **fragment liquidity** across many pools. You might want to borrow from a market that doesn't have enough supply. The **Public Allocator** fixes this: it reallocates a vault's assets between markets on demand so your borrow can succeed. The Public Allocator is a smart contract that routes liquidity and moves assets between markets when a borrow needs them. The Vault Owner must whitelist the Public Allocator contract for it to operate. ## Overview The Public Allocator is callable by anyone. It can move a vault's idle or underused supply into the market where a borrower needs liquidity, at the time of the borrow. For you as a borrower, many small pools behave like one deep pool, with isolated risk preserved. ## Borrower flow Example: you want to borrow 1,000 WETH from the wstETH/WETH market, but that market only has 200 WETH. 1. **Borrow request**: You (or your app) initiate the borrow. The system sees a 800 WETH shortfall. 2. **Allocator runs**: The Public Allocator is called. It finds 800 WETH in other markets where the same vault has supply (e.g. idle or an underused rETH/WETH market). 3. **Reallocate**: The Allocator runs `reallocate`, moving 800 WETH into the wstETH/WETH market. 4. **Borrow**: The market now has 1,000 WETH; your borrow completes. With a **Bundler**, reallocation and borrow happen in **one transaction**. You get deep liquidity in a single step. ## Curator controls: flow caps Curators limit how much the Public Allocator can move: * **maxIn**: Max assets the Allocator can move **into** a market. * **maxOut**: Max assets it can move **out of** a market. So liquidity stays flexible but within the vault's risk parameters. # Rewards for Lenders Source: https://docs.berachain.com/bend/learn/rewards-for-lenders Vault APY, native lending yield, and BGT yield from staking vault shares in PoL reward vaults. Bend offers additional yield on Berachain's native stablecoin \[$HONEY](/general/tokens/honey). Each [Vault](/bend/learn/vault) is managed by [Curators](/bend/learn/curator), who choose which [Markets](/bend/learn/market) supply $HONEY as a loan for specific collateral ($WETH, $WBERA, \$WBTC, etc.). Berachain Bend vaults ## Vault APY yields A vault may offer one or both of: 1. **[Native APY](#native-apy)** — Yield from lending \$HONEY in the vault's markets. 2. \*\*\[$BGT Yield](#bgt-yield)** — Yield from staking vault shares in an eligible [Proof-of-Liquidity Reward Vault](/general/proof-of-liquidity/reward-vaults) in the form of $BGT. See the [Deposit & Withdraw Guide](/bend/guides/deposit-withdraw) to deposit. Berachain Bend vault yield types ### Native APY Native APY comes from lending $HONEY to the collateral types the vault's Curator has enabled. APY depends on borrow rates and utilization—how much of the supplied $HONEY is borrowed. Berachain Bend vault native yield Each vault shows its allocation and supply yield. Berachain Bend vault rates ### \$BGT Yield $BGT yield comes from [validators directing $BGT emission / block rewards]\(/general/proof-of-liquidity/block-rewards) to a Bend vault's whitelisted Reward Vault. When you supply $HONEY to a vault, you receive receipt tokens (shares). Stake those receipt tokens in a whitelisted Reward Vault to become eligible for $BGT yield. Berachain Bend BGT yield You must stake the receipt tokens and claim $BGT to receive $BGT yield. Berachain Bend stake and claim required # Vaults Source: https://docs.berachain.com/bend/learn/vault Yield-generating vault structure, curator and allocator roles, supply/withdraw queues, and risk considerations. Vaults are yield-generating contracts that pool deposits and allocate them across strategies. On Berachain, they give you a simple way to earn from lending while keeping control of your assets. ## Overview Vaults pool your deposits and allocate them across lending markets. You receive vault shares (ERC-4626) representing your share of the underlying assets and yield. ## Benefits ### Curated risk profiles You choose vaults that match your goals and risk tolerance. Unlike a single mixed pool, vaults expose you only to the strategies and markets the Curator has selected. ### Permissionless infrastructure Anyone (individual, DAO, or protocol) can create and manage vaults with different risk parameters and strategies, giving you many options. ### Non-custodial architecture You keep full control of your position. Allocations and vault logic are on-chain and transparent. ### Automated yield generation Vaults reinvest yield and rebalance within their strategy so you don't have to manage positions manually. ## How vaults work ### Curation and market selection The **Curator** sets risk boundaries: which Morpho V1 markets the vault can use and a supply cap per market. All changes to these settings go through a **timelock**. ### Capital allocation The **Allocator** manages day-to-day allocation. They maintain: 1. **Supply queue**: Order in which new deposits are allocated to enabled markets. 2. **Withdraw queue**: Order in which capital is pulled from markets to satisfy redemptions. The Allocator can also **reallocate** between enabled markets to improve utilization and yield. ### Deposits and withdrawals When you deposit, the vault allocates assets according to the supply queue and market caps. When you withdraw, it sources liquidity from markets in the order of the withdraw queue. ## Roles and responsibilities * **Owner**: Top authority; appoints Curator and Allocator; sets vault-wide settings (e.g. fees). * **Curator**: Selects which Morpho V1 markets the vault can use and sets supply caps. Changes are timelocked. * **Allocator**: Manages supply and withdraw queues and reallocates among approved markets. * **Guardian**: Can revoke pending timelocked actions from Owner or Curator as a safety check. ## Risk considerations When integrating vaults, help users understand: ### Smart contract risk * **Vault contract**: Bugs could cause loss. * **Underlying protocols**: Morpho markets the vault uses have their own risk. * **Upgradeability**: Changes to vault or protocol contracts can introduce new risk. ### Market risk * **Asset price**: Underlying assets can lose value. * **Interest rates**: Returns vary as market rates change. * **Liquidity**: Withdrawals may be delayed when demand is high. ### Curator risk * **Strategy**: Poor Curator choices can hurt performance. * **Concentration**: Heavy allocation to riskier markets increases loss potential. * **Governance**: Incompetent or malicious Curators can create operational risk. ### Operational risk * **Oracle**: Price feed manipulation or outages can affect the vault. * **Liquidation**: Leveraged strategies may face liquidation in underlying markets. * **Regulatory**: Regulation may affect DeFi availability or operation. # What Is Bend? Source: https://docs.berachain.com/bend/learn/what-is-bend Morpho-based lending and borrowing with native Proof-of-Liquidity on Berachain; vaults, markets, and key features. **Bend** is a decentralized lending protocol forked from Morpho. It enables efficient lending and borrowing with native Proof-of-Liquidity (PoL) on Berachain. As a lending primitive, Bend allows permissionless creation of immutable, efficient lending markets. Bend inherits the core architecture from **Morpho v1** vaults and markets—familiar, battle-tested infrastructure—and adds Berachain's Proof-of-Liquidity consensus. Bend protocol overview Use Bend at [bend.berachain.com](https://bend.berachain.com). ## How it works Bend acts as a lending primitive layer. Smart contracts create immutable, efficient lending markets. The protocol supports: * **Lending**: Deposit assets to earn interest and `$BGT` * **Borrowing**: Borrow assets by providing collateral * **Market creation**: Permissionless creation of new lending markets * **Interest rates**: Market-driven rates based on supply and demand ## Key features * **Collateralization**: Provide collateral to borrow assets * **Risk protection**: Liquidation and loan-to-value ratios protect the protocol * **Interest accrual**: Dynamic rates based on market conditions * **Open participation**: Anyone can lend or borrow * **Non-custodial**: You keep ownership of your assets * **Vault system**: Morpho v1 vault architecture * **Native PoL**: Berachain Proof-of-Liquidity rewards lending to borrowers ## Use cases * **Lending**: Earn interest on deposited assets * **Borrowing**: Access liquidity while keeping asset exposure * **DeFi integration**: Build lending into other applications * **Looping**: Leveraged exposure on yields via looping strategies ## Getting started Go to [Bend](https://bend.berachain.com), connect your wallet, then choose an action: * **Lend**: [Deposit & Withdraw](/bend/guides/deposit-withdraw) — supply `$HONEY` to a vault and optionally stake for `$BGT`. * **Borrow**: [Borrow & Repay](/bend/guides/borrow-repay) — supply collateral and borrow `$HONEY`; monitor LTV to avoid liquidation. If you use Morpho, Bend will feel familiar and adds Berachain Proof-of-Liquidity and ecosystem benefits. See the **Guides** section and start with [Borrow & Repay](/bend/guides/borrow-repay). # Yield & Fees Source: https://docs.berachain.com/bend/learn/yield-fees How vault yield is generated from lending markets and how fees are applied; share price and depositor interest. Understanding how vault yield is generated and how fees are applied helps you build accurate earn products and set clear user expectations. ## Yield generation Bend vaults earn yield by supplying capital to lending markets on Berachain. ### Yield sources 1. **Borrower interest**: Borrowers in underlying markets pay interest. 2. **Market distribution**: Interest is distributed to lenders in each market by supplied share. 3. **Vault collection**: Vaults collect interest as lenders across multiple markets. 4. **Share price increase**: Total vault assets grow, so share price rises. 5. **Depositor interest**: You earn the interest paid by borrowers as your share value increases. ## Fee mechanism Bend vaults charge **performance fees** and **platform fees**. Both are taken as a share of the native lending yield. Yield from Proof-of-Liquidity \$BGT is not subject to any fee. ### Platform fee Charged at the market level and retained by the Berachain Foundation. ### Performance fee Charged at the vault level and split between the foundation (0%)\_ and the curator (100%)\_. > \*Values are subject to change. # Add Token Metadata Source: https://docs.berachain.com/bex/guides/add-token Submit token logo, CoinGecko ID, and metadata via the Berachain metadata repo. Token metadata is maintained on a Berachain token list. This list is used to update information such as: * Token logo * CoinGecko ID * Price feeds * Tags You can submit a pull request to the [Metadata](https://github.com/berachain/metadata) repository to update these values. dApps that use the token list, such as BEX, display your token's information and logo. Review the [Metadata CONTRIBUTING.md](https://github.com/berachain/metadata/blob/main/CONTRIBUTING.md) for full details on contributing. # Fees Source: https://docs.berachain.com/bex/guides/fees How trading fees are split between LPs and the protocol and compounded in pools. Fees are collected on every trade conducted on BEX. A portion of these fees goes to 1) liquidity providers (LPs), and 2) `$BGT` holders. ## Fee distribution Trading fees for LPs are directly compounded inside the pool so that you don't need to perform a separate claim transaction. For example, if token prices within your pool are unchanged between deposit and withdrawal, but there have been trades in the interim, you see a higher balance upon withdrawal due to the accumulation of fees. The portion of fees going to LPs is set at the time of pool creation, starting from 0.01% for stable pools, and ranging up to 0.3%, 0.5%, and 1% for weighted pools. The lower fee tiers are generally more appropriate for stable pairings (e.g., stablecoins and blue-chip assets), while the higher fee tiers may be more appropriate for exotic assets. Trading fees in BEX are split 50/50 between LPs and the protocol. Protocol fees are collected in the `ProtocolFeesCollector` contract, where the fees are auctioned for `$HONEY` and subsequently distributed to `$BGT` stakers. # Liquidity Provision Source: https://docs.berachain.com/bex/guides/liquidity Deposit tokens, mint LP positions, and manage or withdraw liquidity. You can provide liquidity to BEX by committing tokens to a specific pool. *Liquidity providers* (LPs) earn a yield on their capital generated by the swap fees paid into the pool. In return for these fees and other potential benefits, LPs must deal with the fact that the collateral they deposit is not fixed. LP positions continuously rebalance between the two tokens in the pair as swaps occur in the pool. This rebalancing can impose a cost on LPs in the form of *impermanent loss* (IL), which is the difference between the value of the rebalanced position and an equivalent static portfolio of the two assets. The larger the price ratio of the assets in the pool moves from when you first deposited, the larger the IL cost you experience. LPs on BEX provide full-range liquidity, meaning that your liquidity is always active at every possible price point in the pool. BEX pools overview page listing all available liquidity pools ## Adding liquidity *Adding Liquidity* is the process of providing the two constituent tokens of a liquidity pool to either 1) create a new LP position, or 2) commit additional capital to a pre-existing LP position. BEX add liquidity interface for depositing tokens into a pool When adding liquidity to an LP position, you have the following parameters to choose from: * The token pair to provide liquidity for * Deposit quantity, which can be fixed in terms of either side of the pair * Maximum slippage (only applies when providing unbalanced amounts that require rebalancing) and transaction deadline ## Managing LP positions View your existing LP positions on **Bera Hub**. BEX LP position management page showing your active liquidity positions To remove liquidity from a specific position, you can withdraw your LP tokens. This removes the liquidity from the pool and returns the underlying collateral (based on the current token prices) to you. BEX withdraw liquidity interface for removing tokens from a pool # Pool Configuration Source: https://docs.berachain.com/bex/guides/pool-configuration Stable and weighted pool parameters, fee tiers, and example configurations. BEX offers two main types of pools, each optimized for different trading scenarios: stable pools and weighted composable pools. ## Stable pool configuration Stable pools are specifically designed for tokens that maintain similar values, such as stablecoins or wrapped versions of the same asset. They use specialized mathematics to provide optimal pricing and minimal slippage. ### Token selection * Maximum of 5 tokens per pool * All tokens must have identical decimals * Tokens should maintain similar prices (e.g., USDC/USDT/DAI) ### Swap fees * Range: 0.01% to 0.1% * Recommended: 0.01% - 0.05% for highly stable pairs * Higher fees may be suitable for less stable pairs ### Initial liquidity guidelines * Add similar amounts of each token * Maintain balanced ratios (e.g., 1:1 for stablecoin pairs) If the values are significantly different, you may see an error warning about price impact. ## Weighted composable pool configuration Weighted pools offer more flexibility and are suitable for tokens with different values and volatility profiles. They allow precise control over token weights and support up to 8 tokens. ### Token selection (weighted) * Maximum of 8 tokens per pool * No decimal restrictions * Can mix different types of tokens ### Weight distribution * Range: 1% to 99% per token * Total weights must equal 100% ### Swap fees (weighted) * 0.3%: Standard fee (recommended for most pairs) * 0.5%: Medium fee (less liquid tokens) * 1.0%: High fee (exotic or volatile pairs) ### Pool naming convention Pool names and symbols are automatically generated based on: * Included tokens * Weight distribution * Pool type Example: `33WBERA-33STGUSDC-33WETH-WEIGHTED` You can also customize the name and symbol. ## Common configuration scenarios ### Stablecoin pool example * Pool type: Stable * Tokens: USDC, USDT, DAI * Fee: 0.02% * Initial liquidity: Equal amounts (e.g., \$10,000 each) ### Weighted pool example * Pool type: Weighted * Tokens: WETH (40%), WBTC (40%), HONEY (20%) * Fee: 0.5% * Initial liquidity: Proportional to weights # Pool Creation Source: https://docs.berachain.com/bex/guides/pool-creation Create a new pool, set initial ratio, and add liquidity; token burn requirement. On BEX, you can initialize a liquidity pool for an arbitrary pair of tokens. When you initialize the pool, you can select the starting price ratio between the two tokens. You can create new BEX liquidity pools here: [https://bex.berachain.com/pools/create](https://bex.berachain.com/pools/create) To prevent spam and ensure the creation of meaningful pools, BEX requires you to permanently burn a small, economically insignificant quantity of both tokens when initializing a new pool. ## Pool initialization steps Navigate to the "Pool" section of the BEX app and select "Create a Pool". Select the two tokens you wish to create a pool for. Specify the pool fees, collected on each swap. Set initial pool token ratios and amount of liquidity to add. Confirm the pool creation transaction. BEX pool creation interface showing token selection and initial ratio configuration ## Selecting the ratio During pool creation, the price/ratio of the tokens is set based on amount of "quote" tokens per "base" token. Using the above scenario as an example, and assuming that the price of `$WETH` is $3000, the initial price of `$HONEY`is set from the initial`3000\` ratio, that is: * Each `$WETH` is worth `3000` `$HONEY` * Each `$HONEY` is worth `0.000333` `$WETH` * The initial price of `$HONEY` is `$3000 * 0.000333 = $1` If there is a known price to both tokens, you should try to set the initial price ratio to match the known prices. If the price ratio is set too high or too low, arbitrageurs will quickly correct the price to match the market. # BEX and Proof of Liquidity Source: https://docs.berachain.com/bex/guides/proof-of-liquidity Earn BGT by providing liquidity and staking LP tokens in reward vaults. Proof of liquidity (PoL) is a mechanism that rewards you for your liquidity contributions to the Berachain ecosystem through native chain rewards, `$BGT`. As the native dApp powering trading liquidity in the Berachain ecosystem, a number of BEX pools will be eligible for `$BGT` rewards. ## Earning BGT