The best way to get started? Launch your first token on Spark.

You can go from nothing to a working token in just six steps. No complicated setup. No need to understand every detail up front. Spark handles the hard parts — so you can focus on getting something live, fast. Below are instructions using either the SDK or CLI.

1. Install the CLI

git clone https://github.com/buildonspark/spark.git
cd spark/sdks/js
yarn install && yarn build
cd examples/spark-cli
yarn cli

2. Create a Wallet

> initwallet

You get back a wallet object and a mnemonic. This wallet will become the sole issuer for your token. One wallet = one token. Treat it like a root of trust.

3. Fund Your Wallet on L1

>gettokenl1address

Why fund? The token announcement transaction requires Bitcoin to pay for network fees. Without funds, the transaction won’t be included in a Bitcoin block. This is a one-time cost to establish your token’s identity on Bitcoin L1.

You can deposit test funds to your REGTEST Spark wallet using our faucet.

4. Announce Your Token (on L1)

Potential loss of L1 funds
Announcing multiple times on L1 from the same wallet will cause a loss of L1 funds.
Only the first announcement by a wallet confirmed on chain will be recognized as valid.

Check the OP_RETURN for the LRC20 prefix in the returned L1 txid to verify announcement on chain.
reference transaction: link

> announcetoken MyToken MTK 6 1000000 true

This creates a Bitcoin transaction with an embedded OP_RETURN (a special field in a Bitcoin transaction used to store extra data) that defines your token’s metadata. It’s immutable, lives on L1, and is what the Spark network uses to recognize your token.

In the announcement response, you’ll find the l1 transaction ID where your token was announced, as well as the TokenPubkey which will be used in transferToken requests.

5. Mint Your Supply (on Spark)

> minttokens 500000

This mints tokens on Spark — ready to send. All tokens must originate from the original issuer wallet, and minting is capped by the maxSupply defined during the announcement.

6. Send It

> transfertokens 03cc4ad4e0a9b734dda02f8c7e67e4698641370069e9b08ffe2403f5ff32ddb3f0 100000 sprt1pgss8nz26ns2nde5mkszlrr7vljxnpjpxuqxn6ds3llzgql4luedmvlsnlnvmz

That’s it. Your token is live and transferable. Instantly settled, no L1 confirmation required.