Hardy Index Quantum readiness, rated and tracked

Cryptography registry

ECDSA on secp256k1

The Elliptic Curve Digital Signature Algorithm over the secp256k1 curve, used by Bitcoin, Ethereum and most chains descended from either. Broken by Shor's algorithm on a cryptographically relevant quantum computer, which recovers the private key from the public key.

Quantum status
Broken by Shor's algorithm
Standard
SEC 1 and SEC 2, final
Family
elliptic curve
Also known as
secp256k1, ECDSA

Rated chains using it

  • 0G Mainnet, default

    Account signatures. Sender recovery in 0g-geth, 0G's go-ethereum fork. Mainnet transactions read from the public RPC on 22 October 2026 carried EIP-155 signatures for chain ID 16661; the public RPC runs 0G's reth fork. Source code or release

  • AIOZ Network Mainnet, default

    Account signatures, eth_secp256k1. Read from the chain's transaction API on 22 October 2026: all 23 Cosmos transactions in blocks 25,759,921 to 25,760,520 carry an /ethermint.crypto.v1.ethsecp256k1.PubKey, and none carries another key type. AIOZ's documentation says accounts use "Ethereum's ECDSA secp256k1 curve for keys". Read on-chain

  • Akash Network Mainnet, default

    Account signatures. Read from the chain's transaction API on 22 October 2026: all 279 signers in blocks 29,178,700 to 29,178,740 carry a secp256k1 public key, and none carries another key type. secp256k1 is the Cosmos SDK default account key. Read on-chain

  • Aptos Mainnet, opt-in

    Account signatures. A standard account can be controlled by a Secp256k1 ECDSA key under the generalised single-key scheme, or combined with other keys in a k-of-n multi-key account. Specification or proposal

  • Arweave Mainnet, opt-in

    Account signatures. Accepted on format 2 transactions since the 2.9 hard fork at block 1,602,350, beside RSA-PSS, which remains the default. Specification or proposal

  • Arweave Mainnet, opt-in

    Validator consensus. Miners may sign blocks with an ECDSA reward key instead of RSA since the 2.9 hard fork; the node's block signature check accepts a secp256k1 reward key beside an RSA one. Source code or release

  • Avalanche Mainnet, default

    Account signatures. Source code or release

  • Bitcoin Mainnet, default

    Account signatures. Source code or release

  • Bitcoin Cash Mainnet, default

    Account signatures. Statement or write-up

  • Bitcoin SV Mainnet, default

    Account signatures. Spend signatures, verified through libsecp256k1. Source code or release

  • BNB Chain Mainnet, default

    Account signatures. Source code or release

  • Celestia Mainnet, default

    Account signatures. Celestia's Cosmos SDK fork also defines secp256r1 keys; whether mainnet accepts them for transactions was not confirmed. Source code or release

  • Chiliz Chain Mainnet, default

    Account signatures. Sender recovery through go-ethereum's signer in v2.9.5, the client version Chiliz Chain's public mainnet RPC reported on 22 October 2026. EIP-7702 delegation, live since 30 June 2026, still authorises through the account's ECDSA key. Source code or release

  • Chiliz Chain Mainnet, mandatory

    Validator consensus. Parlia recovers each block's sealer with crypto.Ecrecover on secp256k1. The client carries BNB Smart Chain's BLS vote-attestation code, but Chiliz's mainnet configuration does not activate the Luban fork that turns it on. Source code or release

  • Conflux Mainnet, mandatory

    Account signatures. Recoverable ECDSA through the secp256k1 crate; the sender's Core Space address is derived from the recovered key in cfx_key's public_to_address. Source code or release

  • Conflux Mainnet, mandatory

    Account signatures. eSpace accounts sign Ethereum-type transactions, recovered through the same key library; eSpace was added by CIP-90 in the Hydra hard fork. Source code or release

  • Cosmos Hub Mainnet, default

    Account signatures. The Cosmos SDK also supports secp256r1 for transaction authentication; whether the Hub accepts it was not confirmed. Specification or proposal

  • Cronos Mainnet, default

    Account signatures. EVM accounts and Cosmos SDK native accounts. Specification or proposal

  • Dash Mainnet, default

    Account signatures. Spends of DASH on Dash Core. Specification or proposal

  • Decred Mainnet, default

    Account signatures. Signature type 0, used by standard pay-to-public-key-hash outputs. Source code or release

  • Decred Mainnet, default

    Validator consensus. A ticket's vote spends its voting-rights output with an ordinary script signature, ECDSA under a standard pay-to-public-key-hash script. Votes approve blocks and treasury spends. Source code or release

  • Dogecoin Mainnet, default

    Account signatures. Source code or release

  • dYdX Chain Mainnet, default

    Account signatures. Read from the chain's transaction API on 22 October 2026: all 42 signers in blocks 110,585,000 to 110,585,150 carry a secp256k1 public key, and none carries another key type. dYdX's SDK fork also defines secp256r1, Ed25519 and multisig keys. Read on-chain

  • dYdX Chain Mainnet, opt-in

    Account signatures. Permissioned keys (the x/accountplus smart-account module, active on mainnet). The SignatureVerification authenticator accepts a secp256k1 public key and nothing else; 12 of the 646 transactions in the blocks read above selected an authenticator. Source code or release

  • eCash Mainnet, default

    Account signatures. Spend signatures. OP_CHECKSIG accepts ECDSA or Schnorr since May 2019, and OP_CHECKMULTISIG does too since November 2019. Specification or proposal

  • Ethereum Mainnet, default

    Account signatures. Statement or write-up

  • Ethereum Classic Mainnet, default

    Account signatures. Source code or release

  • Filecoin Mainnet, default

    Account signatures. The Lotus wallet creates secp256k1 (f1) keys unless told otherwise. Ethereum-compatible f410 accounts also sign with secp256k1, under FIP-0055. Source code or release

  • Flare Mainnet, mandatory

    Account signatures. P-chain keys and addresses; the C-chain recovers EVM senders with ECDSA on the same curve. Source code or release

  • Flare Mainnet, mandatory

    Ledger attestation. The Relay contract checks data providers' signatures with ecrecover and finalises an FTSO or Flare Data Connector Merkle root once signers exceed the signing policy's weight threshold, which the Flare Systems Protocol documentation gives as more than 50% of the weight normally and more than 60% in case of delays. Source code or release

  • GateChain Mainnet, default

    Account signatures. EVM accounts with 0x addresses on chain ID 86. A sample mainnet transaction read through the EVM RPC on 23 October 2026, 0xe00399cda559a623d644ff2d1fe6e1fe0ac3f830d89ede467a064a6739fe8c1f, carried a standard Ethereum v, r, s signature with a recovered sender. Specification or proposal

  • Gnosis Chain Mainnet, default

    Account signatures. Gnosis specifies only its differences from Ethereum's specifications and leaves transaction signing unchanged. Specification or proposal

  • Hedera Mainnet, default

    Account signatures. Selectable per account, with Ed25519. Statement or write-up

  • Hyperliquid Mainnet, default

    Account signatures. EIP-712 typed-data signing. Statement or write-up

  • Injective Mainnet, default

    Account signatures, eth_secp256k1. Read from the release/v1.20.x branch, the last published source. Mainnet runs v1.20.4, whose source has not been published. The ante handler also recognises Cosmos secp256k1, Ed25519 and multisig keys. Source code or release

  • Internet Computer Mainnet, opt-in

    Account signatures. User identities sign with Ed25519 or ECDSA. Specification or proposal

  • Internet Computer Mainnet, opt-in

    Threshold signing. Chain-key signatures. Specification or proposal

  • IOTA Mainnet, opt-in

    Account signatures. Chosen account by account; Ed25519 stays the default. Specification or proposal

  • Kaia Mainnet, mandatory

    Account signatures. Account public keys must lie on the S256 curve; legacy, public, weighted multisig and role-based account keys all verify secp256k1 signatures. Source code or release

  • Kaia Mainnet, mandatory

    Validator consensus. Committed seals in Kaia's Istanbul BFT variant are signed with crypto.Sign on secp256k1. Source code or release

  • Kaspa Mainnet, opt-in

    Account signatures, 33-byte compressed keys. Address version 1 (PubKeyECDSA). Source code or release

  • KCC (KuCoin Community Chain) Mainnet, mandatory

    Account signatures. Sender recovery through go-ethereum's signer in v1.4.8-stable, the client version KCC's public mainnet RPC reported on 23 October 2026. A transfer in block 56,731,917 read from that RPC carried v = 0x2a6, an EIP-155 signature for chain 321. The client stops at the Berlin rules and has no account abstraction or delegation. Source code or release

  • KCC (KuCoin Community Chain) Mainnet, mandatory

    Validator consensus. The PoSA engine recovers each block's sealer from the signature in the header's extra data with crypto.Ecrecover on secp256k1. Forty consecutive blocks read on 23 October 2026 were sealed in turn by twelve validator addresses. Source code or release

  • Kite Mainnet, default

    Account signatures. Sender recovery in libevm, the go-ethereum code that Kite's Subnet-EVM fork (gokite-ai/subnet-evm) builds on. Source code or release

  • Litecoin Mainnet, default

    Account signatures. Source code or release

  • MemeCore Mainnet, default

    Account signatures. Source code or release

  • Monad Mainnet, default

    Account signatures. Source code or release

  • Monad Mainnet, mandatory

    Validator consensus. The node's signature type is monad_secp::SecpSignature, ECDSA on secp256k1, used for message integrity and authenticity on consensus messages that are not aggregated; the documentation says ECDSA without naming the curve. Source code or release

  • NEAR Protocol Mainnet, opt-in

    Account signatures. Source code or release

  • Neo Mainnet, opt-in

    Contract level. Available to contracts through CryptoLib verifyWithECDsa. Source code or release

  • Nervos CKB Mainnet, default

    Account signatures. Specification or proposal

  • Ozone Chain Mainnet, default

    Account signatures. Read through the mainnet RPC on 22 October 2026: a legacy transaction with r, s and an EIP-155 v of 0x1f64 for chain ID 4000. Read on-chain

  • Ozone Chain Mainnet, mandatory

    Validator consensus. QBFT genesis with no ecCurve setting, so Besu's default secp256k1 applies to the four validators' block seals. Source code or release

  • Polygon PoS Mainnet, default

    Account signatures. Sender recovery through crypto.Ecrecover in Bor, the go-ethereum fork that executes Polygon PoS transactions. Source code or release

  • Polygon PoS Mainnet, mandatory

    Validator consensus. Heimdall mainnet consensus parameters list secp256k1 as the only validator key type. Validators sign the checkpoints posted to Ethereum with the same keys. Read on-chain

  • Polygon PoS Mainnet, mandatory

    Validator consensus. Bor block producers seal each block header with a secp256k1 signature, recovered with crypto.Ecrecover. Source code or release

  • Provenance Blockchain Mainnet, default

    Account signatures. Read from the chain's transaction API on 22 October 2026: every signer in the first 100 of the 142 mainnet transactions between heights 34,219,000 and 34,220,700 carries a secp256k1 public key, and none carries another key type. secp256k1 is the Cosmos SDK default account key. Read on-chain

  • QoreChain Mainnet, mandatory

    Account signatures. The classical half of every hybrid signature, the sole signature on a first key registration, and the sole signature on an EVM transaction inside an open authorisation window. Read on-chain

  • Qtum Mainnet, default

    Account signatures. Spends of pay-to-public-key-hash and pay-to-public-key outputs, inherited from Bitcoin Core. Source code or release

  • Qtum Mainnet, mandatory

    Validator consensus. Each proof-of-stake block carries an ECDSA signature by the block key, which the node accepts either in compact (recoverable) form or as a standard DER signature. The block key is also published in the coinstake transaction's second output, as a pay-to-public-key output or a non-spendable OP_RETURN push, and under offline staking the block is signed by the staker's key with a delegator's signed proof of delegation. Source code or release

  • Sei Mainnet, default

    Account signatures. One key derives both the 0x and the sei1 address. Specification or proposal

  • Sonic Mainnet, default

    Account signatures. Sender recovery through go-ethereum's types.Sender. Source code or release

  • Sonic Mainnet, mandatory

    Validator consensus. Secp256k1 is the single validator public key type defined; validators sign each consensus event. Source code or release

  • Terra Classic Mainnet, default

    Account signatures. Read from a public node on 23 October 2026: every signer in the first 100 of the 13,071 mainnet transactions between heights 30,962,000 and 30,962,700 carries a secp256k1 public key, and none carries another key type. secp256k1 is the Cosmos SDK default account key. Read on-chain

  • Tezos Mainnet, opt-in

    Account signatures. tz2 addresses. Specification or proposal

  • Tezos Mainnet, opt-in

    Validator consensus. A baker's consensus key may be a tz2 key. Specification or proposal

  • Theta Network Mainnet, default

    Account signatures. Signer recovery through secp256k1.RecoverPubkey for native transactions; the Ethereum-compatible transaction path recovers secp256k1 signers the same way. Source code or release

  • Theta Network Mainnet, mandatory

    Validator consensus. Enterprise validator nodes sign block votes with their secp256k1 keys. Source code or release

  • THORChain Mainnet, default

    Account signatures. THORChain's developer documentation gives the signing algorithm as secp256k1, and THORNode's ante handler rejects transactions signed with secp256r1 keys, which the Cosmos SDK would otherwise accept. Source code or release

  • THORChain Mainnet, mandatory

    Threshold signing. GG20 threshold ECDSA for the Asgard vaults on Bitcoin, Ethereum and the other secp256k1 chains THORChain connects. A two-thirds supermajority of vault members must sign. Read on-chain

  • Tron Mainnet, default

    Account signatures. Source code or release

  • Vaulta Mainnet, default

    Account signatures, K1. K1 keys, written with the legacy EOS prefix or PUB_K1_, are what wallets create by default and what controls almost every account. Source code or release

  • Vaulta Mainnet, mandatory

    Validator consensus. The 21 active block producers' block signing authorities in the producer schedule are secp256k1 keys. Read on-chain

  • VeChain Mainnet, mandatory

    Account signatures. Origin recovered with go-ethereum crypto.SigToPub; a delegated transaction carries a second 65-byte signature from the gas payer (VIP-191). Source code or release

  • VeChain Mainnet, mandatory

    Validator consensus. The block signer is recovered from the header signature with crypto.SigToPub. Source code or release

  • WEMIX Mainnet, default

    Account signatures. Sender recovery through go-ethereum's signer; the fee-delegation transaction type adds a fee payer's secp256k1 signature. Source code or release

  • WEMIX Mainnet, mandatory

    Validator consensus. signBlock signs with the node's secp256k1 private key, and verifyBlockSig recovers the signer and checks its node ID against the governance contract's member list. Source code or release

  • Whitechain Mainnet, default

    Account signatures. Sender recovery through go-ethereum's signer, with chain ID 1875 set in the mainnet configuration. The mint instruction is an ordinary transaction from the mint owner's account, so it is authorised by the same scheme. Source code or release

  • Whitechain Mainnet, mandatory

    Validator consensus. Clique's ecrecover recovers the sealer from the 65-byte signature in each header and checks it against the authorised signer list, which at epoch block 50,820,000 held one address. Source code or release

  • XDC Network Mainnet, default

    Account signatures. Source code or release

  • XDC Network Mainnet, mandatory

    Validator consensus. XDPoS 2.0 block headers, votes and timeouts. Source code or release

  • XRP Ledger Mainnet, default

    Account signatures. Selectable per account, with Ed25519. Statement or write-up

Sources

Published beside the Hardy Score and not an input to it. How each chain is scored is set out in the methodology.