---
title: "Zero Knowledge"
canonical: https://wavect.io/services/zero-knowledge/
language: en
description: "We build privacy-first applications using Zero Knowledge proofs. Mathematically prove knowledge without revealing underlying data. Beyond GDPR compliance."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

Zero Knowledge

# Privacy-First Apps

We build applications that protect user data at the mathematical level, not just through policy promises or GDPR checkboxes.

- 75+ products shipped
- 10+ years experience
- No-Bullshit Guarantee

**What is Zero Knowledge?** A cryptographic technique that lets you prove you know something (a password, an identity, a transaction) *without revealing the underlying information*. Privacy without compromise.

// 01

## What We Build

ZK-Powered Applications

Applications where user data is verified without ever being exposed: identity, credentials, financial data.

Privacy-Preserving Protocols

On-chain and off-chain protocols where participants can interact without revealing sensitive state.

Privacy Architecture Consulting

Not every project needs ZK proofs. We help you assess when it's the right tool and design accordingly.

// 02

## What You Get

Data stays private, always

Beyond GDPR compliance

Usable, not just secure

User-controlled data

Verifiable without exposure

Reduced liability surface

HOW WE DEVELOP SOFTWARE

## How we develop Software

Five phases. Fixed prices. No lock-in.

Phase 01

### Discovery Phase

Fixed price at 3.500€ [Buy now](https://buy.stripe.com/14k4kbbMJ1unb4I7sw)

- Requirements Engineering
- Software Architecture
- Milestone Plan
- Technical Flows and Sequence Diagrams
- Launch Plan and Milestone Plan

Phase 02

### First Iteration

Fixed price between 15–20k€ (MAX) [Book Discovery Phase](https://buy.stripe.com/14k4kbbMJ1unb4I7sw)

- Building your real MAP (Minimal Awesome Product)
- Cost-effective approach. Strip requirements to 15–20k max
- Test directly on the market as cheaply as possible with real customers
- Discovery Phase cost is deducted as a rebate

Phase 03

### Subsequent Iterations

Fixed price packages / Agile Fixed Price [What is Agile Fixed Pricing?](/blog/agile-fixed-pricing/)

- Building and extending product based on real customer/user demand
- Ideally partially funded by real sales
- Data-driven development decisions (watch user behavior over user demands)
- Continuous improvement cycle

Phase 04

### Maintenance

Fixed weekly retainer 750€ / week, cancel anytime [Get in touch](/contact/)

- Security patches (nobody likes data breaches or losing money)
- Fixing bugs (can be a major reason of customer churn)
- Technical support (most companies have an abysmal customer support)
- Performance, cost & CI/CD optimization

Phase 05

### Further Dev / Hand-Over

Your product, your team. We'll never lock you in.

- We'll never make you dependent on our team
- Smooth transition to your internal team
- Knowledge transfer and documentation
- Continued support as needed

// proof

## Proof, not promises

### [LightBridge](/case-studies/lightbridge/)
- **Status:** Live
- **Outcome:** 6 chains - Network support
- **Summary:** Engineered Boba's official LightBridge with their team: 6-chain near-instant transfers, $1M+ secured in production.
- **Stack:** Typescript, Python, GraphQL

### [Account Abstraction](/case-studies/account-abstraction/)
- **Status:** Live
- **Outcome:** 3 SDKs - Backend · Contract · Frontend
- **Summary:** Three-layer Hybrid Compute SDK suite (backend, contract, frontend), built with Boba's team against undocumented infra, still in …
- **Stack:** Typescript, Solidity, Hardhat

### [MetaMask Snap](/case-studies/metamask-snap/)
- **Status:** Live
- **Outcome:** MetaMask - Native Integration
- **Summary:** Smart wallets with Hybrid Compute, inside the wallet users already trust, built with Boba's team against MetaMask's Snap sandbox.
- **Stack:** Typescript, MetaMask Snaps, Solidity

These are selected projects, not our full portfolio. We have shipped 75+ products since 2018.

### What clients say

LinkedIn

**Kevin is the most knowledgeable person about smart contracts I know!** He is sharing his knowledge openly with everyone and strategically building his thought leadership in the Web3 space. I had this amazing opportunity to be a guest on his podcast and I love the way he interviews people and gives value to others! If I ever have a project to implement using blockchain technology, Kevin will be my number one choice to cooperate with. 🚀

Read more →

Krystian Koronowski Founder, CaptureFlow

Original

Trustpilot

**Experts in smart contract development.**

Read more →

CJ

Original

Google

**THE agency to go for blockchain development.** Super experienced and highly professional team. Love to work with them.

Read more →

Richard Leitgeb

Original

Independently rated 4.5/5 on Trustpilot [Read the reviews](https://www.trustpilot.com/review/wavect.io)

[![Clutch Top Smart Contract Development Company in Austria 2026 award for Wavect](/img/awards/clutch-top-smart-contract-development-company-austria-2026_hu_52411afb91c9353b.webp) Verified on Clutch · 2026 Top Smart Contract Development Company in Austria View our Clutch profile](https://clutch.co/profile/wavect-gmbh) [![Clutch Top Web3 Development in Austria 2026 award for Wavect](/img/awards/clutch-top-web3-development-austria-2026_hu_92ea6d2c36d12863.webp) Verified on Clutch · 2026 Top Web3 Development in Austria View our Clutch profile](https://clutch.co/profile/wavect-gmbh)

## FAQs

When ZK is right, and when it isn't

### How does the weekly cancellation actually work?

End any week, with one message. No notice period, no exit interview, no fine print. We invoice weekly, so the most you’re ever committed to is the current week.

### What if I'm not blown away by the work?

It’s in your contract: tell us, and we refund that week. No questions, no invoices to dispute, no calls to escalate. The only rule: refunds apply to the most recent week.

### Why don't you track hours?

Because hours are the wrong metric. If we optimize for hours billed, we do not optimize for your outcome. The deal is simpler: every week has a defined result, and we earn the next week by delivering it. You pay for progress against that result, not for a timesheet.

### What does 'expectations detached from reality' mean?

We work with operators, not lottery winners. If a request would require breaking physics, the law, or a third party’s systems, we say so, and if we can’t align, we walk. The guarantee is mutual: you can fire us any week; we can also fire ourselves.

### When does ZK actually make sense vs simpler alternatives?

When the privacy guarantee or the off-chain compute verification is genuinely load-bearing for the product. Voting systems, private identity, scalable rollups, and certain compliance flows are clear wins. For most ‘add ZK to it’ pitches, the honest answer is ‘a database with auth is sufficient and 100× cheaper.’ We’ll say so.

### How do you handle proving and verification costs?

We size the proving infrastructure as part of the architecture phase, not after launch. Off-chain proving with on-chain verification (the standard pattern) typically runs in milliseconds-to-seconds for well-designed circuits. We benchmark on real hardware before committing, and we’ll tell you when the proving cost makes the use case uneconomic.

### Can you add ZK to an existing application?

Often yes. ZK doesn’t have to be the whole app. It can be a verifier contract or a single proof-generation flow inside a conventional stack. We’ve integrated ZK identity verification, private balance checks, and proof-of-membership into otherwise normal web apps. The hard part is usually UX, not cryptography.

### Which ZK proving systems do you use, and when?

Groth16 for small, fixed circuits with the lowest verification gas (good for Ethereum mainnet). PLONK or Halo2 for general-purpose circuits where you want a universal trusted setup, or none at all. STARKs (Cairo, RISC Zero, Boojum) when you want post-quantum security or a transparent setup. Noir or Circom for circuit authoring depending on team familiarity. We pick by what verifies cheapest on your target chain and what your developers can audit, not by what’s loudest on Twitter.

### What does a ZK project realistically cost?

A privacy-flow addition to an existing dApp (one circuit + verifier contract): €25-50k. A standalone ZK identity or membership product: €50-120k. A ZK rollup or app-specific chain: €200k+ and 6-12 months, with audit being a non-negligible slice. Audit costs for ZK circuits run higher than for plain Solidity (€30-80k for non-trivial circuits) because the surface area is mathematical, not just code. We quote the audit budget alongside the build budget so it doesn’t surprise you later.

// More in

## More in Web3 & Blockchain

### [Web3 & Blockchain](/services/blockchain/)

The hub: dApps, payments, scaling and the chains we ship on. Routes to the capability you actually need.

### [Smart Contract Development](/services/smart-contract-development/)

Solidity and Rust from architecture through mainnet, with third-party audit coordination and monitoring.

### [Account Abstraction](/services/account-abstraction-development/)

ERC-4337 smart accounts, paymasters, session keys and recovery. Three production SDKs behind us.

### [Web3 Wallets](/services/web3-wallet-development/)

Smart, embedded and invisible wallets, plus MetaMask Snaps. Non-custodial by default.

### [Cross-Chain Bridges](/services/cross-chain-bridge-development/)

We built a six-chain production bridge, which is mostly why we will tell you when not to build one.

// Get to know us

## Get to know us

Long-term relationships over quick wins.

[![Blogs](/img/services/gtku_blogs_hu_d7e3f659443e93f9.webp) Read our Blog](/blog/overview/) [![No BS Around Tech Podcast](/img/services/gtku_podcast_hu_aac94ba51d8a6f9f.webp) No BS Around Tech Podcast](/#trust-podcast) [![Image Gallery](/img/services/gtknu_gallery_hu_451025d2d15b7558.webp) Get some Impressions](/#image-gallery)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/services/zero-knowledge/#service",
      "@type": "Service",
      "areaServed": [
        {
          "@type": "Country",
          "name": "Austria"
        },
        {
          "@type": "Place",
          "name": "Worldwide"
        }
      ],
      "category": "Web3 & Blockchain",
      "description": "We build privacy-first applications using Zero Knowledge proofs. Mathematically prove knowledge without revealing underlying data. Beyond GDPR compliance.",
      "name": "Privacy-First Apps",
      "provider": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "serviceType": "Zero-Knowledge Proof Engineering",
      "url": "https://wavect.io/services/zero-knowledge/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/",
          "name": "Home",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/services/overview/",
          "name": "Services",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/services/blockchain/",
          "name": "Web3 & Blockchain",
          "position": 3
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/services/zero-knowledge/",
          "name": "Zero Knowledge",
          "position": 4
        }
      ]
    },
    {
      "@id": "https://wavect.io/services/zero-knowledge/#webpage",
      "@type": "WebPage",
      "description": "We build privacy-first applications using Zero Knowledge proofs. Mathematically prove knowledge without revealing underlying data. Beyond GDPR compliance.",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "mainEntity": {
        "@id": "https://wavect.io/services/zero-knowledge/#service"
      },
      "name": "Privacy-First Apps",
      "url": "https://wavect.io/services/zero-knowledge/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "End any week, with one message. No notice period, no exit interview, no fine print. We invoice weekly, so the most you're ever committed to is the current week."
      },
      "name": "How does the weekly cancellation actually work?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "It's in your contract: tell us, and we refund that week. No questions, no invoices to dispute, no calls to escalate. The only rule: refunds apply to the most recent week."
      },
      "name": "What if I'm not blown away by the work?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Because hours are the wrong metric. If we optimize for hours billed, we do not optimize for your outcome. The deal is simpler: every week has a defined result, and we earn the next week by delivering it. You pay for progress against that result, not for a timesheet."
      },
      "name": "Why don't you track hours?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "We work with operators, not lottery winners. If a request would require breaking physics, the law, or a third party's systems, we say so, and if we can't align, we walk. The guarantee is mutual: you can fire us any week; we can also fire ourselves."
      },
      "name": "What does 'expectations detached from reality' mean?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "When the privacy guarantee or the off-chain compute verification is genuinely load-bearing for the product. Voting systems, private identity, scalable rollups, and certain compliance flows are clear wins. For most 'add ZK to it' pitches, the honest answer is 'a database with auth is sufficient and 100× cheaper.' We'll say so."
      },
      "name": "When does ZK actually make sense vs simpler alternatives?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "We size the proving infrastructure as part of the architecture phase, not after launch. Off-chain proving with on-chain verification (the standard pattern) typically runs in milliseconds-to-seconds for well-designed circuits. We benchmark on real hardware before committing, and we'll tell you when the proving cost makes the use case uneconomic."
      },
      "name": "How do you handle proving and verification costs?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Often yes. ZK doesn't have to be the whole app. It can be a verifier contract or a single proof-generation flow inside a conventional stack. We've integrated ZK identity verification, private balance checks, and proof-of-membership into otherwise normal web apps. The hard part is usually UX, not cryptography."
      },
      "name": "Can you add ZK to an existing application?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Groth16 for small, fixed circuits with the lowest verification gas (good for Ethereum mainnet). PLONK or Halo2 for general-purpose circuits where you want a universal trusted setup, or none at all. STARKs (Cairo, RISC Zero, Boojum) when you want post-quantum security or a transparent setup. Noir or Circom for circuit authoring depending on team familiarity. We pick by what verifies cheapest on your target chain and what your developers can audit, not by what's loudest on Twitter."
      },
      "name": "Which ZK proving systems do you use, and when?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A privacy-flow addition to an existing dApp (one circuit + verifier contract): €25-50k. A standalone ZK identity or membership product: €50-120k. A ZK rollup or app-specific chain: €200k+ and 6-12 months, with audit being a non-negligible slice. Audit costs for ZK circuits run higher than for plain Solidity (€30-80k for non-trivial circuits) because the surface area is mathematical, not just code. We quote the audit budget alongside the build budget so it doesn't surprise you later."
      },
      "name": "What does a ZK project realistically cost?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
