Idea for discussion: LYF position breakdown to enable more effective DCA/swing trading

As per other posts I’ve done, I’m providing high level details to stimulate a conversation and gauge feasibility/appetite. This can be detailed after

At a glance: desired outcome

  • Allow LYF Farmers to view a “transaction level” breakdown of their overall LYF position –therefore enabling them to better DCA and scale in/out of a position more effectively

Starting point

This idea utilises/leverages 3 existing platform functionalities:

  1. Ability to view the P&L of an open position
  2. Ability to adjust an open LYF position by adding collateral/taking on more debt
  3. Ability to partially close an open position to either extract capital (TP/TL) or to repay debt
  • It also utilises information about each TX available on the blockchain

What are we trying to solve? What’s the user’s need/pain point?

Note: all numbers are illustrative and whilst i tried to make them accurate, I can’t guarantee that they’re entirely correct

Let’s use a realistic scenario to explain this:

  • Tom opens a $1000 Alpaca-BUSD position at 3X leverage
  • On Day 0, the token price is at $0.3
  • When he’s redirected to his portfolio page, he sees something along these lines

  • A few days go by. Alpaca’s token price drops to $0.25
  • Tom is somewhat relaxed and despite his position now sitting at -26% P&L he doesn’t stress. This is because his mate Kandleott told him that the bear market is a fugazi
  • When on Day 10 he logs into Alpaca he now sees something like this

  • Another few days go by. Alpaca now drops to $0.20
  • Tom logs in on Day 20 and sees his safety buffer at 1.7%

  • Tom frantically calls his grandma and asks for some pocket money.
  • Overall, we are not really sure if he’s buying the dip or panic-adding collateral to his position, but eventually he DCAs by adding an additional $1,000 to the position
  • On Day 21, Tom has now invested a total of $2,000 in Alpaca-BUSD.

  • Over the next 3 months, Alpaca’s price keeps oscillating.

  • Tom continues to add to his position

  • On Day 100, Tom has invested a total of $5,000 into Alpaca-BUSD at different levels

  • As the price recovered, he’d love to scale out of the position and return some money to his grandma.

  • Equally, he doesn’t want to close his entire position because he believes he has good entries at the bottom of the range

  • [Issue] As Tom logs into Alpaca, all he sees is an aggregated view


  1. He struggles to remember his entries (he’s not very good at keeping track)
  2. He doesn’t know how much he can take profit on the positions he’s in green on (he doens’t want to remove his capital)
  3. Other things
  • [Idea] Thanks to Alpaca’s new feature, he can now see the key details of each entry behind the aggregated view

  • Tom can now confidently take $1,024 profit on his $0.10 entry with total peace of mind

  • [Idea 2] An extra functionality to make the process even more frictionless would be to have an ability for the user to “click” on a single position and initiate a “partial closure” for that very same amount, further simplifying the process

Final considerations

  • This process can be manually done using information on the blockchain and good bookkeeping. However, this becomes very time consuming.
  • When leverage comes into play, this is also harder to model (the examples always assumed leverage was constant at 3X which is not true in real world)

[Additional consideration/reflection for discussion]

I’ve been thinking of implementation ideas and how to potentially have a more tactical MVP to reduce dev effort.

Hypothesis: A significant effort will have to go towards building new services/code that enable a) the querying of the blockchain to find the relevant data and b) making the calculated data available to be consumed by the UI

Mitigation: A thought I’ve had is that rather than doing this programmatically, we ask the user to manually paste the TX ID in the UI and therefore to manually “connect” the main transaction to its smaller ones…a bit more strain on the user but worth considering if it simplifies build

Would be a nice feature to have. I am like the user in the example and have been adding more stables to some of the LYFs.

1 Like

Thanks for the suggestion, Gianni.

This could potentially be done as a UI improvement. I will need to discuss w/ the dev team on data availability and effort required.