BTKN Tokens Explained: The Future of Assets on Bitcoin

Learn about BTKN tokens, Spark’s fast and low-cost Bitcoin-based token standard. Discover how they compare to BRC-20, Runes, Taproot Assets, and more.

Story details

Topics

Bitcoin
,
Bitcoin Layers
,

Author(s)

Daniel Bowden

Published

August 28, 2025

There have been many attempts to scale the Bitcoin network without sacrificing any of its key components. The emergence of Spark and BTKN tokens is arguably one of the most exciting developments in this regard. 

This guide will explain what BTKN tokens are and how they work. You’ll learn how they compare to other Bitcoin token standards, like BRC-20, Runes, and Taproot Assets, and why they could be the future of assets on the Bitcoin network.

TL;DR

  • BTKN tokens are Spark’s adaptation of the LRC-20 protocol to provide tokens on Bitcoin.
  • They combine Bitcoin L1 as the settlement layer and Spark L2 as the execution engine.
  • On Spark, BTKN tokens settle instantly with no gas fees on L2, allowing unilateral withdrawal to Bitcoin L1.

What Are BTKN Tokens?

BTKN is a digital asset built on a Bitcoin token standard that combines the best ideas from across the L1 ecosystem with new capabilities made possible by Spark

The outcome is a Bitcoin-native token standard, built for speed and ready to support any type of asset on the network. That means that BTKN tokens facilitate fast and low-cost blockchain operations natively on the Bitcoin network. This is done without the common usability constraints typically seen with tokens on Bitcoin.

How Do BTKN Tokens Work?

BTKN tokens are made up of two key elements: Bitcoin (L1), which serves as the settlement layer, and Spark, the execution engine.

The L1 ensures Bitcoin addresses are capable of embedding token data inside regular transactions, and that its nodes can process them normally. At the same time, BTKN-aware nodes can extract and confirm token movements by watching how those keys are adjusted.

Meanwhile, on Spark, there’s no need to tweak keys. They exist natively as metadata within the platform’s Token Transaction Outputs (TTXOs); Spark’s equivalent of Bitcoin’s UTXOs. These are individual records of token balances that include metadata for ownership and token rules. 

When minting new tokens, the issuer submits a transaction embedding the token’s details, including amount, ID, and properties, directly into a designated TTXO.

After this, Spark Operators (SOs) validate the transactions to make sure they follow protocol rules and attest to state changes. When they’re done, the data is shared with BTKN nodes, which continue to track transactions and keep Spark in sync with the L1. 

BTKN tokens on Spark inherit the same security guarantees as Bitcoin Layer 1. At any time, you can exit by broadcasting your TTXO to the Bitcoin mainnet and directly reclaiming your funds without requiring a third party.

BTKN vs. Other Bitcoin Tokens: How Do They Compare?

Here’s a quick look at how BTKN stacks up against other Bitcoin tokens.

Spark vs Lightning Comparison Table

What Is the Role of BTKN Tokens in Spark?

Spark is a lightweight, developer-friendly platform built on Bitcoin. Through its BTKN tokens, developers can mint tokens in seconds, transfer them instantly, and spare users the hassle of gas fees and long confirmation times.

Creating, sending, and receiving BTKN

The process of creating, sending, and receiving BTKN tokens on Spark is intentionally straightforward. You create once, mint as needed, and transfer instantly. The process works as follows:

Creating BTKN tokens

Step 1: Install SDK 

yarn add @buildonspark/issuer-sdk

Step 2: Initialize issuer wallet

const { wallet, mnemonic } = await IssuerSparkWallet.initialize({
  options: {
    network: "REGTEST", // or MAINNET/TESTNET
  },
});

Step 3: Create token (Spark native)

const tokenCreationTx = await wallet.createToken({
  tokenName: "MyToken",
  tokenTicker: "MTK", 
  decimals: 8,
  maxSupply: 1_000_000_000n, // or 0n for unlimited
  isFreezable: true
});

Step 4: Mint tokens

await wallet.mintTokens(500_000n);

Sending BTKN tokens

Step 1: Get token identifier

const tokenIdentifier = await wallet.getIssuerTokenIdentifier();
// Returns something like: btkn1qwertyuiopasdfghjklzxcvbnm1234567890abcdef

Step 2: Transfer tokens

const transactionId = await wallet.transferTokens({
  tokenIdentifier: tokenIdentifier,
  tokenAmount: 100_000n,
  receiverSparkAddress: "sprt1pgssyuuuhnrrdjswal5c3s3rafw9w3y5dd4cjy3duxlf7hjzkp0rqx6dj6mrhu"
});

Receiving BTKN tokens 

Step 1: Get your Spark address 

const sparkAddress = await wallet.getSparkAddress();
console.log("Share this address:", sparkAddress);

Step 2: Check balance (automatic receipt)

const balance = await wallet.getBalance();
console.log("Token balances:", balance.tokenBalances);

Step 3: Listen for incoming transfers

wallet.on("transfer:claimed", (transferId: string, balance: number) => {
  console.log(`Transfer ${transferId} claimed. New balance: ${balance}`);
});

Token minting

Token minting on Spark follows a structured lifecycle. 

The issuer begins by generating a Spark Token Transaction with the token’s metadata. The transaction is then signed with the Issuer’s Private Key and broadcast to the Spark Operator group (Spark Entity), after which the tokens are ready. 

Minting creates TTXOs that contain the token amount and identifier, the owned public key, metadata embedded in Spark leaves, and pre-signed transaction inputs that allow the tokens to be moved back to Bitcoin’s base layer. 

Spark Operator Validation

Spark Operator Validation is a multi-step process. SO’s receive the Partial Token Transaction, validate signatures and transaction structure, generate shared revocation secrets using Distributed Key Generation (DKG), then fill empty fields to create the Final Token Transaction. Finally, security parameters, including withdrawal bonds, timelocks, and revocation commitments, are added.

Next, each SO validates the final transaction. A required threshold of signatures must be collected from multiple SOs before it is approved. At this point, distributed revocation keyshares are provided to the wallet, and the transaction is propagated to the LRC-20 Gossip Network.

In the final step of Spark Operator Validation, revocation keys are derived from keyshares, the input outputs are officially revoked to prevent double-spending, and watchtowers (a key Lightning Network security layer) continuously monitor for attempts to spend these revoked outputs and enforce penalties if double-spending is detected. 

Synchronization with Bitcoin L1

Synchronization with Bitcoin L1 relies on the dual-layer architecture of both Bitcoin L1 and Spark L2. The former includes address tweaking to embed token data in regular Bitcoin transactions, pre-signed exit transactions to guarantee unilateral withdrawal capability, and BTKN nodes tracking and validating L1 token movements.

Meanwhile, the latter involves native token metadata in TTXOs with no address tweaking, instant settlement without L1 confirmation requirements, continuous synchronization with L1 through the BTKN node network, and state validation to make sure Spark matches the L1 token state.

Interoperability Benefits

Spark offers strong interoperability across Bitcoin’s ecosystem thanks to native Bitcoin integration that doesn’t require bridges or wrapping. 

Other benefits include support for unilateral exit capability, allowing withdrawal to Bitcoin L1 anytime without permission, pre-signed transactions to guarantee fund recovery, and Bitcoin-level security.

Additionally, Lightning network compatibility supports easy sending and receiving of payments with any Lightning wallet. Spark works with all the major Lightning services, with a low fee structure of 0.25% + routing fee (Spark to Lightning) and 0.15% (Lightning to Spark).

The dual-layer architecture means that Layer 1 uses address tweaking to embed token data in regular Bitcoin transactions and Layer 2 incorporates native token metadata in TTXOs with instant settlement. Synchronization between both layers is continuous.

Securely Store & Manage Your BTKN Tokens With Xverse

Xverse is a secure and intuitive option for storing and managing BTKN tokens. The market-leading Bitcoin Web3 wallet supports BTKN on Spark, making BTKN token management as easy as handling BTC. 

Download Xverse wallet to securely manage your BTKN tokens.

FAQs

What is the difference between BTKN and LRC-20?

BTKN is Spark’s adaptation of the LRC-20 protocol optimized for the Spark Network. LRC-20 is a pure Bitcoin L1 protocol, whereas BTKN works on both Bitcoin L1 and Spark L2. 

LRC-20 uses address tweaking to embed token data in regular Bitcoin transactions, whereas BTKN supports both address tweaking and tokens existing natively as metadata in TTXOs (Token Transaction Outputs). Additionally, LRC-20 is constrained by Bitcoin’s block times and fees, whereas BTKN enables instant transfers and minimum fees.

Are BTKN tokens safe?

Yes. BTKN creators have designed the tokens with multiple safety mechanisms. For instance, the unilateral exit capability allows users to withdraw to Bitcoin L1 without permission or cooperation from anyone. They inherit Bitcoin’s security guarantees, are non-custodial in nature, and are directly native to Bitcoin. 

Additionally, BTKN tokens feature a 1/n trust assumption requiring only one honest Spark Operator to keep the network safe, and BTKN node validation guarantees transaction integrity across the network. Malicious behavior is discouraged by withdrawal bond, and cryptographic validation is in place at each step.

Where can I trade BTKN tokens?

For now, trading BTKN tokens is limited as the protocol is still in development. This means that direct transfers are currently possible between Spark addresses. Users can issue their own tokens quickly and monitor token activity through the SDK. As the ecosystem grows, exchanges might integrate BTKN support. In the meantime, the Spark team is developing a native browser to enable more intuitive token management.

Do I need BTC to mint BTKN tokens?

No, you don’t need BTC to mint BTKN tokens on Spark. You can create tokens directly on Spark, and no gas fees are required when moving BTKN assets on Spark. The token minting process is instant, and BTKN tokens are ready for use immediately after creation. The entire token lifecycle (creation, minting, and transfers) happens natively on Spark without needing BTC. However, BTC is required if you wish to announce your token on the Bitcoin L1, when moving tokens back to Bitcoin L1, and for unilateral emergency withdrawals to Bitcoin.

Share this article