Polkadot Hub PVM

Privacy-First
Cross-Chain
Intents

Your trade parameters stay hidden until settlement. ZK commitments verified by a Rust PVM contract, called directly from Solidity. Cross-chain via XCM.

Sell 1000 USDC for 250 PAShover to reveal
2
Virtual Machines
34KB
PVM Binary
100%
On-Chain Privacy
Live Intent Topology
IntentReactor
Solidity
Settlement
Router
Maker
Signed
ZK Privacy
Hidden
Rust PVM
Verified
Solver
Fill
The Problem

Intent protocols have
a transparency problem

Current intent-based systems broadcast your trade parameters to the entire network. This creates a systematic MEV tax on every user.

VISIBLE

Public Mempools

Every intent broadcast reveals your exact trade: tokens, amounts, deadlines. Searchers see everything.

FRONT-RUN

MEV Extraction

Bots sandwich your trades. They see intent parameters and extract value before your order settles.

EXPLOITED

Cross-Chain Leaks

Bridging intents across chains multiplies exposure. Each hop is another opportunity for value extraction.

How It Works

Three steps to private settlement

01

Sign Intent

Off-chain, gasless

Maker signs an EIP-712 typed intent off-chain. Parameters include sell/buy assets, amounts, deadline, and optional exclusive filler.

EIP-712 Signature
02

ZK Commit

Hidden on-chain

A cryptographic commitment hides the real parameters. Only the commitment hash goes on-chain. The Rust PVM privacy engine creates and verifies commitments.

Blake2s + Pedersen
03

Private Fill

Verified settlement

Solver reveals parameters to fill. The Rust PVM contract verifies the reveal matches the commitment. Tokens transfer atomically.

Cross-VM Verified
Architecture

Dual-VM by design

Solidity handles intent lifecycle. Rust PVM handles cryptographic verification. Cross-VM calls make them feel like one contract.

EVM
Solidity Contracts
IntentReactor.sol
Intent lifecycle + fills
EscrowVault.sol
Cross-chain escrow
SolverRegistry.sol
Staking + slashing
Cross-VM
PVM
Rust Contract
PrivacyEngine.pvm
fncomputeCommitment()
fnverifyCommitment()
fnpedersenCommit()
fnverifyPedersen()
34KB compiled · arkworks + blake2
XCM Precompile
Dutch Auction Pricing
Native PAS Staking
Track 2 Coverage

All three categories. One protocol.

PVM Experiments

Rust from Solidity

Privacy engine compiled to 34KB PolkaVM binary. Solidity calls Rust cryptographic functions via cross-VM dispatch.

arkworks on PVM
Blake2s hashing
Pedersen commitments
Bump allocator
Native Assets

PAS Staking

Solvers stake native PAS (msg.value) to participate. Slashing enforces honest behavior with 10% penalty for failed fills.

Native value transfers
Time-locked unstaking
Economic security
Solver registry
Precompiles

XCM Cross-Chain

Intent fills can bridge via XCM precompile at 0x...0a0000. Escrow holds assets until cross-chain confirmation.

XCM precompile
Escrow vault
Cross-chain fills
Multi-parachain