Ksana
中文

Public signet

Confirmed in an instant.
Final on Bitcoin.

Ksana is a smart-contract chain that confirms in about five seconds and writes every block into Bitcoin. Which blocks are final is decided by Bitcoin’s chain alone: no bridge, no committee, no sequencer in between.

  • confirmed in about 5 s
  • final after 6 Bitcoin confirmations
  • CPU mining
  • Rust contracts

01The life of an operation

One operation, three marks.

Every operation passes three marks, each a stronger promise than the last. The wallet shows which one it has reached, and an application decides by the amount at stake which one to wait for.

  1. about 5 seconds

    Fast-confirmed

    A producer includes your operation in a fast-lane block, and every node replays it. The new state is live: balances move, contracts see it.

  2. the next Bitcoin block

    On Bitcoin

    The block’s header and entries ride into Bitcoin in a settlement transaction. From then on anyone can read them from Bitcoin, and no one can withhold them.

  3. six confirmations, from about an hour

    Final on Bitcoin

    Every node and indexer decides finality from Bitcoin’s chain with the same rule. Undoing a final block means reorganizing Bitcoin itself.

How long to wait, and why

02How it works

A fast lane above. Bitcoin below.

Ksana runs its own proof-of-work chain for speed and leans on Bitcoin for everything that must last: the record of every block, and the decision about which blocks are final.

Fast laneconfirms in about 5 s

Bitcoina block about every 10 min

  • Fast-confirmed≈ 5 s
  • On Bitcoinnext Bitcoin block
  • Final6 confirmations
  • settlement

Not to scale: one Bitcoin block spans about 120 fast-lane blocks.

  1. Producers mine fast-lane blocks

    Anyone can mine, with Argon2id on an ordinary CPU. Blocks found at the same time are merged into a block DAG (GHOSTDAG) instead of thrown away, and each one names the Bitcoin block it saw: its anchor.

  2. Settlements write them into Bitcoin

    A commit and reveal pair of Bitcoin transactions carries compact block headers and the operations themselves in a Taproot witness. A batch of transfers costs a few hundred bytes of witness.

  3. Bitcoin decides what is final

    When a block’s data has six Bitcoin confirmations, every node reaches the same verdict from Bitcoin alone. A heavier chain that never wrote itself into Bitcoin in time cannot take over.

Read how Ksana works

03Why Ksana

Nothing to trust but Bitcoin and work.

  • Rebuild everything from Bitcoin

    The indexer talks only to bitcoind. It re-executes every block from the data on Bitcoin and checks each state root. If every Ksana node went dark, the chain would still be there.

  • No bridge, no custody

    Ksana never holds your bitcoin. KSA is the chain’s own asset; BTC stays on Bitcoin, where contracts can still see it move.

  • Your Bitcoin wallet is your account

    An account is a Taproot key, so your Ksana account and your bitcoin share one address. Unisat and Xverse sign Ksana operations with BIP322.

  • A door no producer can close

    Put your operation in a Bitcoin transaction of your own. Once it confirms, every producer must include it, or their blocks are invalid.

  • Mined on CPUs, no premine

    Argon2id with 2 MiB per hash. Mainnet starts with zero KSA and every coin is a block reward; for the first four years a fifth of each reward goes to the project’s block share account.

  • Contracts that can read Bitcoin

    Rust compiled to WebAssembly, with exact gas. Contracts read Bitcoin headers six blocks deep, verify Bitcoin payments with Merkle proofs, and see the transaction that carried their call.

04Two ways in

Fast when you want it.
Unstoppable when you need it.

Path B

Sponsored

Sign one message and pay a small fee in KSA. A producer includes it within seconds and pays the Bitcoin fee to settle it.

  • Fast-confirmed in about 5 s
  • Fee in KSA
  • No bitcoin needed

Path C

Native

Put the operation in your own Bitcoin transaction. After its confirmations every producer must include it: nobody can keep you out.

  • Included after Bitcoin confirms
  • Fee in BTC, nothing to producers
  • Censorship-resistant

Only hold bitcoin? Top up: buy KSA from an exchange contract with a single Bitcoin payment, then use path B.

05KSA

Issued by work, capped at 210 million.

KSA pays for sponsored operations and contract gas. New KSA appears only as block rewards, paid once a block’s data has landed on Bitcoin, and the reward halves on a schedule that stretches over decades.

210,000,000
KSA, the most there will ever be
4.2
KSA per reward slot, one slot per 5 s
2 · 4 · 8
years between halvings: the first after 2, the next after 4, then every 8
20%
block share for the first four years, 7.5% of all KSA

Mainnet has not launched. Signet KSA is test money with no value.

Rewards, fees and the carrier reward

KSA issued, millions

050100150200010203040

Years after launch

  • KSA issued
  • Halving
  • Cap, 210 million
  • Block share, first four years
KSA issued over time on mainnet. Every coin is a block reward; nothing is allocated at genesis.

06Build

Build with the tools you know.

A TypeScript SDK for browsers and Node, contracts in Rust compiled to WebAssembly, a command-line client for everything else, and a JSON-RPC under all three.

import {
  KsanaRpcClient,
  SIGNET,
  UnisatAdapter,
  VMOP_VERSION,
  btcNetworkOf,
  fromHex,
  ksaAssetId,
  parseAccount,
  signVmopWithWallet,
} from '@ksana/sdk';

const rpc = new KsanaRpcClient('https://signet.ksana.network/rpc');
const params = await rpc.getParams(SIGNET); // refuses a node on another network
const wallet = new UnisatAdapter(); // the wallet's Taproot address is your Ksana account
const account = fromHex((await wallet.getAccount()).account, 32);

const { nonce } = await rpc.getAccount(account);
const { path_b } = await rpc.estimateFee();
const op = await signVmopWithWallet(
  {
    version: VMOP_VERSION,
    chain_id: params.chain_id,
    account,
    nonce,
    fee: { kind: 'Token', amount: 2n * path_b.amount }, // path B: the fee is paid in KSA
    max_gas: 10_000n, // a transfer uses exactly 10,000 gas
    action: {
      kind: 'AssetTransfer',
      asset: ksaAssetId(),
      to: parseAccount('tb1p…', btcNetworkOf(params)),
      amount: 100_000_000n, // 1 KSA: 8 decimals
    },
  },
  wallet, // one BIP322 signature in the wallet, no bitcoin spent
);
const { op_id } = await rpc.submitOp(op); // fast-confirmed in about 5 s

07Run it

Run the whole thing yourself.

A node

Follow the chain, check every block against Bitcoin, mine on a CPU, and settle the blocks you mine.

Run a node

An indexer

Rebuild the whole chain from bitcoind alone, with no Ksana node in the loop, and verify every state root.

Run an indexer

A wallet

Paths B and C and top-ups from Unisat or Xverse, on the hosted signet page or against your own node.

Use the wallet

08Where it stands

Fast blocks.
A careful launch.

  1. Done

    Specification frozen

    The consensus rules were frozen on 5 October 2026. Any change from here on goes through the upgrade schedule.

  2. Done

    Audited and attacked

    Internal security audits, adversarial tests of reorgs and withheld blocks, fuzzing, and a five-hour soak test of nodes against the indexer.

  3. Now

    Public signet

    Running on Bitcoin’s public signet with a seed node, an indexer, the web wallet and a faucet. Test coins only.

  4. Next

    Mainnet

    Not launched. The signet runs for at least four weeks first, to watch settlements and the carrier reward on a real fee market.

An instant,
written into Bitcoin.