Learn a bit about miniscript and help us train the model!
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.

Sign in to Google to save your progress. Learn more
Write your email or npub (optional)
Share with us so we can give you back credits when we go public.
1. Write a request to the model
e.g. "Write the simplest miniscript smart contract", "Two partners in a company want to set up a multisig where their lawyer keys also can be used after 1 year"...
Code answer for question 1
Write only code here, e.g. and(pk(key_father),pk(key_mother)).
Remember to see if it compiles in miniscript.com
Explanation of answer for question 1
Describe in detail your answer, how you would like to read from an objective code tutor.
2. Ask the model for an explanation
Provide code and ask the model to explain it.
Answer question 2
3. Ask the model to correct wrong code
Get a code that runs, break it and ask the model to explain why.
Answer question 3
Provide the correct conde and the explanation why it doesn't work.
Submit
Clear form
Never submit passwords through Google Forms.
This content is neither created nor endorsed by Google. - Terms of Service - Privacy Policy

Does this form look suspicious? Report