The withdrawal direction (burn wUSDT -> release real USDT) had no listener at all - nothing watched Pezkuwi for redemption deposits, and the manual ProcessWithdrawals command was an empty stub. The deposit listener also had two real bugs: it minted to the bridge's own address instead of the sender's (a leftover "for demo" placeholder), and it never checked whether a deposit had already been processed before minting again. - Add is_deposit_processed/is_withdrawal_processed idempotency checks, enforced before every mint/burn/release, not just recorded after. - Fix listen_deposits() to mint to the sender's actual Pezkuwi address (same AccountId32, re-encoded under Pezkuwi's SS58 prefix - both chains share one derivation, so no memo/registration is needed) and to persist processed deposits to the database, which it never did. - Add listen_withdrawals(), mirroring the deposit listener: detects wUSDT sent to bridge custody, burns it, verifies the Polkadot custody wallet actually holds enough real USDT before releasing (circuit breaker - an under-collateralized peg must halt loudly, not silently short-pay), then releases to the sender's Polkadot address. - Add max_single_tx cap so one bad/anomalous event can't move an unbounded amount automatically. - Add a Reserves command reporting real custody balance vs circulating wUSDT supply - the exact invariant that, when broken, is what the wallet's "waiting for liquidity" banner was masking. - load_keypair() now prefers BRIDGE_SEED_MNEMONIC (meant to be Vault-injected, matching how the exchange's hot wallets are already provisioned) over the plaintext seed_path file, which remains only as a local/dev fallback with a loud warning. Flagged, not fixed here: the event-matching in both listeners (Debug-formatted Value string containing a slice of the bridge's SS58 text) is unverified against a live node in this environment and should be replaced with subxt's typed/codegen API before this handles real value. Custody is still single-keypair (no multisig/MPC threshold signing) - that is an infrastructure/key-ceremony decision, not a code change, and is the highest-priority follow-up.
Pezkuwi SDK — Sovereign Blockchain Infrastructure
Developed and maintained by Kurdistan Tech Institute
Pezkuwi SDK is a fully independent blockchain development framework, providing all the tools needed to build sovereign, interoperable blockchain networks for stateless nations and distributed communities.
Origin
Pezkuwi SDK originated as a fork of Polkadot SDK (stable2512). It has since been completely rebranded and restructured as an independent project under Kurdistan Tech Institute stewardship. All crate names, dependencies, and documentation have been updated to reflect this independence.
Architecture
┌─────────────────────────────────────────────────────────────┐
│ Pezkuwi SDK Ecosystem │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────┐ ┌─────────────────────────┐ │
│ │ Bizinikiwi │ │ PezCumulus │ │
│ │ (Core Framework) │ │ (TeyrChain SDK) │ │
│ │ │ │ │ │
│ │ • Runtime Engine │ │ • Collator Framework │ │
│ │ • Consensus │ │ • XCM Integration │ │
│ │ • Networking │ │ • Relay Chain Bridge │ │
│ └─────────────────────┘ └─────────────────────────┘ │
│ │ │ │
│ └──────────┬───────────────┘ │
│ │ │
│ ┌──────────▼───────────┐ │
│ │ PezkuwiChain │ │
│ │ (Reference Impl) │ │
│ │ • TeyrChain │ │
│ │ • Zagros Runtime │ │
│ └──────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Crate Naming Convention
Pezkuwi SDK uses a distinct naming scheme to ensure complete independence:
| Component | Prefix | Example |
|---|---|---|
| Core Framework | bizinikiwi- |
bizinikiwi-runtime |
| TeyrChain SDK | pezcumulus- |
pezcumulus-client |
| Client Crates | pezsc- |
pezsc-network, pezsc-consensus |
| Primitives | pezsp- |
pezsp-runtime, pezsp-core |
| Framework | pezframe- |
pezframe-support, pezframe-system |
| Pallets | pezpallet- |
pezpallet-balances, pezpallet-staking |
| Staging | pezstaging- |
pezstaging-xcm |
PezkuwiChain — Reference Implementation
PezkuwiChain is the flagship blockchain built on Pezkuwi SDK, designed for Kurdish digital sovereignty.
Token Economics
HEZ — Native Gas Token
- Purpose: Transaction fees, staking, network security
- Model: Inflationary with staking rewards
- Distribution: 85% staking rewards, 15% treasury
PEZ — Governance Token
- Total Supply: 5,000,000,000 PEZ
- Model: Fixed supply with halving cycles
- Access: Citizenship-gated rewards
Custom Pallets
| Pallet | Purpose |
|---|---|
pezpallet-presale |
Multi-round token launches with vesting |
pezpallet-identity-kyc |
Decentralized identity verification |
pezpallet-welati |
Democratic governance and voting |
pezpallet-perwerde |
Educational platform and certificates |
pezpallet-pez-treasury |
Community treasury with halving |
pezpallet-pez-rewards |
Trust-based staking rewards |
pezpallet-validator-pool |
Validator participation |
pezpallet-staking-score |
Reputation-based metrics |
pezpallet-trust |
Peer-to-peer trust system |
pezpallet-referral |
Referral incentives |
pezpallet-tiki |
NFT-based citizenship |
pezpallet-token-wrapper |
Asset wrapping |
TNPoS Consensus
Trust-enhanced Nominated Proof-of-Stake combines:
- Economic Stake (HEZ)
- Social Trust metrics
- Performance scoring
TNPoS Consensus — World's First Trust-Augmented PoS
Trust-enhanced Nominated Proof-of-Stake combines:
- Economic Stake: Traditional staking (HEZ)
- Social Trust: Peer endorsements, citizenship level, governance participation
- Performance Metrics: Uptime, finality participation, historical behavior
Key Innovations:
- First implementation of social trust in consensus (academic contribution)
- Parliamentary NFT System: 201 non-transferable governance seats
- Sybil-resistant via citizenship verification (Tiki pallet)
- Multi-dimensional validator scoring
Cross-Chain Integration (XCM v5)
Polkadot Asset Hub (USDT)
│
│ XCM Reserve Transfer
▼
TeyrChain (Parachain)
│
├─► Presale contributions
├─► DEX trading (future)
└─► Withdraw back to Asset Hub
- Full XCM v5 implementation
- Reserve-backed wUSDT bridge
- HRMP channels for system teyrchains
- Future bridges: wETH, wBTC, Ethereum, Tron, BSC
Network Roadmap
| Stage | Validators | Status |
|---|---|---|
| Dev Mode | 1 | ✅ |
| Local Testnet | 2 | ✅ |
| Alfa Testnet | 4 | ✅ |
| Beta Testnet | 8 | Q1 2026 |
| Staging | 20 | Q1 2026 |
| Mainnet | 100 | Q2 2026 |
Multi-Nation Platform Vision
PezkuwiChain is designed to host multiple digital nations simultaneously:
| Nation Type | Example | Target Population |
|---|---|---|
| Ethnic | Kurdish (PEZ) | 40M+ globally |
| Ethnic | Catalan | 10M+ |
| Ethnic | Tibetan | 6M+ diaspora |
| Ethnic | Uyghur | 12M+ |
| Ethnic | Basque | 3M+ |
| Cultural | Armenian diaspora | 8M+ |
| Cultural | Romani | 10M+ worldwide |
| Indigenous | Various tribes | Land rights, heritage |
Shared Infrastructure: All nations use HEZ for transactions Nation-Specific Tokens: Each group issues citizenship-gated tokens (PEZ model) Interoperable Governance: Cross-nation commerce, diplomacy on single blockchain
Use Cases
- Digital Governance — Parliamentary NFTs, on-chain voting, treasury management
- Token Launches — Compliant multi-round presales with vesting
- Education — Blockchain-verified certificates (Perwerde)
- Identity — Self-sovereign KYC and citizenship verification
- Cross-Chain Finance — wUSDT bridge, DeFi primitives
- Cultural Preservation — Language, heritage, oral tradition on-chain
- Remittance — Low-cost diaspora→homeland transfers ($20B+ Kurdish annual flows)
Quick Start
# Clone repository
git clone https://git.pezkuwichain.io/pezkuwichain/pezkuwi-sdk.git
cd pezkuwi-sdk
# Build release
cargo build --release
# Build with benchmarks
cargo build --release --features runtime-benchmarks
# Run local testnet
./target/release/pezkuwi-node --dev
Links
| Resource | URL |
|---|---|
| Website | pezkuwichain.io |
| App | app.pezkuwichain.io |
| Explorer | explorer.pezkuwichain.io |
| Documentation | docs.pezkuwichain.io |
| RPC Endpoint | wss://rpc.pezkuwichain.io |
Community
| Platform | Link |
|---|---|
| Telegram | @pezkuwichain |
| Discord | discord.gg/pezkuwichain |
| @pezkuwichain | |
| Gitea | git.pezkuwichain.io/pezkuwichain |
| Medium | @pezkuwichain |
| PezkuwiChain |
Pezkuwi SDK
The Pezkuwi SDK repository provides all the components needed to start building on the PezkuwiChain network, a multi-chain blockchain platform that enables different blockchains to interoperate and share information in a secure and scalable way.
Quickstart
If you want to get an example node running quickly you can execute the following getting started script:
curl --proto '=https' --tlsv1.2 -sSf https://gitlab.com/pezkuwichain/pezkuwi-sdk/-/raw/main/scripts/getting-started.sh | bash
Building
In order to build this project you need to install some dependencies, follow the instructions in this guide.
Documentation
- Pezkuwi Documentation Portal
- rust-docs: Where we keep track of the API docs of our Rust crates. Includes:
- Introduction to each component of the Pezkuwi SDK: Bizinikiwi, FRAME, PezCumulus, and XCM
- Guides, namely how to build your first FRAME pallet
- Templates for starting a new project.
- External Resources
- Have a question? You can ask in the Pezkuwi SDK Developers Chat.
Releases
The Pezkuwi SDK is released every three months as a Pezkuwi stableYYMM release. Each stable release is supported for one year with patches. See the release history in CHANGELOG.md and release documentation in RELEASE.md.
You can use psvm to update all dependencies to a specific version without needing to manually select the correct version for each crate.
Tooling
Pezkuwi SDK Version Manager: A simple tool to manage and update the Pezkuwi SDK dependencies in any Cargo.toml file. It will automatically update the Pezkuwi SDK dependencies to their correct crates.io version.
Security
The security policy and procedures can be found in docs/contributor/SECURITY.md.
Contributing & Code of Conduct
Ensure you follow our contribution guidelines. In every interaction and contribution, this project adheres to the Contributor Covenant Code of Conduct.
Ready to Contribute?
Take a look at the issues labeled with mentor to get started! We always recognize valuable contributions by proposing an on-chain tip to the PezkuwiChain network as a token of our appreciation.
Pezkuwi Fellowship
Development in this repo usually goes hand in hand with the fellowship organization. In short, this repository provides all the SDK pieces needed to build both PezkuwiChain and its teyrchains. But, the actual PezkuwiChain runtime lives in the fellowship/runtimes repository. Read more about the fellowship, this separation, and the RFC process in the Pezkuwi Fellows repository.
History
This repository is the amalgamation of 3 separate repositories that used to make up Pezkuwi SDK, namely Bizinikiwi, Pezkuwi and PezCumulus. Read more about the SDK in the Pezkuwi SDK Documentation.
License
Pezkuwi SDK is a derivative work based on Polkadot SDK by Parity Technologies (UK) Ltd., used under Apache-2.0 and GPL-3.0-only.
Individual crates in this repository are licensed under one of:
- Apache License, Version 2.0 — see LICENSE-APACHE
- GNU General Public License v3 or later WITH Classpath-exception-2.0 — see LICENSE-GPL3
- MIT No Attribution (MIT-0) — see LICENSE-MIT0
- The Unlicense — see LICENSE-UNLICENSE
See each crate's Cargo.toml license field and each source file's SPDX-License-Identifier header for the applicable license.
For full attribution, significant changes, and third-party component notices, see NOTICE.
Kurdistan Tech Institute
Building sovereign infrastructure for stateless nations

