{"id":"nullmask","hidden":false,"ipfs":"QmTGJkYHJzB5S7svRUrHLFFSowpXw3aUCxZ54dsFfRL6Ng","language":"en","transactionHash":"0x711c91fa82c454c382fafb335d024c362a5e537f916a4a9e1fcf52c21ce48170","created":"2026-10-09T02:04:00.263Z","updated":"2026-10-09T02:04:00.263Z","title":"Nullmask","summary":"Nullmask is a privacy protocol that enables shielded deposits, transfers, withdrawals and swaps across multiple chains while integrating into standard EVM wallets without requiring a new seed or dedicated wallet app.","content":"**Nullmask** is a zero-knowledge (ZK) privacy protocol that lets users make transactions on [Ethereum Virtual Machine (EVM)](https://iq.wiki/wiki/ethereum-virtual-machine-evm) [blockchains](https://iq.wiki/wiki/blockchain) private by shielding assets into a pool and transacting inside it without leaving an on-chain link between deposits and withdrawals.[\\[1\\]](#cite-id-b9xwt6asdl)​[\\[2\\]](#cite-id-xcnyvw2b0a) Introduced on 17 March 2026 as a protocol designed and authored by cryptographer Tomas Krnak, its cryptographic architecture and technical documentation are published under his name rather than a named corporate entity.[\\[8\\]](#cite-id-duyy5p48hj) The protocol is distinguished by installing as a \"virtual network\" inside a user's existing wallet rather than requiring a separate application, dedicated wallet, or new [seed phrase](https://iq.wiki/wiki/seed-phrase).[\\[1\\]](#cite-id-b9xwt6asdl) Its central design claim is that spending authority never leaves the user's wallet, because shielded actions are authorized with standard [Ethereum](https://iq.wiki/wiki/ethereum) transactions.[\\[3\\]](#cite-id-544e20pe42) The project summarizes its own purpose with the phrase \"Make any wallet and any transaction private — in one click.\"[\\[4\\]](#cite-id-m89t8z89i7)​\n\n## Overview\n\nNullmask is a privacy layer for [EVM](https://iq.wiki/wiki/ethereum-virtual-machine-evm)-compatible [blockchains](https://iq.wiki/wiki/blockchain). Users deposit, or \"shield,\" assets into a zero-knowledge pool, conduct transfers and swaps privately within it, and later \"unshield\" funds to any address, with the protocol designed so that no observable on-chain relationship exists between the original deposit and the eventual withdrawal.[\\[1\\]](#cite-id-b9xwt6asdl)​[\\[2\\]](#cite-id-xcnyvw2b0a) The protocol supports four private operations: shielded deposits, shielded transfers, shielded withdrawals, and shielded swaps.[\\[6\\]](#cite-id-fxpp8ee4yn)​\n\nThe protocol does not run its own [blockchain](https://iq.wiki/wiki/blockchain). Instead it builds on existing [layer 2](https://iq.wiki/wiki/layer-2) (L2) infrastructure to attach a shielded account to a user's wallet, and it treats actions on its own network as \"intents for shielded actions\" that are ultimately executed on the underlying [EVM](https://iq.wiki/wiki/ethereum-virtual-machine-evm) chains.[\\[3\\]](#cite-id-544e20pe42) The project is tagged by third-party trackers under the \"zk\" and \"Privacy\" categories.[\\[1\\]](#cite-id-b9xwt6asdl)​[\\[5\\]](#cite-id-ytaaf9vyt9)​\n\n## Design and Architecture\n\n### Privacy Pool and Proofs\n\nFunds shielded into Nullmask are held in a UTXO-based privacy pool, a model in which balances are represented as discrete unspent outputs rather than a single mutable account balance. The pool is secured using Poseidon2 commitments and Merkle membership proofs, cryptographic structures that let the protocol confirm a deposit belongs to the pool without revealing which specific deposit it is.[\\[6\\]](#cite-id-fxpp8ee4yn) When a user initiates an action, the protocol intercepts the transaction, generates a [zero-knowledge proof](https://iq.wiki/wiki/zero-knowledge-proofs-zkps) on the client side, and submits it through a relayer, an intermediary that broadcasts the transaction so the original sender's identity is not exposed on-chain.[\\[6\\]](#cite-id-fxpp8ee4yn)​\n\nShielded Transfers allow tokens to be sent without revealing the sender, recipient, or amount on-chain. Shielded Swaps execute [Uniswap](https://iq.wiki/wiki/uniswap) V2 trades without exposing the user's identity, and private deposits and withdrawals are each validated by [zero-knowledge proofs](https://iq.wiki/wiki/zero-knowledge-proofs-zkps).[\\[6\\]](#cite-id-fxpp8ee4yn) Private transfer amounts are hidden by design, which the project's analytics methodology notes means they are not included in reported volume figures.[\\[2\\]](#cite-id-xcnyvw2b0a)​\n\n### Virtual Network and Wallet Integration\n\nRather than operating as a standalone application, Nullmask installs into a user's wallet as a virtual network, a one-time setup the project describes as taking about 20 seconds.[\\[3\\]](#cite-id-544e20pe42) The virtual network uses Nullmask RPC middleware to decrypt shielded balances and to translate outgoing transactions into their shielded equivalents. This middleware can run remotely for faster onboarding or locally for what the project describes as maximum privacy.[\\[3\\]](#cite-id-544e20pe42) Once installed, the protocol states that users can send, withdraw, and interact with decentralized applications directly from their existing [web3](https://iq.wiki/wiki/web3) wallet without a separate app.[\\[3\\]](#cite-id-544e20pe42)​\n\nThe protocol is designed to work with [MetaMask](https://iq.wiki/wiki/metamask) and any wallet compatible with EIP-1559, the [Ethereum](https://iq.wiki/wiki/ethereum) transaction fee standard, and it preserves a standard wallet user experience.[\\[6\\]](#cite-id-fxpp8ee4yn) Nullmask uses standard 0x addresses and [Ethereum Name Service (ENS)](https://iq.wiki/wiki/ens) names rather than a separate shielded address scheme, and because it is backed by a wallet's existing seed, the project states no additional [seed phrase](https://iq.wiki/wiki/seed-phrase) must be stored.[\\[3\\]](#cite-id-544e20pe42) It also supports [hardware wallets](https://iq.wiki/wiki/hardware-wallet), and the project states it provides full security without extracting spending authority from the device.[\\[6\\]](#cite-id-fxpp8ee4yn)​\n\n### Approach to Spending Authority\n\nA recurring theme in Nullmask's self-published design documentation is its handling of spending authority. The project contrasts its approach with other privacy solutions it names directly — [Railgun](https://iq.wiki/wiki/railgun), [0xbow](https://iq.wiki/wiki/0xbow), [Hinkal](https://iq.wiki/wiki/hinkal), zERC20, and [Zcash](https://iq.wiki/wiki/zcash) — which it claims rely on extracting spending authority from the wallet.[\\[3\\]](#cite-id-544e20pe42) According to the documentation, extracting spending authority makes those approaches prone to phishing attacks and violates what it calls the fundamental principle of [hardware wallets](https://iq.wiki/wiki/hardware-wallet), that spending authority never leaves the device.[\\[3\\]](#cite-id-544e20pe42)​\n\nThe documentation states that [Railgun](https://iq.wiki/wiki/railgun) and [Zcash](https://iq.wiki/wiki/zcash) addressed this by requiring an additional signature over the shielded transaction, but that both rely on custom hash functions — it names Zcash Orchard's Sinsemilla and Railgun's \"various-rate Poseidon\" — which it claims require large precomputed lookup tables that are impractical for the constrained environment of a [hardware wallet](https://iq.wiki/wiki/hardware-wallet).[\\[3\\]](#cite-id-544e20pe42) Nullmask instead authorizes shielded transactions with standard EIP-1559 transactions, which it states are already implemented in every hardware wallet, allowing shielded transactions from a hardware wallet with no change to the wallet's code. The project summarizes its position with the statement that \"privacy wins when it stops feeling like a tradeoff.\"[\\[3\\]](#cite-id-544e20pe42)​\n\n### Compliance Features\n\nNullmask includes built-in compliance tooling intended to limit abuse of the privacy pool. The protocol performs deposit screening and offers retrospective taint recovery through revocation keys, a mechanism the documentation presents as allowing previously accepted deposits to be traced back if they are later found to be illicit.[\\[6\\]](#cite-id-fxpp8ee4yn) The project's analytics methodology notes that funds pending screening are excluded from reported total value locked.[\\[2\\]](#cite-id-xcnyvw2b0a)​\n\n## MASK Token\n\nThe MASK token is issued on the [Solana](https://iq.wiki/wiki/solana) [blockchain](https://iq.wiki/wiki/blockchain) and is tracked by data aggregators under the Solana ecosystem.[\\[5\\]](#cite-id-ytaaf9vyt9)​[\\[2\\]](#cite-id-xcnyvw2b0a) Supply figures reported by data providers differ slightly: [CoinMarketCap](https://iq.wiki/wiki/coinmarketcap) lists a total and maximum supply of 990,994,347 MASK, which the project self-reports as a fully [circulating supply](https://iq.wiki/wiki/circulating-supply), while [CoinGecko](https://iq.wiki/wiki/coingecko) lists a total supply of about 986.3 million against a maximum supply of 1 billion.[\\[7\\]](#cite-id-rlvy8ucfio)​[\\[5\\]](#cite-id-ytaaf9vyt9) The token trades on both [decentralized exchanges](https://iq.wiki/wiki/decentralized-exchange), including [Meteora](https://iq.wiki/wiki/meteora), [Raydium](https://iq.wiki/wiki/raydium), and Manifest, and [centralized exchanges](https://iq.wiki/wiki/cex-centralized-exchange) such as [LBank](https://iq.wiki/wiki/lbank), [MEXC](https://iq.wiki/wiki/mexc), and KCEX, with [liquidity pools](https://iq.wiki/wiki/liquidity-pool) priced against SOL, [USDC](https://iq.wiki/wiki/usdc), and [USDT](https://iq.wiki/wiki/tether).[\\[5\\]](#cite-id-ytaaf9vyt9)​[\\[7\\]](#cite-id-rlvy8ucfio)​\n\nThe token is linked to the protocol's economics through a rewards and buyback system tied to [Zcash](https://iq.wiki/wiki/zcash) (ZEC). According to the project's dashboard, ZEC is distributed to MASK holders by StonkFun, with cumulative holder rewards of about $1.01 million recorded in early October 2026.[\\[2\\]](#cite-id-xcnyvw2b0a) Separately, ZEC earned by the development wallet — about $514,000 in total, valued at the daily ZEC price — is used to buy back MASK, and the dashboard reports that MASK burned on-chain amounted to roughly 1.22% of the token's 1 billion initial supply.[\\[2\\]](#cite-id-xcnyvw2b0a)​\n\nAs of October 2026, available protocol documentation and smart-contract references do not describe any on-chain governance rights for MASK over the Nullmask pool contracts, where upgrade authority instead resides with the [EVM](https://iq.wiki/wiki/ethereum-virtual-machine-evm)-side upgrade controller contracts.[\\[9\\]](#cite-id-567rgxvdjr) Public materials characterize MASK's economic role primarily through its linkage to ZEC-denominated rewards for holders and ZEC-funded buybacks that permanently burn tokens, rather than through fee-sharing mechanisms or [staking](https://iq.wiki/wiki/staking)-based governance over protocol parameters.[\\[2\\]](#cite-id-xcnyvw2b0a)​\n## Supported Chains and Assets\n\nNullmask's documentation lists deployments on [Ethereum](https://iq.wiki/wiki/ethereum), [Arbitrum](https://iq.wiki/wiki/arbitrum), [MegaETH](https://iq.wiki/wiki/megaeth), [Base](https://iq.wiki/wiki/base), and BSC (BNB Smart Chain), and the protocol supports native ETH alongside any supported [ERC-20](https://iq.wiki/wiki/erc-20) token.[\\[6\\]](#cite-id-fxpp8ee4yn) The project's analytics dashboard, which reflects live operation, records the [privacy pools](https://iq.wiki/wiki/privacy-pools) as active on two chains: Ethereum, supporting ETH and [USDT](https://iq.wiki/wiki/tether) and live since 1 October 2026, and [Base](https://iq.wiki/wiki/base), supporting [ETH](https://iq.wiki/wiki/ether-eth) and [USDC](https://iq.wiki/wiki/usdc) and live since 7 October 2026.[\\[2\\]](#cite-id-xcnyvw2b0a) The pool contract is deployed at the same address on both chains, with activity viewable through the [Etherscan](https://iq.wiki/wiki/etherscan) and Basescan [block explorers](https://iq.wiki/wiki/block-explorer).[\\[2\\]](#cite-id-xcnyvw2b0a)​","recentActivity":null,"operator":{"id":"0x1E23b34d3106F0C1c74D17f2Cd0F65cdb039b138"},"categories":[{"id":"projects-and-protocols","title":"Projects & Protocols"}],"tags":[{"id":"Ethereum"},{"id":"DeFi"},{"id":"Identity"},{"id":"Infrastructure"},{"id":"Privacy"}],"images":[{"id":"QmUbpXp7UJ6P954cv2LS242iffpoxmV9XtqqerG23813wJ","type":"image/jpeg, image/png"}],"media":[{"name":"Cópia de Design sem nome (12).png","id":"QmUrkdzoYoXP64DaRNwiYqd7J5LyTPQG93Lru23jnk7uAu","size":null,"type":null,"source":"IPFS_IMG"}],"linkedWikis":{"founders":[],"blockchains":["ethereum","arbitrum","megaeth","base","binance-smart-chain"],"speakers":[]},"events":[{"id":"260d433d-f5e9-4113-9fc1-2366fa24c71b","type":"DEFAULT","date":"2026-03-01","multiDateStart":null,"multiDateEnd":null,"country":"","continent":"","title":"Nullmask introduced and live on Ethereum","description":"Nullmask is introduced and becomes live on Ethereum as a privacy protocol.","link":""},{"id":"80d9d3ff-feab-4161-bf22-5c4b8d1bf849","type":"DEFAULT","date":"2026-10-01","multiDateStart":null,"multiDateEnd":null,"country":"","continent":"","title":"Nullmask privacy pool live on Ethereum","description":"Nullmask deploys its Ethereum privacy pool for shielded transactions.","link":""},{"id":"70ab30ec-057f-41a1-b453-d260f230fe5f","type":"DEFAULT","date":"2026-10-01","multiDateStart":null,"multiDateEnd":null,"country":"","continent":"","title":"Nullmask privacy pool live on Base","description":"Nullmask launches its privacy pool on Base network.","link":""}],"founderWikis":[],"blockchainWikis":[{"id":"ethereum","title":"Ethereum"},{"id":"arbitrum","title":"Arbitrum"},{"id":"megaeth","title":"MegaETH"},{"id":"base","title":"Base"},{"id":"binance-smart-chain","title":"BNB Chain"}],"metadata":[{"id":"rootdata_profile","value":"https://www.rootdata.com/Projects/detail/Nullmask?k=MjYxMDA="},{"id":"website","value":"https://nullmask.io/"},{"id":"twitter_profile","value":"https://x.com/nullmaskio"},{"id":"coingecko_profile","value":"https://www.coingecko.com/en/coins/nullmask"},{"id":"contract_url","value":"https://docs.nullmask.io/"},{"id":"references","value":"[{\"id\":\"b9xwt6asdl\",\"url\":\"https://www.rootdata.com/projects/detail/Nullmask?k=MjYxMDA%3D\",\"description\":\"RootData describes Nullmask as a ZK privacy protocol\",\"timestamp\":1791511014404},{\"id\":\"xcnyvw2b0a\",\"url\":\"https://dune.com/nullmask/nullmask-official\",\"description\":\"Dune describes shield, transact, unshield workflow\",\"timestamp\":1791511014404},{\"id\":\"544e20pe42\",\"url\":\"https://hackmd.io/@krnak/Sy5zROAFWx\",\"description\":\"Design note on spending authority remaining in the wallet\",\"timestamp\":1791511014404},{\"id\":\"m89t8z89i7\",\"url\":\"https://nullmask.io/\",\"description\":\"Website states its one-click privacy claim\",\"timestamp\":1791511014404},{\"id\":\"ytaaf9vyt9\",\"url\":\"https://www.coingecko.com/en/coins/nullmask?chart=type%3Dprice%26mode%3Dline%26timeframe%3Dd7\",\"description\":\"CoinGecko classifies MASK in the Solana ecosystem\",\"timestamp\":1791511014404},{\"id\":\"fxpp8ee4yn\",\"url\":\"https://docs.nullmask.io/\",\"description\":\"Documentation lists the four shielded operations\",\"timestamp\":1791511014404},{\"id\":\"rlvy8ucfio\",\"url\":\"https://coinmarketcap.com/currencies/nullmask/\",\"description\":\"CoinMarketCap lists supply of 990.99M MASK\",\"timestamp\":1791511014404},{\"id\":\"duyy5p48hj\",\"url\":\"https://nullmask.io/NM%20WP%20Shareable.pdf\",\"description\":\"Nullmask whitepaper authored by Tomas Krnak\",\"timestamp\":1791511119571},{\"id\":\"567rgxvdjr\",\"url\":\"https://docs.nullmask.io/smart-contract-reference/contracts\",\"description\":\"Smart Contract Reference describing upgrade controller\",\"timestamp\":1791511119571},{\"id\":\"d1hha4rbk6\",\"url\":\"https://docs.nullmask.io/compliance/guard-service\",\"description\":\"Guard Service describes privileged guard address\",\"timestamp\":1791511119571},{\"id\":\"huhkcj0mgs\",\"url\":\"https://docs.nullmask.io/compliance/revocation-keys\",\"description\":\"Revocation keys describe retrospective taint recovery\",\"timestamp\":1791511119571}]"},{"id":"main-image-origin","value":"{\"imageId\":\"QmUbpXp7UJ6P954cv2LS242iffpoxmV9XtqqerG23813wJ\",\"originalId\":\"QmUbpXp7UJ6P954cv2LS242iffpoxmV9XtqqerG23813wJ\"}"},{"id":"previous_cid","value":"QmTGJkYHJzB5S7svRUrHLFFSowpXw3aUCxZ54dsFfRL6Ng"},{"id":"commit-message","value":"Trim Nullmask wiki by 702 words"},{"id":"previous_cid","value":"QmTGJkYHJzB5S7svRUrHLFFSowpXw3aUCxZ54dsFfRL6Ng"}],"user":{"id":"0x8af7a19a26d8fbc48defb35aefb15ec8c407f889"},"author":{"id":"0x1E23b34d3106F0C1c74D17f2Cd0F65cdb039b138"},"views":51}