User request
one problem i've been encountering is create more loops after a position has been entered, without supplying more collateral or using part of the borrowed debt already in the wallet
Current leverage modal, more cleanly
The current leverage modal is built around entering leverage from wallet-held starting capital.
Today the leverage flow asks for:
- an Initial Capital amount
- optionally toggling that input between collateral token and loan asset
- a Target Multiplier or Target LTV
- then it previews the extra flash borrow and resulting collateral added
In practice, the existing position is mostly used for risk preview / projected totals. It is not treated as reusable capital for opening additional loops.
Current limitation
After a user already has a leveraged position, the modal does not offer a clean way to say:
- “take my current position and loop it further”
- “increase leverage from current LTV to a higher target LTV”
- “size the incremental borrow/collateral needed from the existing position itself”
Instead, the user has to provide a fresh wallet-funded input:
- more collateral from wallet, or
- some of the borrowed debt asset already sitting in wallet
That makes the modal feel like open leverage from new capital, not increase leverage on an existing position.
Why this is confusing
A user who already has a live position expects leverage management to be expressed relative to the current position:
- current collateral
- current borrow
- current LTV
- target LTV / target multiplier
- incremental borrow required
- incremental collateral added
The current entry point starts from “Initial Capital”, which implies wallet funding is mandatory even when the user’s intent is just to add more loops to the position they already have.
Notes from current frontend implementation
Relevant current behavior in the modal/hook stack:
src/modals/leverage/components/add-collateral-and-leverage.tsx
- primary input is
Initial Capital
- submit is disabled when
initialCapitalInputAmount <= 0
- existing position is used for projected collateral / borrow / LTV preview
src/hooks/useLeverageQuote.ts
- quote math is derived from
initialCapitalInputAmount plus target multiplier/LTV
- existing position is not used as a sizing input for incremental looping
src/hooks/useLeverageTransaction.ts
- execution flow approves/transfers the initial wallet-funded token amount as the starting capital
Desired outcome
The leverage UX should support incrementally increasing leverage on an existing position without requiring new wallet capital by default.
A cleaner mental model would be:
- show Current Position
- let the user choose a target LTV / target multiplier relative to the current position
- compute the additional borrow and additional collateral needed to get there
- execute the incremental loop directly against the existing position
Acceptance criteria
- Users with an existing position can increase leverage without entering fresh wallet capital.
- The modal can express the action as increase leverage from current position rather than only start from initial capital.
- Preview is framed in incremental terms:
- current LTV → target LTV
- additional debt borrowed
- additional collateral added
- resulting position after execution
- If a route truly requires wallet funds for some edge case, the UI explains that clearly instead of making wallet-funded input the default mental model.
User request
Current leverage modal, more cleanly
The current leverage modal is built around entering leverage from wallet-held starting capital.
Today the leverage flow asks for:
In practice, the existing position is mostly used for risk preview / projected totals. It is not treated as reusable capital for opening additional loops.
Current limitation
After a user already has a leveraged position, the modal does not offer a clean way to say:
Instead, the user has to provide a fresh wallet-funded input:
That makes the modal feel like open leverage from new capital, not increase leverage on an existing position.
Why this is confusing
A user who already has a live position expects leverage management to be expressed relative to the current position:
The current entry point starts from “Initial Capital”, which implies wallet funding is mandatory even when the user’s intent is just to add more loops to the position they already have.
Notes from current frontend implementation
Relevant current behavior in the modal/hook stack:
src/modals/leverage/components/add-collateral-and-leverage.tsxInitial CapitalinitialCapitalInputAmount <= 0src/hooks/useLeverageQuote.tsinitialCapitalInputAmountplus target multiplier/LTVsrc/hooks/useLeverageTransaction.tsDesired outcome
The leverage UX should support incrementally increasing leverage on an existing position without requiring new wallet capital by default.
A cleaner mental model would be:
Acceptance criteria