QED homepage

Scalable, Trustless, Developer Friendly

QED is the world's first zk-Native blockchain protocol, built to scale trustless computation and privacy for the next generation of the internet.

🌎  Horizontal Scalability

QED is capable of supporting millions of concurrent users transacting in parallel, solving the key scaling barrier that has previously hindered mass adoption of blockchain.

🙋🏻‍♀️  Web2 Developer Friendly

QED enables Web2 developers to write smart contracts in minutes with support the world's most popular programming languages including JavaScript, Python, and TypeScript.

⚡️ zk-Native Speed

QED features Turing complete smart contracts without the bloat of a zk-VM. QED's efficient circuits allow users to prove their own transactions, preserving privacy and reducing fees.
Building a Decentralized Internet ∀

Climbing the
Scalability Mountain

ScalabilityQED

QED solves the fundamental scalability problem of blockchains by using zk-PARTH, a novel state model which enables massively parallel transaction proving and block generation. This allows QED to scale to millions of transactions per second, while guaranteeing security via Proof of Math.

 
1,000,000+Transactions Per Second
100%Transactions proved via zkSNARK
Write QED Smart Contracts in

The languages you already know and love

import { ISignature, guint, hash } from '@dapen/stdlib';
import { ISmartContract, ESignUpdateXPIntent } from './dynamic-nft.abigen';
class DynamicNFTSmartContract extends ISmartContract {
...
updateXP(nftId: guint, amount: guint, signature: ISignature) {
const nft = this.state.nfts[nftId];
this.require(nft.owner == this.userId, 'You do not own this NFT');
// Construct the Signature Payload
const payload = hash([
ESignUpdateXPIntent,
this.userId,
nftId,
nft.updateCounter++,
amount
]);
// Verify the Signature from the NFT Issuer
this.verifySignature(payload, signature, this.state.issuerPublicKey);
// Update the NFT's On-Chain Metadata
nft.xp += amount;
}
}
import { ISignature, guint, hash } from '@dapen/stdlib';
import { ISmartContract, ESignUpdateXPIntent } from './dynamic-nft.abigen';
class DynamicNFTSmartContract extends ISmartContract {
...
updateXP(nftId: guint, amount: guint, signature: ISignature) {
const nft = this.state.nfts[nftId];
this.require(nft.owner == this.userId, 'You do not own this NFT');
// Construct the Signature Payload
const payload = hash([
ESignUpdateXPIntent,
this.userId,
nftId,
nft.updateCounter++,
amount
]);
// Verify the Signature from the NFT Issuer
this.verifySignature(payload, signature, this.state.issuerPublicKey);
// Update the NFT's On-Chain Metadata
nft.xp += amount;
}
}
import { ISignature, guint, hash } from '@dapen/stdlib';
import { ISmartContract, ESignUpdateXPIntent } from './dynamic-nft.abigen';
class DynamicNFTSmartContract extends ISmartContract {
...
updateXP(nftId: guint, amount: guint, signature: ISignature) {
const nft = this.state.nfts[nftId];
this.require(nft.owner == this.userId, 'You do not own this NFT');
// Construct the Signature Payload
const payload = hash([
ESignUpdateXPIntent,
this.userId,
nftId,
nft.updateCounter++,
amount
]);
// Verify the Signature from the NFT Issuer
this.verifySignature(payload, signature, this.state.issuerPublicKey);
// Update the NFT's On-Chain Metadata
nft.xp += amount;
}
}
import { ISignature, guint, hash } from '@dapen/stdlib';
import { ISmartContract, ESignUpdateXPIntent } from './dynamic-nft.abigen';
class DynamicNFTSmartContract extends ISmartContract {
...
updateXP(nftId: guint, amount: guint, signature: ISignature) {
const nft = this.state.nfts[nftId];
this.require(nft.owner == this.userId, 'You do not own this NFT');
// Construct the Signature Payload
const payload = hash([
ESignUpdateXPIntent,
this.userId,
nftId,
nft.updateCounter++,
amount
]);
// Verify the Signature from the NFT Issuer
this.verifySignature(payload, signature, this.state.issuerPublicKey);
// Update the NFT's On-Chain Metadata
nft.xp += amount;
}
}