ItchySats 0.4.0 — Perpetual Time
New Umbrel release is out! Update now — and rollover with the new ItchySats version including perpetual CFDs!
Perpetual CFDs — roll’em over
The big feature of 0.4.0 is perpetual CFDs. The previous version 0.3.6 was limited to positions being open for 7 days. Now positions are open forever.
That simple? It is, but here are a few more details on how that works 😁
When you open a position the position is ensured to be open for 24h, i.e. the oracle event to close the position is 24h in the future. In order to keep the position open long than the initial 24h you have to come online at least once within 24 hours. Why? Because due to ItchySats being non-custodial extending the CFD to a later oracle event requires the exchange of a new set of transactions between you and your trading partner. You basically renew your position with the maker without spending from the lock transaction that was initially published, agreeing on a new set of potential payout transactions.
In order to have more assurance that the position remains open the CFD is rolled-over every hour, i.e. every hour there is a funding event where your daemon collaboratively sets up a new set of transactions with the maker’s daemon. The periodic rollover ensures that you don’t have to be online at very specific points in time, but whenever you come online the contract will be extended.
When extending the CFD a funding fee is deducted. This happens off chain — the payout transactions the are agreed upon reflect the fees. Currently the opening fee is based on the first 24h. When you open a position you see the initial costs displayed.
We already have several improvements on our list for the current perpetual implementation. If you encounter a problem, have a question or feedback don’t hesitate to reach out on Twitter, Telegram or Matrix.
A few more things
The user interface got a small overhaul that should help managing your positions. If you miss something, or would like to have more information on a certain topic displayed please provide feedback. We love to hear from our users to improve what’s currently out there.
We invested quite some time into connection stability between taker and maker and hope to have fixed several bugs there. If you encounter problems please reach out! The more we know the more we fix.
Upgrading to 0.4.0
If you are on Umbrel please just upgrade to the latest version, to get the latest version of the ItchySats app.
For binary users: The maker port was changed from
10000 (to allow the old maker still being available for some time for Umbrel users on an old version).
CFD Database reset
In version 0.4.0 the CFD database is being reset, meaning that all previously opened positions are not displayed anymore, i.e. your “Closed Positions” history will be empty once you upgrade to 0.4.0. All remaining open positions were automatically closed to use the payout as defined by the oracle by our automated maker to ensure no money is lost when upgrading. The old maker automation will keep running until all old positions were closed by the oracle.
The reset does, of course, not influence your wallet but only the CFD history. Your balance will be the same when you upgrade.
The reset was necessary because we introduced a new internal model based on events that is more efficient in handling disk space. Version 0.3.x was quite disk space hungry which is now significantly reduced. But the new model made it impossible to migrate the old database version to the new one. With the new model in place, future releases should be able to migrate, so you won’t lose your CFD history.
Going short will be the next feature to be added. You can expect that in the next major release.
Besides that we have several interesting features to add that we plan to tackle as part of the next release or minor releases afterwards. Amongst those features is the possibility for adding automatic open and close limits for the taker, combined position management, opening and closing into a channel to reduce fees and configurable leverage.
The next big thing after going short will be creating a decentralized marketplace where multiple makers and takers can discover and open positions with each other. Stay tuned for the most awesome Bitcoin DEX!