Knowledge base
qBitcoin FAQ Frequently asked questions
From your first conversion to running a node. Explore how qBitcoin works, one question at a time.
Six topics. Sixteen answers.
- Conversion supply
- ≈3.9M QBTC
- Post-conversion cap
- 4M QBTC
- Conversion fee
- 1%
- Target block interval
- 10 seconds
About the project
What is QBitcoin?
QBitcoin (QBTC) is the next version of Bitcoin: a separate blockchain whose coins enter circulation only through the conversion of existing bitcoins. QBitcoin has no initial issuance of its own: every QBTC is backed by bitcoin locked on the Bitcoin blockchain and can be converted back.
At the same time, QBitcoin addresses Bitcoin's main limitations:
- proof of stake replaces proof of work, eliminating the need for mining farms and megawatts of electricity;
- a block every 10 seconds instead of every 10 minutes;
- low fees made possible by high throughput;
- post-quantum cryptography (Falcon-512) alongside classical secp256k1;
- tokens at the base protocol level, without a heavy virtual machine.
Mainnet launched on September 13, 2026. The node's code is open source (Apache-2.0): https://github.com/qbitcoin-project/qbitcoin
Why convert your bitcoins to QBitcoin?
- Your coins can earn rewards. Bitcoins sitting in a wallet earn nothing. The same holdings in QBTC can participate in staking and receive a share of network fees, while remaining available for you to spend.
- The conversion price rises over time. QBTC is not a 1:1 “wrapped” bitcoin. As more bitcoins are converted, it takes more BTC to obtain 1 QBTC (see the question about the conversion rate). If the reserve contains more bitcoins when you convert back than it did when you converted in, you will receive more BTC than you originally put in.
- Protection against quantum computers. Coins held at a post-quantum QBTC address cannot be stolen even if a quantum computer capable of breaking elliptic-curve cryptography becomes available.
- Fast, inexpensive payments. Confirmation takes seconds rather than tens of minutes, and fees are fractions of a cent.
- A way back. QBTC can be converted back to BTC.
How does QBTC compare with other currencies?
| Feature | Bitcoin | QBitcoin | Ethereum |
|---|---|---|---|
| Consensus | Proof of work | Proof of stake | Proof of stake |
| Block interval | ~10 minutes | 10 seconds | 12 seconds |
| Issuance | Decentralized mining | Conversion from BTC only | Most of the supply created in the genesis block |
| Maximum supply | 21 million | ~3.9 million from conversion (10.5 million BTC cap) + up to 4 million in rewards after conversion ends | No fixed cap |
| Post-quantum cryptography | No | Yes (Falcon-512) | No |
| Accounting model | UTXO | UTXO | Account balances |
| Tokens | No native tokens; overlay protocols only | Native tokens in UTXOs | EVM smart contracts |
| Staking | - | Any UTXO, without locking or pools | 32 ETH for validators; pools available |
| Minimum fee | Market-driven, usually several dollars | From 10 satoshis per kilobyte | Depends on gas |
A distinctive feature of QBitcoin staking is that stake weight equals the amount of coins multiplied by their age since the last movement. A stake that is N times larger validates blocks N times more often, so splitting coins or joining a pool offers no advantage. This improves decentralization.
Block rewards do not create new coins while conversion is active. Validators receive the 1% fee on each BTC → QBTC conversion and transaction fees. These flow into a shared Reward Fund, which pays out 1/500 of its balance with each block, distributing rewards among validators proportionally.
Conversion
How do I convert bitcoins to QBitcoin?
Conversion, which we call an “upgrade,” is done through the web converter at https://qbitcoin.net or through a wallet that supports conversion. This is neither an exchange trade nor a trusted service: it is a decentralized operation that every QBitcoin node verifies cryptographically.
How it works:
- A Bitcoin transaction pays to the conversion address
3QBTC3wxgSPUbKLqjZjh6aGwM3yKHWhaLU. The output immediately after it contains anOP_RETURNwith the script hash of your QBTC address: 20 bytes for abq…address or 32 bytes for a post-quantum3u…address. - If there is no
OP_RETURNoutput, the QBTC are credited to the address derived from the same key that spent the transaction's first input. This works only with legacy P2PKH inputs (addresses beginning with1…). Do not convert from a SegWit or Taproot wallet (abc1…address) withoutOP_RETURN: the coins will be lost. - QBitcoin nodes monitor the Bitcoin blockchain. Once the transaction has six confirmations and another two hours have passed after the sixth, any node can include a coinbase transaction with a cryptographic SPV proof (a Merkle path in the Bitcoin block) in one of its own blocks. There is no oracle or trusted intermediary: every node verifies the proof mathematically.
- Your QBTC address receives the amount calculated at the current conversion rate, less a 1% fee that goes to the validators' Reward Fund.
From sending the bitcoins to receiving QBTC takes about three hours in total.
What is the conversion rate?
The rate depends on how many bitcoins are currently held in the reserve:
- the first 4,200 BTC are converted at 1:1;
- the QBTC price rises by 0.1% for each subsequent 4,200 BTC;
- after approximately 2.9 million BTC, the QBTC price doubles (2 BTC → 1 QBTC);
- at the upper limit of 10.5 million BTC, the price reaches approximately 12.2 BTC per QBTC, and forward conversion stops.
One curve applies in both directions. Converting QBTC back reduces the reserve and moves the rate backward along the curve. QBTC are redeemed at the current point on that curve, so the more bitcoins the reserve holds when you redeem, the more BTC you receive for each QBTC. The reserve always covers the full issued supply: if every holder converted their QBTC back in sequence, they would receive exactly all the locked bitcoins.
How safe is it? What guarantees the backing?
Forward conversion is fully decentralized. QBTC creation is a consensus rule: a node accepts the coinbase transaction only if it carries a valid SPV proof that the corresponding transaction is in the Bitcoin blockchain at a sufficient depth. Such a proof cannot be forged. Nobody, including the developers, can create QBTC out of thin air.
Reverse conversion is protected by QBitcoin consensus. The downgrade protocol is designed so that a dishonest or unavailable conversion service cannot take your coins: you either receive bitcoins or recover your QBTC.
Protection against quantum computers. The federation keys used to sign payout commitments within QBitcoin are post-quantum Falcon-512 keys. If quantum computers start breaking Bitcoin itself, a “stop signal” takes effect: spending coins from the earliest Satoshi Nakamoto addresses (a list embedded in consensus) automatically stops new conversions in both directions.
Can I always convert back? How does it work?
Reverse conversion, or a “downgrade,” is available for as long as the Bitcoin bridge remains open. The fee is 1%, which also covers the Bitcoin network fee. In a wallet, it looks like a normal transfer: you specify your Bitcoin address as the recipient (all formats are supported: 1…, 3…, bc1…). The bitcoins arrive at that address later.
How the process works internally, and why your funds are protected:
- Your transaction sends QBTC to a special locking script that records your Bitcoin address and a recovery identifier.
- Within 48 hours, the federation must confirm the request with a commitment transaction on the QBitcoin blockchain. It fixes the exact Bitcoin payout: transaction ID, amount and address. If no commitment appears within 48 hours, you can simply reclaim your QBTC.
- The federation sends the bitcoins to your address. After six Bitcoin confirmations, any node burns the corresponding QBTC and attaches an SPV proof of payment. If the payment is not confirmed within seven days, you can reclaim your QBTC.
There are exactly two outcomes: either you receive bitcoins and the QBTC are burned, or the QBTC are returned to you. The protocol does not allow a “coins disappeared” state.
When does the bridge close? The conversion phase is limited by time (approximately mid-2036, measured by Bitcoin blockchain height), volume (10.5 million BTC) and the stop signal (a spend from Satoshi's coins). After that, no new conversion requests in either direction are accepted, and QBitcoin continues as an independent currency with a small amount of new issuance paid to validators.
Wallets
Which wallet applications are available for QBitcoin?
- QBitcoin Wallet - desktop application for macOS and Linux; a Windows version is in development. A self-custodial wallet: your BIP-39 recovery phrase and private keys are stored encrypted on your computer. You can create a wallet, restore it from a recovery phrase and import private keys. It displays balances and transaction history, sends and receives QBTC and tokens, and supports classical secp256k1 addresses and post-quantum Falcon-512 addresses. Download QBitcoin Wallet.
- Your own node's web interface. The node's Docker image includes a web admin interface with an explorer and wallet (port 9558): address generation and import, transaction sending, staking controls, delegation and wallet password management.
- Command line:
qbitcoin-clion your own node, for advanced users and automation. - Libraries:
@qbtc/crypto,@qbtc/chainand@qbtc/vault(TypeScript, npm) for building wallets and services.
What types of addresses and keys are there?
In QBitcoin, all payments go to a script hash (similar to P2SH); there are no other output types. The address format depends only on the key type:
- Classical addresses start with
bq(34 characters). They use ECDSA or Schnorr keys on secp256k1, as Bitcoin does. They cost less to use and are the wallet default. A Bitcoin address's private key can be imported directly as a WIF (beginning with5,KorL). - Post-quantum addresses start with
3u(52 characters). They use Falcon-512 keys. Their larger signatures make transactions more expensive, but protect against quantum computers. You can create a Falcon address in the desktop wallet. On a node, usegetnewaddress falcon. The WIF private key begins with2Jor2Kand is much longer.
One transaction may spend both classical and post-quantum inputs.
Staking
How do I stake my coins and earn rewards?
In QBitcoin, staking means having your node use your coins to sign blocks. There is no need to lock them: they remain ordinary UTXOs that you can spend at any time.
- Start your own node (see below) and wait for it to synchronize.
- Set a wallet password (
setwalletpasswordor the web interface) so that keys in the database are encrypted. - Import the private key for the address holding your coins:
qbitcoin-cli importprivkey <key>or use the web interface. - Enable staking for the address:
qbitcoin-cli stakeaddress <address>or the “staked” switch in the web interface. The config must containgenerate = 1(the default). After a restart, unlock the encrypted wallet (walletunlockor the staking switch in the web interface).
The node then signs blocks automatically when your coins' turn comes. The reward arrives at your address with the block. Coins that have just signed a block can be spent after 12 hours; they continue staking without interruption.
Important: stake a given address on exactly one node. If the same key stakes on two nodes at once (for example, because you forgot to turn off the old one), they may sign different blocks in the same slot. This is equivocation, for which the protocol applies a 10% penalty (see slashing).
How are staking turns and rewards calculated?
Stake weight = amount × age (time since the coins last moved). The block with the greatest weight wins; after signing, the coins' age resets. As a result, your frequency of signing blocks is proportional to your share of all staked coins: with 1% of the coins, you sign approximately 1% of blocks, no more and no less, whether your holdings are in one UTXO or a hundred small ones.
The block reward is 1/500 of the Reward Fund, which receives the 1% fee on every BTC → QBTC conversion, transaction fees and equivocation penalties. When the conversion phase ends, a small fixed issuance begins: 0.2 QBTC per 10-second slot, halving every 10 million slots (about three years), for a total of no more than 4 million QBTC.
Blocks are produced only when there are transactions (plus a mandatory block every 100 slots), so staking income directly depends on network activity and conversion volume.
What is slashing, and how can I avoid it?
Slashing is a penalty for signing two different blocks with the same coins in one timeslot. In a naive proof-of-stake system, doing so is profitable (the “nothing at stake” problem) and makes it harder for the network to converge. In QBitcoin, the two conflicting signatures are sufficient proof: anyone can create a penalty transaction without anyone's signature. It returns the coins to their owner minus 10% (the penalty goes to the Reward Fund), and the branch containing the violation becomes invalid.
An honest node will not run into this: it tracks which blocks it has signed and avoids signing two blocks in one slot. The only realistic way to incur the penalty is to stake the same key on two nodes at the same time. Do not do that.
Can I stake without running my own node or giving a third party the keys to my funds?
Yes, through delegated staking. A delegation address is tied to two keys: your owner key (the only one that can spend the coins) and the delegate node's staking key (which can only sign blocks with those coins and return them to the same address). The delegate creates a staking key (getnewstakingkey) and gives you its hash. You create an address with getnewaddress <type> <delegate_key_hash> and transfer coins to it; the delegate registers the address on their node (adddelegationaddress). The delegate's share of rewards is set in their config. You do not need to entrust the delegate with the keys to your funds.
Node
How do I run my own node, and why would I want to?
Reasons to run one:
- Staking: rewards go only to coins that sign blocks on a running node.
- Independence: your node verifies the whole blockchain without relying on someone else's servers; your wallet and explorer run locally.
- Integration: businesses and services can use their own API and payment notifications.
- Supporting the network: each full node strengthens decentralization.
How to run one (Docker is the simplest option):
docker pull qbitcoin/qbitcoin
docker run -d --restart=unless-stopped \
--mount type=bind,source=/etc/qbitcoin.conf,target=/etc/qbitcoin.conf,readonly \
--volume /home/qbitcoin/database:/database --read-only \
-p 9555:9555 -p 127.0.0.1:9558:9558 --name qbitcoin qbitcoin/qbitcoin
After startup, the web interface with a wallet and explorer is available at http://127.0.0.1:9558. To list commands, run docker exec qbitcoin qbitcoin-cli help. You can build the image from source (make docker). To install without Docker, run make installdeps && make test && make install. The node is written in Perl and stores data in SQLite (the default) or MySQL/MariaDB.
Ports: 9555 is P2P between nodes (open it in the firewall); 9556 is RPC for qbitcoin-cli (localhost only); 9557 is the REST API (off by default); 9558 is the web interface (localhost only).
The node does not maintain virtual-machine state or perform heavy computation, so it can run on an inexpensive VPS.
Do you need a Bitcoin node? Not to verify the blockchain: QBitcoin nodes exchange Bitcoin headers, and conversion transactions carry SPV proofs that every node verifies. A connection to a Bitcoin node (the btcnode setting; it uses ordinary Bitcoin P2P, and any bitcoind will do) is needed if you want your QBitcoin node to discover new conversions in full Bitcoin blocks and include them in its own blocks. Such blocks receive extra weight.
Integration
How do I integrate QBitcoin into my software? What API does the node offer?
The node has three interfaces:
- JSON-RPC (port 9556, localhost only) follows Bitcoin Core's format and command names:
getblockchaininfo,getblock,getrawtransaction,createrawtransaction,signrawtransactionwithkey,sendrawtransaction,estimatesmartfee,getpeerinfoand others. Differences:listunspent,listtransactionsandgetaddressbalanceaccept an address (the node indexes all addresses, not only its own);getnewaddressdoes not save the key, so useimportprivkeyfor that; there is nosendtoaddresscommand, and sending usescreaterawtransaction→signrawtransactionwithkey→sendrawtransaction. Staking, delegation and token commands have also been added. For the full list, runqbitcoin-cli help. There is no HTTP authentication; the port must be closed to the outside world. Key operations are protected by the wallet password. - Esplora-format REST API (port 9557, enabled with the
restconfig setting) is largely compatible with Blockstream Esplora:/api/tx/:txid,/api/address/:addr,/api/address/:addr/utxo,/api/blocks,/api/fee-estimates,POST /api/txand more. Esplora client libraries work with few changes. Token endpoints and/api/status, which reports node status and the conversion address, have been added. Wallets use this API. - Payment notifications. The node writes “coins received at this address” events (in the mempool and in blocks) to a file/FIFO or sends them over UDP. The
qbitcoin-notifydaemon turns them into HTTP webhooks sent to your URL. Add addresses to watch withimportaddress(watch-only, no private key); address tags let you route notifications to different channels.
Wallet and frontend developers can use the TypeScript libraries @qbtc/crypto (keys, addresses, ECDSA/Schnorr/Falcon signatures, transaction construction and signing, including Bitcoin conversion transactions), @qbtc/chain (a typed REST API client with node failover) and @qbtc/vault (encrypted seed storage).
Are tokens supported?
Yes, at the base protocol level, without a virtual machine or Ethereum-style smart contracts.
How it works. Tokens use the same UTXO model as QBTC. A token transfer is a special “tokens” transaction that has a token ID in addition to the usual fields: the hash of the transaction that created the token. Its outputs carry token amounts and are protected exactly like ordinary coins, by a script hash. An address's token balance is therefore the sum of its unspent token outputs. Everything QBitcoin scripts can do - multisignature, timelocks and delegation - works for tokens too.
Creating a token. A “tokens” transaction with an empty token ID creates a token. It sets the name, symbol, number of decimal places (0 to 18; default 6) and initial supply. These parameters cannot be changed later. Permission to mint more is represented by a separate output with “mint” permission. As long as this output exists and is spent to create a new output with the same permission, its owner can mint more tokens. If it is not created initially, or is spent without passing the permission on, further issuance becomes permanently impossible, which anyone can verify on-chain.
How this differs from tokens on Ethereum, Tron and similar systems.
- The node stores no contract state. Verifying a token transaction is as straightforward as verifying a normal coin transaction: the input sum must be at least the output sum, and signatures must be valid. This keeps the node lightweight.
- Fees are paid in QBTC as for an ordinary transaction, with no gas limit, gas price or nonce. A fee-paying address can be added as another input, so there is no need to move QBTC to the address holding the tokens first, as is necessary with ETH or TRX.
- A contract owner cannot freeze or seize someone else's tokens. The owner controls only issuance; holders' keys protect the tokens themselves.
- A transaction can have many inputs and outputs, allowing one transfer to distribute tokens to hundreds of recipients.
- Limitation: one transaction can transfer only one type of token, so users exchange different tokens through an atomic swap involving multiple transactions.
When native tokens are not enough. Every transaction output has an arbitrary-data field that the node carries and stores without interpreting it. This can support arbitrarily complex external protocols (custom smart contracts, RGB-like systems and so on). A separate application validates such protocols and tracks their balances; only their users need to run that application.
How to use tokens. In the desktop wallet, you can send and receive tokens. You can also send tokens in the node's web wallet, in the same way as QBTC. On the command line, use createrawtransaction with token_id and token_amount, and for creation also token_name, token_symbol, token_decimals and token_permissions. For balances and token details, use gettokensbalance and gettokensinfo; the REST API exposes a tokens field at /api/address/:addr, transfer history at /api/address/:addr/transfers/:token_id, and token details at /api/tokens-info/:token_id.