Skip to content

Instantly share code, notes, and snippets.

@ffranr
Created February 18, 2026 14:44
Show Gist options
  • Select an option

  • Save ffranr/d4de8b508b3ae1ba58c533973f794cfb to your computer and use it in GitHub Desktop.

Select an option

Save ffranr/d4de8b508b3ae1ba58c533973f794cfb to your computer and use it in GitHub Desktop.
Taproot Assets - Rust Crates update

Taproot Assets - Rust Crates

Summary

I've just published/updated the taproot-assets Rust crates.

https://crates.io/search?q=taproot-assets

https://github.com/ffranr/taproot-assets-rs

These crates serve as a Rust foundation for Taproot Assets integrations: shared protocol types, core proof verification logic (no_std), a gRPC client for tapd, a high-level SDK, and ZK-focused verifier/core crates.

Current status and remaining work

Current status: core proof verification flows and risc0 ZK claim-level components already in place. Hopefully a strong base for things like compact WASM proof verifiers in browser/mobile environments.

What’s left (current roadmap/gaps) before “full proof-file replacement” is production-ready:

  • Verify recursive/nested additional_inputs end-to-end (not fully enforced yet).
  • Add challenge_witness ownership proof verification.
  • Validate alt_leaves against taproot commitments.
  • Add stronger chain-context checks (header PoW / light-client style validation), beyond merkle inclusion.

ZK architecture note

Instead of trying to prove the entire Taproot Assets proof flow in one giant circuit, we split it into small claim circuits (proof-chain, anchor, taproot commitment, STXO, asset integrity) and then combine them with a join claim. That split is intentional for RAM control: each guest only loads the data it needs, journals stay tiny (digest/flag outputs), and the host can generate many claims in parallel. Net effect is a much more practical memory profile and a cleaner path to recursive aggregation and lightweight verifiers (including WASM-oriented verifier footprints).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment