OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Minsc

Minsc is an embeddable, high-level scripting language for Bitcoin that expresses complex spending conditions in a pseudo-code-like syntax. It supports descriptors, Miniscript, Bitcoin Script, transactions, PSBTs, Taproot, BIP32 and CTV, and is available as a Rust command-line tool and API and as a JavaScript/WASM package.

Independent OpenViST project profile, based on linked sources.

Minsc — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Minsc when a Bitcoin development task benefits from a higher-level way to express spending conditions or when a Rust or JavaScript workflow needs to build or evaluate Bitcoin scripting and transaction data.

Who it is for

  • Bitcoin developers writing or inspecting spending conditions and scripts.
  • Developers building Rust or JavaScript tools that work with Bitcoin descriptors, Miniscript or PSBTs.

Documented uses

  • Express complex Bitcoin spending conditions in a higher-level syntax.
  • Evaluate Minsc source files or input from standard input, and inspect their abstract syntax tree.
  • Use Rust code to evaluate an expression and extract a Miniscript policy.
  • Construct Bitcoin descriptors, addresses and PSBTs in a JavaScript workflow.
Before you choose

Requirements & limits

The public GitHub repository identifies an MIT license. The README documents local installation through Cargo and JavaScript/WASM installation through npm.

  • The repository identifies Rust as the primary language; the README also documents a Rust API and a JavaScript/WASM package.
  • The README says the main min.sc documentation and playground are outdated and points readers to the min.sc/v1 playground and examples.
  • The project examples range from simple descriptors and multisig to more involved spending conditions, including recovery and timelock patterns.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Install Minsc and evaluate a script

Install the Rust command-line tool and run a Minsc file or input from standard input.

Before you start

  • Rust installed

Steps

  1. Install Minsc with the command below.

    Documented command
    cargo install minsc
  2. Run a file with minsc examples/htlc.minsc.

  3. Alternatively, pipe Minsc code to minsc - to evaluate standard input.

Expected outcome

The command-line tool evaluates the supplied Minsc source; it can also print an abstract syntax tree with the `--ast` option.

Guide limitations

  • The repository documents these installation and invocation examples but does not describe further environment-specific setup.
Source-based practical guide

Use Minsc from JavaScript to prepare a PSBT

Use the documented JavaScript/WASM package example to construct a multisig-based PSBT and export it for external signing.

Before you start

  • A JavaScript project using npm

Steps

  1. Install the package with the command below and import it in JavaScript.

    Documented command
    npm install minsc
  2. Use Minsc expressions to define a multisig descriptor and derive a receive address.

  3. Construct a PSBT with an input and outputs.

  4. Encode the PSBT as base64 for external signing.

Expected outcome

The example produces a base64-encoded PSBT ready to pass to an external signing workflow.

Guide limitations

  • The README provides an illustrative example; it does not document a complete external signing or transaction-broadcast workflow.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
14 October 2026
Original website title
shesek/minsc · Official homepage title · retained in its source language