10101 is an onchain and LN wallet which provides its users with a platform for trading inverse BTC/USD futures without requiring a custodial deposit. To participate in trading, users need to open a payment channel to the 10101’s LN node and fund the channel with an amount of sats needed to collateralize their open positions.
When a position is opened, sats are locked in the channel until the position is closed. This locking mechanism applies to both the buyer and the seller of the futures contract. The allocation of locked sats upon closing the position depends on the difference between the opening and closing prices, with price data sourced from the BitMEX exchange through the Olivia oracle (
https://github.com/LLFourn/olivia).
Futures contracts on 10101 expire weekly (on Sunday at 15:00 UTC), but they can be extended indefinitely, effectively turning into perpetual swaps. Users can even use a short position as a form of synthetic stablecoin. If you open a short position with x1 leverage, the USD value of your assets remains constant regardless of any fluctuations of BTC/USD rate.
The name of the 10101’s stablecoin is PEGZ, you can read more about it here:
https://bolt.fun/story/pegz-how-far-have-we-got-1-lightning-stablecoin--1102 The platform acts as the counterparty for all trades. Users do not have direct DLCs with other users but instead have these contracts with 10101 itself, with the platform matching the trades in the background. This means that when Alice buys a futures contract and Bob sells it, Alice technically buys it from 10101, which, in turn, buys it from Bob. When Alice wants to sell, and there's a buy order from someone like Carol on the platform, Alice will sell to 10101, and 10101 will sell to Carol.
This setup allows users to trade futures contracts in a manner similar to traditional exchanges, where the platform acts as an intermediary, ensuring that closing the position is possible even if you're not directly matched with the counterparty you opened the position with.
The project is currently in a closed beta stage, you can request access via its website
https://10101.finance
Let me share my experience.
1. Upon the first launch of the application, it requires entering an email address. I installed the application on two devices, using the same email address. However, the two wallets created in different instances of the application are not linked. They have different seed phrases, and depositing into one does not reflect in the other. Consequently, it's possible to create multiple 'accounts' with the same email address. It seems a little bit weird.
2. A seed phrase is provided, but it works not the way I expected. The wallet has a 'Backup' button (which displays the seed phrase), but there is no 'Restore' button. The seed phrase can be used in other wallet software, albeit in a somewhat convoluted way. The reason is the use of non-standard derivation paths. So initially, one must convert the seed phrase into a different format using a specific utility (
https://github.com/get10101/bip39-to-bip32). Afterward, access can be restored via another wallet (the support team suggests using Sparrow Wallet, which understands the required format).
However, this method only recovers on-chain funds. Anything stored in the Lightning channel remains inaccessible. To make those funds accessible, one would have to request the support team to forcibly close the channel (with a substantial fee), allowing the funds to become available through another wallet software.
The process of regaining access like this implies that calling 10101 entirely non-custodial isn't accurate. If one lose their phone with the app, their funds, particularly those in the channel, are unrecoverable without 10101's intervention.
Additionally, the app lacks any features for managing channels. There's no channel backup option, and initiating force-close isn't available. There's only a cooperative closure option. Even in a scenario like the one described above or any other situation requiring 10101's initiative for channel closure, 10101 could broadcast an outdated channel state (e.g., one where no profit was made or even a loss occurred), and users wouldn't have any way to contest this. In the worst case, during a force-close, users could receive the minimal amount they ever had in their account history. If a force-close request is denied, they might not receive anything at all (though 10101 also wouldn't receive their funds left in the channel).
3. To start trading, users may open one of three types of Lightning channels.
- When opening a Small channel, you can deposit from 60K to 200K, and 10101 will add 100K from its side.
- When opening a Medium channel, you can deposit from 385K to 1.5M, and 10101 will add 750K.
- When opening a Large channel, you can deposit from 760K to 3M, and 10101 will add 1.5M.
Opening fee is 1% of the deposited funds, min 10K sats.
In other words, for a fee of 10K to 30K, one can obtain a channel with a capacity of up to 4.5M and incoming liquidity of up to 1.5M. Not bad.
4. There is a limit on the maximum open position size.
For Small channels, it is calculated as follows:
min(100K*2; IL*2),
where IL is the incoming liquidity in the channel at the current moment.
For Medium channels, you should substitute 100K in the formula with 750K, and for Large channels, use 1.5M.
It’s never explained in any docs. Only support team can explain it by request.
5. Entering the size of the order is not the most convenient process. Users either need to input the position size in dollars or the margin size in sats, considering the chosen leverage. Please note that the calculations of the maximum position size provide the size in sats, while the app calculates the volume in dollars. I have found a trick to simplify the calculations for dollar size. For instance, if one wishes to open a long position for 10,000 sats, they can choose x1 leverage, input 10,000 in the Margin field, and the Quantity field will automatically display the required position size in dollars. Adjusting the leverage then only changes the margin size, keeping the position size in dollars constant.
6. On the trading platform, only market orders are available, and there is no order book. It appears that 10101 operates as a broker for some exchange, likely akin to BitMEX, as it appears to open a position on the exchange whenever users open a position on the app. Their revenue model seems to involve capturing the difference in fees. BitMEX charges a 0.0075% fee, while 10101 charges 0.3% for each trade.
7. It’s only allowed to have one open position at a time. If you need to change the position size, you'll have to close it completely and open a new position with the desired volume. This is both inconvenient and costly in terms of fees.
However, everything is evolving. The project is currently in a closed beta phase, and using it makes sense primarily for testing purposes. Although, it's indeed unusual to conduct testing on the mainnet rather than a testnet.