charms

Crates.iocharms
lib.rscharms
version0.5.4
sourcesrc
created_at2024-12-17 03:09:17.571183+00
updated_at2025-04-05 01:23:07.122162+00
descriptionEnchant Bitcoin with your own spells ✨
homepage
repositoryhttps://github.com/CharmsDev/charms
max_upload_size
id1485745
size1,265,481
Ivan Mikushin (imikushin)

documentation

README

Charms


crates.io

charms is a library, CLI tool and web API for programmable tokens and NFTs on top of Bitcoin.

Charms are bundles of tokens, NFTs and arbitrary app state, enchanting Bitcoin UTXOs, that can be used to build apps directly on Bitcoin.

For example: Charms NFTs have state, so it's easy to create a token managed by an NFT: the token's remaining unminted supply is stored in the NFT state, and you can only mint the token when updating the NFT state accordingly (in the same transaction).

Charms are created using spells — special messages added to Bitcoin transactions, manifesting creation and transformation of charms.

Get Started

Install Charms CLI:

export CARGO_TARGET_DIR=$(mktemp -d)/target
cargo install --locked charms --version=0.3.0

Create your first app (your own token on Bitcoin):

charms app new my-token
cd ./my-token
ls -l

Now head on to charms.dev to learn more!

Documentation

Concepts and guides: charms.dev

Charms CLI:

charms --help

Inspiration

Charms are inspired by Runes — a way to create tokens on top of Bitcoin. Charms are, in a way, a generalization of Runes.

The main difference is that Charms are programmable (and composable).


©️2025 Charms Inc.

Commit count: 0

cargo fmt