Early preview. This section describes a surface that is not generally available; interfaces
here may change without notice. Talk to us before building against it.
Verifiable Event Sync (VES) System Overview
A complete zero-knowledge commerce infrastructure enabling AI agents to interact with cryptographic verification, STARK proofs, and on-chain anchoring.System Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AI Agent Commerce Platform β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β AI Agent β β AI Agent β β AI Agent β β AI Agent β β
β β (Orders) β β (Inventory) β β (Payments) β β (Returns) β β
β ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ β
β β β β β β
β ββββββββββββββββββββ΄βββββββββ¬ββββββββββ΄βββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Stateset CLI (MCP Server) β β
β β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββββββββββ β β
β β β Outbox β β Ed25519 β β HPKE β β Event Capture β β β
β β β (SQLite) β β Signing β β Encryption β β & Serialization β β β
β β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββ β
β β β
βββββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββ
β VES Protocol v1.0
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β stateset-sequencer (Rust) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββ β
β β Event Ingest β β Sequencing β β Merkle Trees β β Commitments β β
β β (REST/gRPC) β β (Deterministic)β β (rs_merkle) β β (Batches) β β
β ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ βββββββββ¬ββββββββ β
β β β β β β
β ββββββββββββββββββββββ΄βββββββββββββββββββββ΄ββββββββββββββββββββ β
β β β
β ββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββ β
β β Event Store (PostgreSQL/SQLite) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
βββββββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββ
β Batch Events
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β stateset-stark (Rust) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β STARK Prover β β
β β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββββββββββ β β
β β β Witness β β Trace β β AIR β β Winterfell β β β
β β β Builder β β Generator β β Constraints β β Prover β β β
β β βββββββββββββββ βββββββββββββββ βββββββββββββββ βββββββββββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Supported Policies β β
β β β’ aml.threshold - Proves amount < threshold (AML compliance) β β
β β β’ order_total.cap - Proves amount <= cap (Order limits) β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β β STARK Proofs β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β STARK Verifier β β
β β β’ Proof verification in ~600Β΅s β β
β β β’ Public inputs validation β β
β β β’ Policy compliance checking β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
βββββββββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββ
β Verified Proofs
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β set/anchor (Rust) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β
β β Sequencer β β Registry β β Health β β
β β API Client β β Client β β Monitoring β β
β ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ βββββββββββββββββββ β
β β β β
β ββββββββββββββββββββββ΄ββββββββββββββββββββββββββ β
β β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββ
β On-chain TX
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Set L2 (EVM-Compatible Chain) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β SetRegistry.sol β β
β β β β
β β struct BatchCommitment { β β
β β bytes32 eventsRoot; // Merkle root of events β β
β β bytes32 prevStateRoot; // Previous state β β
β β bytes32 newStateRoot; // New state after batch β β
β β uint64 sequenceStart; // First sequence number β β
β β uint64 sequenceEnd; // Last sequence number β β
β β uint32 eventCount; // Events in batch β β
β β } β β
β β β β
β β struct StarkProofCommitment { β β
β β bytes32 proofHash; // Hash of STARK proof β β
β β bytes32 policyHash; // Policy used β β
β β bool allCompliant; // Compliance status β β
β β } β β
β β β β
β β Functions: β β
β β β’ commitBatch() - Anchor batch commitment β β
β β β’ commitStarkProof() - Anchor STARK proof β β
β β β’ verifyInclusion() - Verify event in batch β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Data Flow
Step 1: AI Agent Creates Event
// AI Agent creates a commerce event through the CLI
const event = {
entityType: 'order',
entityId: 'order-001',
eventType: 'OrderCreated',
payload: {
orderId: 'order-001',
customerId: 'customer-001',
items: [{ sku: 'WIDGET-001', quantity: 2, price: 29.99 }],
total: 59.98
}
};
// CLI captures, signs, and encrypts the event
outbox.append(event);
Step 2: Event Signing & Encryption (CLI)
The CLI performs VES v1.0 protocol operations:- Payload Hash:
SHA-256(domain_prefix || canonical_json(payload)) - Ed25519 Signature: Signs event envelope with agentβs private key
- HPKE Encryption: Encrypts payload for authorized recipients
- Cipher Hash:
SHA-256(domain_prefix || ciphertext)
Event Envelope:
βββ eventId: UUID
βββ vesVersion: 1
βββ payloadKind: 1 (encrypted)
βββ payloadPlainHash: "0x..."
βββ payloadCipherHash: "0x..."
βββ agentKeyId: 1
βββ agentSignature: "0x..."
βββ payloadEncrypted: { ... }
Step 3: Sequencing (stateset-sequencer)
The sequencer:- Validates agent signature
- Assigns deterministic sequence number
- Adds event to Merkle tree
- Creates batch when threshold reached
Sequenced Event:
βββ envelope: { ... }
βββ sequenceNumber: 42
βββ sequencedAt: "2024-12-22T20:15:00Z"
βββ receiptHash: "0x..."
Step 4: STARK Proof Generation (stateset-stark)
For each batch, generate a STARK proof:# Prove compliance: amount < 10000 (AML threshold)
ves-stark prove \
--amount 5000 \
--limit 10000 \
--policy aml.threshold \
--inputs public_inputs.json \
--output proof.json
- Proof Size: ~36KB (individual), ~53KB (batch)
- Proving Time: ~20-25ms
- Verification Time: ~600Β΅s
- Security Level: 128-bit
Step 5: On-Chain Anchoring (set/anchor β SetRegistry)
The anchor service submits to Set L2:// SetRegistry.commitBatch()
commitBatch(
batchId, // Unique batch identifier
tenantId, // Tenant UUID as bytes32
storeId, // Store UUID as bytes32
eventsRoot, // Merkle root of events
prevStateRoot, // State before batch
newStateRoot, // State after batch
sequenceStart, // 0
sequenceEnd, // 7
eventCount // 8
);
// SetRegistry.commitStarkProof()
commitStarkProof(
batchId,
proofHash, // SHA-256 of STARK proof
policyHash, // Policy identifier hash
policyLimit, // 10000
allCompliant, // true
proofSize, // 53074
provingTimeMs // 25
);
Step 6: Verification by Other Agents
Any AI agent can verify:- Event Inclusion: Merkle proof against on-chain root
- Compliance: STARK proof verification
- State Transition: Verify prev_state β new_state
# Verify a STARK proof
ves-stark verify \
--proof proof.json \
--inputs public_inputs.json \
--limit 10000 \
--policy aml.threshold
# Output: Proof VALID (verified in 622.133Β΅s)
Repository Structure
| Repository | Path | Description |
|---|---|---|
| stateset-sequencer | icommerce-app/stateset-sequencer | VES protocol sequencer |
| stateset-stark | icommerce-app/stateset-stark | STARK prover/verifier |
| set | icommerce-app/set | L2 chain & anchor service |
| CLI | stateset-icommerce/cli | AI agent MCP server |
Crate Structure (stateset-stark)
stateset-stark/crates/
βββ ves-stark-primitives/ # Field arithmetic, Rescue hash
βββ ves-stark-air/ # AIR constraints for policies
βββ ves-stark-prover/ # Witness & proof generation
βββ ves-stark-verifier/ # Proof verification
βββ ves-stark-batch/ # zkRollup batch proofs
βββ ves-stark-cli/ # Command-line interface
βββ ves-stark-client/ # HTTP client for sequencer
CLI Commands
STARK Prover CLI
# Generate public inputs
ves-stark gen-inputs --limit 10000 --policy aml.threshold -o inputs.json
# Generate compliance proof
ves-stark prove --amount 5000 --limit 10000 --policy aml.threshold \
--inputs inputs.json --output proof.json --json
# Verify proof
ves-stark verify --proof proof.json --inputs inputs.json \
--limit 10000 --policy aml.threshold
# Inspect proof metadata
ves-stark inspect --proof proof.json
# Run benchmark
ves-stark benchmark -n 10 --max-amount 10000 --limit 10000
# Generate batch proof (zkRollup style)
ves-stark batch-prove -n 8 --limit 10000 --output batch_proof.json
# Run sequencer simulation
ves-stark sequencer -n 16 --batch-size 8 --limit 10000 \
--output-dir ./proofs
Sync CLI
# Initialize sync configuration
stateset-sync init
# Generate agent keys
stateset-sync keys:generate
# Push events to sequencer
stateset-sync push
# Pull events from sequencer
stateset-sync pull
# Show sync status
stateset-sync status
The performance numbers below are measured on the reference deployment
described in this page. Treat them as a shape β where the cost sits, and what
scales with what β rather than as a figure to quote in a capacity plan for
different hardware.
Performance Metrics
| Operation | Time | Size |
|---|---|---|
| Individual Proof Generation | ~20ms | ~36KB |
| Batch Proof (8 events) | ~25ms | ~53KB |
| Proof Verification | ~600Β΅s | - |
| Merkle Proof Verification | 1ms | 1KB |
Security Properties
- Privacy: Event payloads encrypted with HPKE
- Authenticity: Ed25519 signatures on all events
- Ordering: Deterministic sequencing prevents reordering
- Compliance: Zero-knowledge proofs for policy enforcement
- Finality: On-chain anchoring provides immutability
- Verifiability: Anyone can verify proofs without trusted setup
Running the Demo
# Run the complete demonstration
./run-ves-demo.sh
run-ves-demo.sh for the full demonstration script.
Next steps
Sequencer architecture
The design behind the components above.
Autonomous agent architecture
The agents this sequences for.
Smart agents and USDC
The wallet flow it settles.
Set L2
The settlement layer underneath.