Skip to content
—
QuantascanAlpha

QRL address formats — Legacy vs QRL 2.0

Both QRL chains use a Q-prefix address, but they are different lengths and derived differently. Here's how to tell them apart.

5 min readUpdated 2026-10-23

On this page▾

Both QRL chains write addresses starting with a capital Q. That shared prefix is convenient branding, but it hides an important fact: the two chains use different address formats, and the way to tell them apart is length, not prefix.

The two formats

QRL LegacyQRL 2.0
Total length79 characters41 characters (testnet v2) or 129 characters (testnet V3, mainnet)
PrefixQQ
Hex characters7840 or 128
Binary size39 bytes20 or 64 bytes
Derived fromXMSS public keyML-DSA-87 public key

A glance at the length is all you need: 79 = Legacy, 41 or 129 = QRL 2.0.

Byte layout of both address formats. A QRL Legacy address is 39 bytes — a 3-byte descriptor, a 32-byte SHA-256 hash and a 4-byte checksum — written as 79 characters. A QRL 2.0 address is a single account value: 20 bytes written as 41 characters, or 64 bytes written as 129 characters.QRL LegacyQdescriptor3 bytesSHA-256 hash of public key32 byteschecksum4 bytes79 characters (Q + 78 hex) · 39 bytes · derived from an XMSS keyQRL 2.0Qaccount address (SHAKE-256 of ML-DSA-87 key)20 bytes (testnet v2) or 64 bytes (testnet V3, mainnet)41 or 129 characters (Q + 40 / 128 hex) · 20 or 64 bytes · derived from an ML-DSA-87 key
The two address formats side by side: Legacy packs 39 bytes into 79 characters; QRL 2.0 uses a 20-byte account in 41 characters, or a 64-byte account in 129 characters. Both start with Q — length is the tell.

How a QRL Legacy address is built (39 bytes)

A Legacy address encodes 39 bytes, which become 78 hex characters after the Q:

  • 3-byte descriptor — records the signature scheme and its parameters (for example, the hash function and tree height).
  • 32-byte hash — a SHA-256 hash of the extended public key.
  • 4-byte checksum — the leading bytes of a second SHA-256, used to detect typos before a transaction is sent.

This structure comes straight from XMSS: because the address commits to the signature parameters in its descriptor, the chain knows how to verify signatures against it.

How a QRL 2.0 address is built (20 or 64 bytes)

QRL 2.0 is EVM-compatible. On testnet v2 its addresses are the same 20-byte size as Ethereum's — 40 hex characters after the Q, 41 characters in total. From testnet V3, and on mainnet, addresses are 64 bytes — 128 hex characters after the Q, 129 characters in total — and the virtual machine works with 64-byte words to match. Either way the address is derived from the ML-DSA-87 public key with a hash rather than the Keccak hash Ethereum uses (SHAKE-256 for the 20-byte format). The visible difference from Ethereum is the prefix: QRL 2.0 writes Q… where Ethereum writes 0x….

Nodes and wallets print 64-byte addresses with a mix of upper- and lower-case letters. That casing is a checksum (QIP-55, similar to Ethereum's EIP-55) that catches typos; it does not change the address, and the explorer accepts either case.

Why you can't convert one to the other

A common misconception is that a holder's Legacy address and their QRL 2.0 address must be related. They are not. The two are derived from different keys (an XMSS key vs an ML-DSA-87 key) using different schemes. There is no function that turns one into the other.

When QRL Legacy value moves to QRL 2.0, the link between an old and a new address is a claim recorded during the process — not something anyone can compute from the addresses themselves. This explorer treats any such link as a claim, never as a derivable fact. The mechanics are covered in the QRL → QRL 2.0 migration.

What this means on the explorer

  • Paste either format into the search bar and the explorer routes it to the right chain automatically, using the length to decide.
  • A 79-character result is always Legacy; a 41- or 129-character result is always QRL 2.0.
  • The same person may hold addresses on both chains, but the explorer never assumes two addresses are "the same wallet" unless a migration claim says so.

Where to go next

FAQ about QRL address formats — Legacy vs QRL 2.0

Common questions about this page
How long is a QRL address?
It depends on the chain. A QRL Legacy address is 79 characters (a Q prefix plus 78 hex). A QRL 2.0 address is 41 characters (a Q prefix plus 40 hex, 20 bytes) on testnet v2, and 129 characters (a Q prefix plus 128 hex, 64 bytes) from testnet V3 and on mainnet. Both start with Q.
How do I tell which chain an address belongs to?
By length. 79 characters means QRL Legacy; 41 or 129 characters means QRL 2.0. The Q prefix alone does not tell you — both chains use it.
Can I convert a QRL Legacy address to a QRL 2.0 address?
No. The two addresses are derived from different keys with different schemes, so there is no formula linking them. A connection between an old and a new address is a claim recorded during migration, not something you can compute.
Why doesn't QRL use 0x like Ethereum?
QRL uses a Q prefix on both chains as a brand and format marker. The original 20-byte QRL 2.0 addresses are the same size as Ethereum addresses; the 64-byte format used from testnet V3 is larger. Either way they are written with Q instead of 0x.