I have now fully open sourced the code which creates this on-chain BIP-444 futures contract!
The contract starts with an atomic deposit into the contract address of 1 BTC each (to make sure both parties put in the same amount into the contract address).
Context: BIP-444 makes the use of OP_IF & OP_NOTIF consensus INVALID upon activation.
The contract is built as follows:
The taproot address uses the NUMS point as described in BIP341, to provably show the key path is not active.
We have two parties, a "YES" (444 activates) and "NO" (444 does NOT activate). YES and NO for short.
The first leaf is a 2 of 2 multisig of both parties. This exists to be able to self send the UTXO AFTER BIP 444 activates. This is because BIP-444 just added a clause that UTXOs created before activation will NOT have the BIP-444 consensus rules applied to them. This self send removes that exception.
The second leaf: has 2 ways you can spend with it, a 2 of 2 (YES and NO) multisig, just like the first leaf OR the NO party, with a time lock which is LESS THAN the third tap leaf. This is important because it uses OP_NOTIF
The Third Leaf: The YES party can spend, after a time lock AFTER the second leaf.
The order of the timelocks is important. If BIP-444 activates, the spending condition that can spend before you will be consensus invalid, so it doesn't matter if you believe 444 activates.
So to summarize:
- If BIP-444 DOES activate, the party who believes it will be able to use the second tap leaf to get 2 BTC out.
- If BIP-444 DOES NOT activate, the party who believes that will use the third tap leaf to get 2 BTC out.
Since each side is highly confident in their position, the fair market price is a 1:1 ratio, implying 50% likelihood.
With 85 days until activation, this contract as written gives you an implied ~430% APY on your bitcoin! The risk is being incorrect on your opinion of BIP-444 activating.
You could modify the collateral each side puts up to get different implied odds of the futures contract as well.
Github:
Address:
Anyone who wants to take the BIP-444 WILL activate side, let me know! The Author of the BIP has agreed to this, I have already asked for a larger bet size beyond the 1 BTC I initially proposed, but I have more!
The contract starts with an atomic deposit into the contract address of 1 BTC each (to make sure both parties put in the same amount into the contract address).
Context: BIP-444 makes the use of OP_IF & OP_NOTIF consensus INVALID upon activation.
The contract is built as follows:
The taproot address uses the NUMS point as described in BIP341, to provably show the key path is not active.
We have two parties, a "YES" (444 activates) and "NO" (444 does NOT activate). YES and NO for short.
The first leaf is a 2 of 2 multisig of both parties. This exists to be able to self send the UTXO AFTER BIP 444 activates. This is because BIP-444 just added a clause that UTXOs created before activation will NOT have the BIP-444 consensus rules applied to them. This self send removes that exception.
The second leaf: has 2 ways you can spend with it, a 2 of 2 (YES and NO) multisig, just like the first leaf OR the NO party, with a time lock which is LESS THAN the third tap leaf. This is important because it uses OP_NOTIF
The Third Leaf: The YES party can spend, after a time lock AFTER the second leaf.
The order of the timelocks is important. If BIP-444 activates, the spending condition that can spend before you will be consensus invalid, so it doesn't matter if you believe 444 activates.
So to summarize:
- If BIP-444 DOES activate, the party who believes it will be able to use the second tap leaf to get 2 BTC out.
- If BIP-444 DOES NOT activate, the party who believes that will use the third tap leaf to get 2 BTC out.
Since each side is highly confident in their position, the fair market price is a 1:1 ratio, implying 50% likelihood.
With 85 days until activation, this contract as written gives you an implied ~430% APY on your bitcoin! The risk is being incorrect on your opinion of BIP-444 activating.
You could modify the collateral each side puts up to get different implied odds of the futures contract as well.
Github: GitHub
GitHub - Rob1Ham/BIP-444-Futures: On chain futures contract on the activation of BIP-444
On chain futures contract on the activation of BIP-444 - Rob1Ham/BIP-444-Futures

The Mempool Open Source Project®
Explore the full Bitcoin ecosystem with The Mempool Open Source Project®. See the real-time status of your transactions, get network info, and more.