The Token Standards Of Qtum: Understanding QRC20 and QRC721

·

Blockchain interoperability and standardization are critical for scalable, developer-friendly ecosystems. Qtum, a hybrid blockchain platform that combines Bitcoin’s UTXO model with Ethereum’s EVM, supports token standards that mirror Ethereum’s widely adopted frameworks. This article explores QRC20 and QRC721—Qtum’s implementations of fungible and non-fungible token standards—and how they enable seamless token creation and management within the Qtum ecosystem.

Why Token Standards Matter in Blockchain

Before diving into Qtum’s token standards, it's essential to understand why standardization is crucial in blockchain development.

Imagine a country where each store accepts a different currency. Transactions would be chaotic, inefficient, and economically unsustainable. Similarly, early blockchain platforms suffered from fragmentation—each decentralized application (dApp) used a unique token structure, making cross-application compatibility nearly impossible.

Ethereum solved this with standardized token interfaces like ERC20 and ERC721, ensuring that wallets, exchanges, and dApps could interact uniformly with tokens. Qtum followed this proven model, introducing QRC20 and QRC721 to bring consistency, interoperability, and ease of development to its network.

👉 Discover how blockchain token standards are shaping the future of digital assets.

QRC20: Qtum’s Fungible Token Standard

The QRC20 standard is functionally equivalent to Ethereum’s ERC20, designed for creating fungible tokens—tokens that are interchangeable and divisible, much like traditional currencies.

Fungibility ensures that each token unit holds identical value and can be split or exchanged freely. This property makes QRC20 ideal for utility tokens, stablecoins, governance tokens, and more.

Core Functions of QRC20

The QRC20 standard defines a set of mandatory and optional functions that govern token behavior:

Optional metadata includes:

These functions ensure predictable interactions across wallets, decentralized exchanges (DEXs), and smart contracts.

Interacting with QRC20 Contracts

Developers and users can interact with QRC20 tokens using Qtum’s command-line interface (qtum-cli). Below are key operations:

Get Token Balance

qtum-cli callcontract \
{TOKEN_CONTRACT_ADDRESS} \
70a08231{to32bytesArg(addressToHash160($userAddress))}

This returns a JSON response. Extract the balance from executionResult.output.

Withdraw Tokens

qtum-cli sendtocontract \
{TOKEN_CONTRACT_ADDRESS} \
a9059cbb{to32bytesArg(addressToHash160($userAddress))}{to32bytesArg(addDecimals($amount))} \
0 \
{DEFAULT_GAS_LIMIT} \
{DEFAULT_GAS_PRICE} \
{MAIN_QRC_ADDRESS}

Returns the transaction ID (txid) for tracking.

Generate a Deposit Address

Users can generate a new deposit address using:

qtum-cli getnewaddress

This address works for both native Qtum (QTUM) and QRC20 tokens.

Monitor Deposit and Withdrawal Logs

Use event logs to track transfers:

qtum-cli searchlogs \
STARTING_BLOCK \
999999999 \
'{ "addresses": ["TOKEN_CONTRACT_ADDRESS"]}' \
'{"topics": ["ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"]}'

This filters logs by the Transfer event, allowing monitoring of incoming and outgoing transactions.

Check Transaction Confirmations

Given a txid, verify confirmation status:

qtum-cli gettransaction $txid

The confirmations field indicates network security.

QRC721: Qtum’s Non-Fungible Token Standard

While QRC20 handles interchangeable assets, QRC721 supports non-fungible tokens (NFTs)—unique digital assets like collectibles, digital art, or in-game items.

Each QRC721 token has a distinct identity and ownership record, making it indivisible and non-interchangeable. Qtum’s QRC721 closely follows Ethereum’s ERC721 specification to simplify cross-chain development.

Key Ownership Functions in QRC721

The standard defines critical functions for managing unique assets:

These functions enable secure, auditable NFT management.

Deploying a QRC721 Contract on Qtum

To deploy a QRC721 token, follow these steps:

  1. Install Prerequisites

    • Solidity compiler (solc)
    • Solar (Qtum’s contract deployment tool)
    • Clone the QRC721 repository:

      git clone https://github.com/Qtumproject/QRC721Token.git
      cd QRC721Token
      npm install
  2. Run a Qtum Full Node (Testnet)

    /Applications/Qtum-Qt.app/Contents/MacOS/Qtum-Qt -testnet -server -rpcuser=lickey -rpcpassword=Qtum -rpcport=13889

    Ensure your node has sufficient Qtum for gas fees.

  3. Deploy Using Solar

    solar deploy contracts/QRC721.sol '["MyNFT", "MNFT"]' --qtum_rpc=http://lickey:[email protected]:13889

    Replace "MyNFT" and "MNFT" with your token’s name and symbol.

  4. Verify Deployment
    A solar.development.json file is generated with contract details:

    {
      "contracts": {
        "contracts/QRC721.sol": {
          "address": "780e2578b08dddc56ca518277a18a2fb6f14da61",
          "txid": "45f71bf4d95680e15a4d857e17be2a13aa8f85403a1e624db4151d8cfb98bf5b",
          "confirmed": true
        }
      }
    }

This confirms successful deployment and provides essential metadata for integration.

👉 Learn how NFTs are transforming digital ownership across blockchains.

Frequently Asked Questions (FAQ)

Q: What is the difference between QRC20 and QRC721?
A: QRC20 is used for fungible tokens (interchangeable units), while QRC721 is for non-fungible tokens (unique, indivisible assets). Think of QRC20 as digital money and QRC721 as digital collectibles.

Q: Can I use the same wallet address for both QTUM and QRC20 tokens?
A: Yes. Qtum supports native QTUM and QRC20 tokens on the same address, simplifying asset management.

Q: Is QRC721 compatible with Ethereum NFT tools?
A: Due to structural similarities with ERC721, many Ethereum-based NFT tools can be adapted for QRC721 with minor adjustments.

Q: Do I need Qtum tokens to deploy a QRC20 or QRC721 contract?
A: Yes. Gas fees for deployment and transactions are paid in native QTUM.

Q: Where can I find documentation for Qtum smart contracts?
A: Official guides are available in the Qtum documentation portal, covering deployment, testing, and interaction workflows.

Q: Can QRC20 tokens be converted to ERC20?
A: Not directly. However, cross-chain bridges can facilitate token migration between Qtum and Ethereum networks.

Conclusion

Qtum’s integration of QRC20 and QRC721 token standards bridges the gap between Bitcoin’s security model and Ethereum’s smart contract flexibility. By adopting familiar interfaces, Qtum lowers the barrier to entry for developers while ensuring ecosystem-wide interoperability.

These standards empower creators to launch everything from utility tokens to digital collectibles—securely and efficiently. As blockchain adoption grows, standardized frameworks like QRC20 and QRC721 will remain foundational to scalable, user-friendly decentralized applications.

In the next part of this series, we’ll explore QRC1155, Qtum’s multi-token standard that supports both fungible and non-fungible assets within a single contract—offering even greater efficiency and flexibility.

👉 Explore how multi-token standards are revolutionizing blockchain economies.