5-Minute Quick Start

Get your first PQC key pair generated, registered, and verified in under 5 minutes.

Supported Chains

QuantumSafe supports 19 chains across EVM and non-EVM ecosystems:
CategoryChains
MajorEthereum, Bitcoin, Solana
EVM L1BSC, Avalanche, Gnosis, Celo
EVM L2Base, Arbitrum, Optimism, Mantle, Blast, Sonic, Linea, Scroll
EVM L2 ZKPolygon, zkSync
Non-EVMSolana, Bitcoin, Cosmos, Tron
Non-EVM chains use different address formats: Solana (base58), Bitcoin (1/3/bc1 prefixes), Cosmos (cosmos1 prefix), Tron (T prefix). The SDK handles format validation automatically.

Step 1: Install the SDK

npm install @quantumsafe/sdk

Step 2: Initialize the Client

import { QuantumSafe } from "@quantumsafe/sdk";

const qs = new QuantumSafe({
  apiKey: "qs_sec_live_your_api_key_here",
});

Step 3: Generate a PQC Key Pair

const keypair = await qs.keys.generate({
  algorithm: "ml-dsa-65",
  chain: "ethereum",
  format: "hex",
});

console.log("Public key:", keypair.publicKey);
// Private key is stored locally — never sent to the server
Key generation happens entirely on the client. The private key never leaves your device. Only the public key is registered with QuantumSafe.

Step 4: Scan a Wallet (Any Chain)

// Ethereum (EVM)
const ethScan = await qs.scan.wallet({
  address: "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD18",
  chain: "ethereum",
});

// Solana (base58 address)
const solScan = await qs.scan.wallet({
  address: "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM",
  chain: "solana",
});

// Bitcoin (bc1 bech32 address)
const btcScan = await qs.scan.wallet({
  address: "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
  chain: "bitcoin",
});

Step 5: Sign a Message (Hybrid)

const attestation = await qs.sign.hybrid({
  message: "0xdeadbeef",
  ecdsaSignature: "0x...",      // Your existing ECDSA signature
  ecdsaPublicKey: "0x...",      // Your ECDSA public key
  pqcPrivateKey: keypair.privateKey,
  pqcPublicKey: keypair.publicKey,
  algorithm: "ml-dsa-65",
});

console.log("Attestation ID:", attestation.id);

Step 6: Verify the Attestation

const result = await qs.verify({
  attestationId: attestation.id,
});

console.log("Valid:", result.valid);
console.log("Algorithm:", result.algorithm);

Next Steps

Authentication

Learn about API key types and environments.

Wallet Scanning

Scan wallet addresses for quantum vulnerability across 19 chains.

Key Management

Understand the BYOK custody model.

API Reference

Explore the full API.