The world's first post quantum SDKs for blockchain
Quantova is the post quantum toolbox. The qweb3 SDKs are the first developer toolkit in the world to ship post quantum cryptography as the default, so any organisation can build on a chain that is secure today and ready for the quantum era. One toolkit, three languages, the same quantum secure account in all of them.
A toolkit built for every kind of institution
Most chains expect developers to bolt on cryptography themselves. Quantova is the first chain to issue a complete post quantum toolkit, so the security is inherited by default, not by choice. It fits any organisation that has to plan for a future where classical signatures no longer hold.
First of its kind
The qweb3 suite is the first post quantum developer toolkit shipped by any blockchain. Falcon, Dilithium and SPHINCS+ signing and SHA3 256 hashing are wired in from the first line of code.
Built for now and the future
Applications built today settle on a network that is already quantum secure. There is no migration to plan for and no cryptographic debt to carry forward.
One toolkit, three languages
JavaScript, Python and Rust share the same account model. The same recovery phrase produces the same Q1 address in every SDK, byte for byte.
qweb3.js, qweb3.py and qweb3.rs
Install from the registry your team already uses, then connect, create a post quantum account and send a transaction. The examples below are the official quick starts.
qweb3.js
The post quantum Web3 client for the browser and Node. Connect to a node, create and manage post quantum accounts, sign and broadcast transactions, read balances and deploy or call QVM smart contracts. Published on npm as qweb3.js.
- ✓Post quantum accounts, Falcon by default
- ✓Q1 addresses, QNS names and the q JSON RPC
- ✓Contract deployment and calls on the QVM
# install from npm
npm install qweb3.js
# quick start
import { Qweb3 } from 'qweb3.js';
const q = new Qweb3('wss://rpc.quantova.org');
// post quantum account, Falcon-512 by default
const account = await q.accounts.create(); // { address: 'Q1...', mnemonic }
const balance = await q.getBalance(account.address);
const hash = await q.tx.transfer(account, 'Q1...recipient', '1.5');
qweb3.py
The Python counterpart for data teams, services and automation. The pure Python package ships the full client, accounts, addresses, ABI, QNS, RPC, fees and contracts. Published on PyPI as qweb3.
- ✓Same Q1 account model as qweb3.js and qweb3.rs
- ✓Falcon-512, Dilithium2 and SPHINCS+ signing
- ✓RPC, batching and contract interaction
# install from PyPI
pip install qweb3
# quick start
from qweb3 import Qweb3
q = Qweb3("wss://rpc.quantova.org")
# post quantum account
account = q.accounts.create() # address: 'Q1...', mnemonic
balance = q.get_balance(account.address)
tx_hash = q.tx.transfer(account, "Q1...recipient", "1.5")
qweb3.rs
The Rust client for high assurance services and infrastructure. Keys derive deterministically with the exact same post quantum cores as the node, in pure Rust with no native dependencies. Published on crates.io as qweb3.
- ✓Pure Rust Falcon-512, Dilithium2 and SPHINCS+
- ✓Byte for byte identical to the node and qweb3.js
- ✓Wallet, signing, RPC and contracts
# add to Cargo.toml
[dependencies]
qweb3 = "1.1"
// quick start
use qweb3::wallet::{Wallet, Scheme};
let wallet = Wallet::create(Scheme::Falcon512)?; // address: Q1...
let address = wallet.address(); // Bech32m Q1...
// connect, read state and sign over the q_* JSON-RPC
From install to a signed transaction in seconds
Install the package, create a post quantum account and broadcast a transaction signed with Falcon-512 over the q JSON RPC.
What each library holds
Every SDK ships the same building blocks, from the Q1 address format through to full post quantum signing and QVM contract integration.
Q1 addresses
Bech32m Q1 addresses derived as the SHA3 256 hash of the post quantum public key, with key pinning that binds an account to the key it first signs with.
Post quantum signing
Falcon-512, CRYSTALS Dilithium2 (ML DSA 44) and SPHINCS+ SHAKE 128s. No ECDSA and no secp256k1 anywhere in the stack.
Accounts and recovery
Deterministic accounts from a single recovery phrase. The same phrase produces the same Q1 address in qweb3.js, qweb3.py and qweb3.rs.
q JSON RPC
The full q namespace for reading state, submitting transactions, batching and querying the network, plus the REST developer endpoints.
QVM contracts and ABI
Compile, deploy and call smart contracts on the Quantova Virtual Machine, with ABI encoding and the post quantum precompiles.
Naming and fees
Resolve QNS names, estimate the capped network fee and construct the encrypted lane transactions, all from the SDK.
| Library | Language | Registry | Install |
|---|---|---|---|
| qweb3.js | JavaScript and TypeScript | npm | npm install qweb3.js |
| qweb3.py | Python | PyPI | pip install qweb3 |
| qweb3.rs | Rust | crates.io | qweb3 = "1.1" |
Toolkits for the organisations that cannot wait for quantum risk
The qweb3 SDKs are designed to fit every kind of corporation, from the banking sector and corporate finance to data protection, national security and government. Quantova is actively building dedicated toolkits so these organisations can move their systems onto a post quantum foundation on terms they can endorse.
We are building active SDKs for banks and for privacy focused data centres, and new toolkits for government and enterprise so they can roll their own systems into the Quantova developer suite and inherit quantum security by default.
- ✓Banking and corporate finance: quantum secure settlement and custody
- ✓Privacy and data centres: post quantum signing and encrypted lanes
- ✓National security and government: a toolkit institutions can endorse
- ✓Enterprise: roll existing systems into the developer suite
Read the SDK reference and ship
The developer documentation covers the packages, code examples and the full API for every SDK.