The application
Yield and lending
Income-generating positions with their realized rate, lending positions with their health factor, and the liquidation simulator.
On this page
Yield tracks positions that earn a return. Lending tracks borrowing positions, collateral, debt and liquidation risk. Use these pages to review positions; deposits, withdrawals and repayments take place on your own platforms.
Announced versus realized
The announced rate describes the opportunity's advertised yield. The realized rate annualizes rewards recorded on your position.
One formula
Health factor = collateral value x liquidation threshold / debt. At 1.00 the protocol can liquidate the collateral.
Your thresholds
Warning at 2.5 and critical at 1.3 by default, adjustable in Settings, Thresholds and rates. The badges, the Liquidation margin card and the alerts all use the same values.
A simulator (Pro)
Apply a price shock, add collateral or repay debt, and read the resulting health factor before anything happens.
All your yield positions are on this page. A switch above it shows All, Stable or Other positions, and stays in the page address. Stable covers a position on a stablecoin, on a yield-bearing stablecoin such as sUSDS or syrupUSDC, or on a Pendle PT over one, as in Stable Yield; each is valued at its own price, so a PT counts at its market price, not at one dollar. The card at the top covers your open positions under that switch: the productive capital, the weighted APY, the estimated monthly income (each position at its APY compounded monthly, as in Stable Yield) and, once a position has recorded rewards over 30 days or more, the realized APY, which leaves out a position without any reward entered instead of counting it at 0% and says how many positions it rests on (on 1 of 2 positions, for instance); then one bar per position with its share of the capital and its monthly income (positions under 1% are grouped). Under All, these are the same figures as the Yield line of the dashboard. Every page reads the same APY for a position: the latest rate of its market, the pool of the same protocol, asset and chain, when Patrima finds a single one and that rate is less than 7 days old; otherwise its announced APY, which each synchronization reads again for an imported position; when Patrima no longer finds the position's market, the last rate found stays. A position without a price is left out of the productive capital and the weighted APY: the capital then reads ≈. A position valued at an assumed $1, or at the last price your wallet provider recorded, counts, and the capital reads ≈ too. A position whose APY is unknown counts in the productive capital but not in the weighted APY or the monthly income, which rest on the positions whose APY is known. When stable positions are in the card, two lines at its foot open Stable Yield's market rates and its optimizer. The Yield target card shows, once a target is set, the gap in points between it and the weighted APY of all your open positions, whatever the switch. Set target defines the expected weighted rate, and a first target turns its alert on; its alerts also depend on the minimum capital and frequency selected in Settings > Notifications, where turning the alert off keeps the target. Remove target, in the same editor, removes both.
The list shows the current amount of each position with its value in dollars, or Price unavailable when its price is unknown; a value on an estimated price reads ≈. Open positions come first, and a closed position shows its last amount without a value at today's price. A stable position carries a Stable mark; for a PT or a yield-bearing stablecoin, its ? says why it counts as stable. Select a position in the list to open its panel: current and deposited amounts, APY and realized rate, risk, status, close date of a closed position, what makes it count as stable when it does, funding source, pending rewards and notes. The panel holds the actions: Edit opens the position's form page, Ignore leaves an imported position out of your totals and, while it is open, the token that stands for it in the wallet (an aToken, a PT) too, Delete removes a position you entered, after confirmation. New position opens the same form. A position of an archived account offers no action: it stays in the history as it is.
An imported position arrives without a risk assessment and shows Not rated until you choose a level in Edit. Its date reads Observed since: it is the first time the sync saw the position, not its real opening; a position closed and then observed again starts from that new observation. Its amount at that first observation is not shown as a deposit, nor compared with it as a loss. Closed by hand, an imported position stays closed without holding back the rest of the wallet; if the wallet still holds the token that stands for it, that token counts in your spot holdings. To leave both out of your totals, one option is to keep the position open and choose Ignore. A position cannot be added by hand to a synchronized wallet, whose DeFi positions come from its sync, nor moved to one: the form does not offer them. An exchange account accepts one, for balances its sync does not read. The form takes the amounts in the asset's units, its symbol next to them, accrued rewards included. A close date only goes with a closed or liquidated position, after its opening, and a position you closed needs one: its realized rate is measured up to it. If a position uses borrowed funds, its funding source identifies the loan and its cost. See Accounts for manual edits to imported positions.
How the realized rate is computed
The realized rate is recorded rewards divided by the initial deposit, then simply annualized over the holding period. It is calculated in asset units; it does not by itself measure net dollar gain after price changes, fees or borrowing costs. Periods shorter than 30 days are flagged as short. A synchronized position shows a dash instead: the sync records the amount held, not the rewards paid or the deposits made since opening, so its realized rate is unknown, never zero. A position with no reward entered also shows a dash rather than 0%, as does a closed position without a close date; an open position is measured up to today. The Yield card and the dashboard follow the same rule: they leave these positions out of their realized APY and say how many positions it rests on.
For a deposit of 1,000 units and rewards of 10 units over 30 days, the recorded gain is 1%. Simple annualization gives about 12.2%. This does not mean 12.2% has already been earned or that this rate will continue.
Lending opens on the Liquidation margin card: your lowest health factor with its state against your thresholds, the distance to liquidation of the most exposed position, total collateral and total debt, with the collateral ratio and net value underneath. The distance is the move of the price that liquidates that position: its collateral falling against a stablecoin debt, its debt rising against a stablecoin collateral; it reads – when both sides move with a market, as for a loan that borrows the asset it pledges. Positions below one of your thresholds are listed in the card, red below the critical threshold or 1.00, amber below the warning threshold; when none is, the card names the most exposed position. Positions whose health factor is unavailable are grouped in one line that opens to give the reason for each. A Loans not tracked line counts the loans of your wallets that Patrima does not follow: a loan with several collaterals or several borrows, never imported, and a frozen loan, which keeps the amounts of its last applicable sync, read ≈, without a health factor (see Accounts). A collateral or a debt without a price is left out of the totals, which then read ≈, and the collateral ratio is not shown; the ? next to them gives how many positions are concerned. A debt under 10 dollars, such as what remains after a liquidation, does not set the lowest health factor and raises no alert.
Health factor = collateral value x liquidation threshold / debt value. A value near 1 indicates proximity to liquidation. The threshold comes from the protocol, and the wallet data does not give it: the import preview asks for it for each borrow, optionally, and it can be entered later on the position. Without the necessary inputs, Patrima shows unavailable.
Select a position in the table to open its panel: collateral, debt, health factor, liquidation threshold, the price that liquidates it and its distance, borrow rate, status, origin and last sync, pending rewards and notes. An imported loan's date reads Observed since: the first time the sync saw it. From there, Edit opens the position's form, Ignore leaves an imported position out of your totals and alerts, and Delete removes a position you entered, after confirmation. New position opens the same form to add one by hand; a synchronized wallet is not offered there, since its loans come from its sync.
In the table, each health factor is coloured with your own thresholds: green above the warning threshold, amber between warning and critical, red below critical. A position that cannot be evaluated reads unavailable, and a position without debt shows a dash. The liquidation simulator judges the simulated health factor with the same thresholds, and names three cases:
Below 1.00: liquidation
- What it means
- Below 1.00: the protocol can liquidate the collateral.
No debt
- What it means
- The simulated repayment clears the debt: no health factor to compute.
–
- What it means
- A needed input is missing: liquidation threshold, price of one of the two assets, or a debt that values at zero.
Position badges and alerts use your thresholds: warning at 2.5 and critical at 1.3 by default. Change them in Settings > Thresholds and rates. They do not change the protocol's liquidation point.
A ≈ before the health factor indicates an estimate because a price is assumed at parity. The Liquidation margin card leaves out positions that cannot be evaluated and counts them on its HF unavailable line. For a position close to liquidation, always check the protocol's own interface.
Alerts follow the daily snapshot
Health factors are re-evaluated for alerts once a day, at the scheduled snapshot, not continuously. The page shows the live figure whenever you open it, but between two snapshots nothing watches your positions: for a position close to liquidation, the protocol's own interface remains the reference.
On Pro, the simulator sits next to the Liquidation margin card. Choose a position, apply a price shock (presets of 10%, 20% and 35% in the direction that brings the loan closer to liquidation, a fall or, for a crypto debt against stablecoins, a rise of the borrowed asset; or your own value), add collateral or repay debt, and read the simulated health factor, its change from now, its state against your thresholds, the distance to liquidation and the liquidation price. The shock is a market move: it moves the side of the loan that follows a market, the collateral against a stablecoin debt, the debt against a stablecoin collateral, and both for a loan that borrows the asset it pledges, whose health factor then holds; between two stablecoins, it is a depeg of the collateral. Below your warning threshold, it shows the collateral to add or the debt to repay to get back to it; doing nothing remains an option.
Only open positions with debt and a health factor are available, which takes their liquidation threshold. When none is, the simulator says so, and how many loans lack their threshold. Simulated results remain estimates when the starting data is estimated.
Frequently asked questions
What is the health factor and how do I read it?
Health factor = collateral value × liquidation threshold ÷ debt value. Compare it with your warning and critical thresholds. At or below 1, the position can be liquidated under the protocol’s rules. A high HF does not guarantee the investment’s safety.
Enter the liquidation threshold on the position if it is missing. The ≈ sign, as in ≈ 1.85, marks an estimate.
What is the liquidation simulator for?
It answers the what-if before it happens: apply a price shock (presets of 10%, 20% and 35%, a fall or, for a crypto debt against stablecoins, a rise), simulate adding collateral or repaying debt, and see the resulting health factor, liquidation price and distance. The shock moves the side of the loan that follows a market: a crypto debt against stablecoins is liquidated by a rise. It offers only open positions that carry debt and have a health factor: a position without threshold is not listed, and when none can be simulated it says why. A simulated figure inherits the state of the position it simulates: if the current one is an estimate, the simulated one is too.
Why is my current amount below what I deposited?
Yield is not risk-free. The position may have lost value through impermanent loss, falling token prices, or a protocol issue. The table shows the deposited amount under the current one whenever they differ, so the gap is visible.
What is the "realized" rate under the APY column?
It annualizes rewards recorded on your position; it is neither guaranteed future income nor net dollar gain. Check amounts and dates; a short period can produce a very high annualized rate. See Yield and lending.
What does "Set target" APY do?
It defines the weighted APY you expect from your yield capital. At each daily snapshot, if the weighted APY of your open positions is below it and the capital that rate covers is above the minimum set in Settings, Notifications (500 dollars by default), you get an alert, useful to catch decaying yields without checking every day. The weighted APY rests on the positions whose APY is known: a position with no known APY does not count as 0%, and with no APY known at all, no alert is sent.
Which positions count as stable?
A position on a stablecoin, on a yield-bearing stablecoin such as sUSDe, sUSDS or syrupUSDC, or on a Pendle PT over one of them. The Stable switch of Yield shows them, and Stable Yield's optimizer counts them in your current income and in its rebalancing plan. Each is valued at its own price: a PT counts at its market price, not at one dollar, and a position without a price shows – and stays out of the totals. The Allocation page keeps sorting assets by their recorded type, so a PT may sit there in the crypto pocket.
Why are my pending rewards not included in my net worth?
Pending rewards on a DeFi protocol are shown apart: in the position's panel, in the account's panel in Accounts and in the Yield line of the dashboard's Capital card. Their value is the one given by the data provider at the last synchronization, and each synchronization refreshes them. They are not added to net worth, because they are not held until claimed and their value can change before then. A wallet total can therefore differ slightly from other tools that count them.
A reward the provider cannot price is shown by its quantity and left out of the total.
Why does an imported position say "Not rated"?
The sync reads the amounts held on the protocol, not a risk assessment. An imported position therefore shows Not rated instead of a default level. Choosing a level in Edit records your own assessment, Medium included; the next syncs keep it.
See also