Perpetual Futures Automated Market Maker

In order to offer perpetual future derivatives and provide the ability to long and short assets, and exchange needs to be willing to counter bet against the end user/trader. This means that similar to the business model of a casino, an exchange takes a loss whenever traders profit while the opposite interaction is true as well. This of course requires not only a large investment to bootstrap initial liquidity in the market from the party providing these financial instruments, but also incurs a non zero risk and liability on their behalf. That is to say, a large enough loss compromises the financial well being and even viability of the exchange to continue offering these services.

Traditional finance offsets this risk in stock exchange markets by letting users of the platform become the market makers themselves and bet against each other with Call/Put Options instruments. In this system, stock broker platforms simply become the middleman guaranteeing the execution of these transactions and settling the outcome of these trades. I believe the principles of this model can be easily encapsulated by smart contracts to work with decentralized exchanges and give them the ability to offer leveraged short and long trading to their users.

In the system I’m proposing, the market for an individual asset would consist of two interconnected but separate pools. One of which would be a pair of the stable coin collateralized debt position alongside the synthetic short token of the underlying asset, while the other pool would be the opposite long equivalent. The ratio of these two tokens in each pool would represent the amount of leverage chosen by the user, the percentage of which would also set a liquidation point, were the trade to play against the trader.

For example, if one were to enter the synthetic iBTC market at a price of $40,000 to open a 5x leverage short with a $2,000 collateralized debt position, 10,000 short tokens would be locked into the pool alongside the trader’s CDP with a liquidation point of $48,000. If the price of BTC were to move against the trader by raising in price and reaching liquidation, their collateral would be forfeited and used to pay each member of the long pool with a percentage representing their amount of long tokens against the total supply of active long tokens currently inside the pool.

In this instance, a long trader holding 1,000 tokens of a total of 100,000 would receive 1% of all positions being liquidated in the opposing short pool. Additionally, traders would also be able to keep adding collateral to their positions in order to decrease their leverage ratio and increase their liquidation point. In this model, short traders are essentially betting against long traders and vice versa, requiring no liquidity investment from the exchange while still accruing a nominal transaction fee for maintaining the platform.

The system outlined above serves as a general summary of this theoretical platform service, but further research and parameter modeling is still being developed in order to optimize the potential of bringing this capability to market.

Other things to consider:

  • The health ratio of an open trade, if trading against the user but not reaching the liquidation point quite yet could limit the amount of rewards they receive of opposing pool liquidations. Following from the previous example, if the price of BTC is $44,000 any long positions being liquidated at that point would only reward our hypothetical short trader as if they only hold 5,000 short tokens since their position is 50% towards being liquidated themselves. Perhaps the alternative could be true as well in which a positive health ratio would increase the number of their synthetic tokens in much the same but opposite way.

  • Unlike traditional financial systems in which the leverage multiplier directly equates to the multiplier of profits as well, in this model that wouldn’t be the case because the multiplier serves only to increase the amount of short/long tokens a given trader holds in relation to their collateralized debt position. Since that amount is used to calculate the percentage of all pool profits they are entitled to it becomes a lot harder, perhaps impossible, to calculate risk to reward before entering a position in such a dynamic reward model.

  • Initiating every individual market might present some challenges up until a point in which a sort of market equilibrium between longs and shorts is established, requiring the need for initial liquidity provision or a grace period to allow the build up of countering trades. Though in theory, if a market initiates in a very lop sided iteration, it would be an incentive in and of itself to counter trade against the crowd because the rewards would be split among a much smaller pool of participants.

This is very much a half baked idea I was messing with in the middle of a flight with no Wi-Fi and only the Indigo white paper keeping me company for inspiration. I am very excited to at the very least initiate this conversation within the community and hopefully receive any help in improving this model from more knowledgeable members as I think the full economic implications and potential prototyping are probably beyond my depth.


Thank you for this write up. This sounds like a great idea and is something that another team could build on top of Indigo. I anticipate we’ll see a lot of these types of products popup to utilize synthetics and create derivatives.


Hey @defiroose, thanks for the response!

While I agree that this is an added capability that could be built on top of Indigo, I think this feature being native to the protocol is exactly what we would need for Indigo to set itself apart and clearly show that we are an improvement, not just a parallel iteration, on the ideas and financial systems that Synthethix brought to the crypto ecosystem as a whole. This is specially the case when SNX was not able to live up to its own promises and utility to become the derivatives market the industry was really hoping for.

In the current paradigm and status quo of synthetic derivates, for a trader to open a short position they would have to mint a synthetic equivalent of an asset, sell it in the open market, rebuy it back at a later time when the price drops and finally burn the synth to unlock their initial collateral at a net profit. While this system works, it’s overly complicated and requires the user to manually perform and accurately time all four of these transactions, all in the middle of the usual network congestions that happen in DeFi when the crypto market as a whole experiences a volatile movement.

I don’t think this user experience lends itself to the industry disruption facilitating this whole process as much as a centralized exchange like Binance has the potential of actually accomplishing. I strongly believe this is the kind of innovation that the community would love to see in order to incentivize mass user adoption, and I would love nothing more than helping bring something like this to market.


I’ve actually come up with a way around this problem. The protocol can limit the leverage potential at market initiation in order to allow a safe and gradual risk allowance upgrade as the market finds an equilibrium.

For example, starting off with only a 2x-5x leverage positions would allow a healthy risk without impairing the growth of the perpetual futures market, as the underlining asset would have to make at least a 20% move before the 5x positions start getting liquidated. Subsequently, as the individual market itself matures leverage would be increased to up to 25x, 50x or 100x in accordance with community governance votes and discussions.

1 Like

Well concept wise that’s a great idea. Now it is possible that I might have misunderstood it, but what if we are in a mania phase and everyone is going long on iBTC and long pool size getting very big while there are very small amount of traders on short side. Wouldn’t that create mismatch in the pools.

1 Like

Really really interesting idea! I am slowly thinking through it, and it seems to me that there may be a need to incentivize asset balance between the pool (I think asset balance could work… meaning equity * leverage… doesnt have to be equity balance)

For example, using your numbers above, let’s assume there is only 1 user in each pool (simplified edge case). User 1 is your guy, opens up short position 5x leverage with $2,000 on BTC at $40,000. So he borrows essentially 0.25 BTC. User 2 is another guy who opens up a long position at 5x leverage with $4,000 on BTC at $40,000. So he is long 0.5 BTC.
User 1 is liquidated at BTC=$48,000, and he losses his $2,000 USD. However, User 1 has an unrealized PnL of $4,000, so we are missing $2,000 worth of P&L in the protocol for the long user.
If User 1 had a leverage of 10x instead of 5x, they would have been liquidated at BTC = 44,000, where User 2 unrealized PnL = $2,000, so protocol is balance (this is why I said balanced assets, not necessarily balanced equity.). Or if User 2 deposited $2,000 up front, that would work too.

So 2 quick thoughts on how to help incentivize balanced pools…

  1. Similar concept to a funding rate. In my example above, you could have a positive funding rate, and incentivize users to go short BTC (even if its simply for the carry, high enough funding rate should incentivize enough).
  2. You could have dynamic leverage. What I mean here is the max leverage of each pool changes based on the relative assets between the pool. In my example above, you would cap user 2 at 2.5x leverage instead of 5x leverage. This way, at User 1’s liquidation price of $48,000… User 2 is only owed $2,500. I think you have to cap the leverage lower on the pool with the higher assets. Theoretically you could allow user 1 to go up to 10x leverage, but you can’t force them to go up to 10x. You can force User 2 to only go up to 5x leverage of the protocol is parameterized correctly.

Hope this all makes sense! Really really interesting idea. Seems like a potentially better set up than most perpetual protocols right now!