Thank you for your interest.
We are building the first and only AI specialized in Bitcoin miniscript. If you help us, you will get free credits to use the platform.
Before you help us, I will teach you miniscript and AI basics.
AI is a software that learns by examples. Instead of being hard coded the rules to provide you examples, you provide it examples in training and it can learn the rules to generate completely new examples. But it is not magic, it cannot answer full paragraphs if it's trained with only one liners. So we are looking for diverse questions and answers.
Every bitcoin transaction is a smart contract written in Script, and miniscript is a subset of Script to make it simpler. You have a simple set of functions to build smart contracts.
The simplest smart contract code is `pk(key)`, which you pay to the owner of the key.
You can also have `and` and `or` like `and(pk(key_father),pk(key_mother))`, where father and mother have to sign to spend this contract. You can have only 2 parameters in these functions, so if you want to include their child, you have to use another and: `and(pk(key_father),and(pk(key_mother),pk(key_child)))`.
Another way to write that is `thresh(3,pk(key_father),pk(key_mother),pk(key_child))`, so you have 3 keys with a threshold of 3. If you want it to become a multisig 2 of 3, just change the threshold to 2: `thresh(2,pk(key_father),pk(key_mother),pk(key_child))`.
You can also use time, so `thresh(2,pk(key_father),pk(key_mother),pk(key_child),older(
2016))` is a 2 of 3 multisig that becomes a 1 of 3 multisig after 2016 blocks. But you can use `after(900000)` instead, which uses the height of the block instead of the relative time.
Lastly, we have
sha256(H), hash256(H), ripemd160(H), hash160(H), which are hash functions, where you input Lightning invoices, DLC oracle data or the answer to a fun charade. One kind of LN contract can be `or(pk(key_revocation),and(pk(key_remote),or(pk(key_local),hash160(H))))`.
See how we can use lots of different functions together?
Now it is your turn!
Try to think out of the box and try something unusual with a nice story. We want diversity.
Also, check if your grammar is correct and if the code compiles in miniscript.com (in Policy to Miniscript compiler), this is important.