NullMask Terms of Use

Effective date: Oct 1, 2026

These Terms are a binding agreement between you and the operator of NullMask. Please read them before you use the Services.

Key points

  • NullMask keeps your activity private from outside observers of the blockchain. It does not keep it private from us: our servers process the keys that read your private balance and history.
  • Only your own wallet can authorise spending. If you lose your wallet's private key, nobody can recover your assets in the pool.
  • Every deposit is screened before it enters the pool. A deposit can wait, be refused or be returned.
  • We control the smart contracts. We can upgrade them, pause them and change fees without notice.
  • The software is new and has not been independently audited. You can lose all assets you deposit.
  • Our liability to you is capped at USD 100, and disputes go to individual arbitration in London.

This list is a summary only. The sections below are the agreement.

1. About these Terms

1.1 Who we are. "NullMask", "we", "us" and "our" mean the company that operates the Services (the "Operator"). We will give the Operator's full legal details to any person who needs them to bring or answer a legal claim, and to any competent authority, on written request to [email protected].

1.2 The Services. The "Services" are the website at nullmask.io, the web application at app.nullmask.io, our documentation, and the servers we run to support them, including the network endpoint your wallet connects to, the screening service and the relayer. The "Pool" is the set of NullMask smart contracts on Ethereum mainnet.

1.3 Acceptance. You accept these Terms when you confirm them in the application, connect a wallet, or otherwise use the Services. If you do not agree, do not use the Services.

1.4 Privacy Policy. Our Privacy Policy explains how we handle your data. It forms part of these Terms.

1.5 Acting for others. If you use the Services for a company or another person, you confirm that you have authority to bind them. "You" then includes them.

2. Who may use the Services

2.1 Age and capacity. You must be at least 18 years old and legally able to enter into this agreement.

2.2 Sanctions. You must not be listed on, or owned or controlled by anyone listed on, a sanctions list of the United Nations, the United States, the European Union or the United Kingdom.

2.3 Restricted Territories. You must not use the Services if you are located in, resident in, a citizen of, or organised in a Restricted Territory. "Restricted Territory" means:

  • Cuba, Iran, North Korea and Syria;
  • the Crimea, Donetsk and Luhansk regions of Ukraine;
  • the United Arab Emirates; and
  • any other country or territory under comprehensive sanctions of the United Nations, the United States, the European Union or the United Kingdom.

We may change this list at any time.

2.4 Local law. The Services may be unlawful or restricted where you live. You are responsible for checking and following the laws that apply to you.

2.5 No circumvention. You must not use a VPN, proxy or any other means to hide your location in order to get around this section.

2.6 Your statements. We do not verify your identity or location. Each time you use the Services you confirm that this section 2 is true for you. We may block access from any address, device or network at our discretion.

3. What the Services are

3.1 What you can do. The Services let you deposit supported assets from your own wallet into the Pool, hold a private balance, transfer privately to other NullMask accounts, swap assets inside the Pool, and withdraw to an Ethereum address.

3.2 Network and assets. The Services work on Ethereum mainnet only. You can use only the assets shown as supported in the application. We may add or remove supported assets at any time.

3.3 Where your assets are. Assets you deposit are held by the Pool smart contract, together with the assets of other users. They are not held in an account with us. We do not hold your wallet's private key.

3.4 What we are not. We are not a bank, exchange, broker, payment institution, investment adviser or trustee. We do not hold deposits in the banking sense, and your assets in the Pool are not protected by any deposit guarantee or investor compensation scheme.

3.5 Blockchain transactions. Operations are executed by smart contracts on a public blockchain. Once confirmed, they cannot be reversed by you or by us.

3.6 New software. The Services are newly launched. Features, limits and supported assets can change, and parts of the Services may be unavailable from time to time.

4. Your wallet and your account keys

4.1 Your wallet. You need a compatible self-custody Ethereum wallet. Wallets controlled by a smart contract cannot hold a private balance.

4.2 Your wallet key is the only spending key. Every transfer, swap and withdrawal must be signed by your wallet. We never receive your wallet's private key or recovery phrase. Our servers cannot create an operation for you without your wallet's signature. They do set the amount of the network and service fee for each operation, as section 7.3 explains. This does not limit the contract-level powers described in section 8.

4.3 No recovery. If you lose your wallet's private key or recovery phrase, nobody can spend your assets in the Pool. We cannot recover or replace them.

4.4 Account keys. When you first use the Services, your wallet signs a message. Our servers use that signature to create viewing and receiving keys for your NullMask account, and they keep those keys. The keys let our servers read your private balance and history. They do not allow spending. Section 9 and the Privacy Policy explain what this means for your privacy.

4.5 Registration. Your account must be registered on Ethereum before it can receive assets. Registration is a transaction from your wallet, and you pay its network gas.

4.6 NullMask network in your wallet. The application adds a custom network to your wallet. Requests on that network go to our servers, not directly to Ethereum. The network settings saved in your wallet contain an access credential. Keep them confidential.

4.7 Your responsibility. You are responsible for the security of your wallet, devices and browser, and for every operation signed with your wallet.

5. Deposits and screening

5.1 How a deposit works. You send a deposit from your own wallet to the Pool and pay the network gas. With each deposit you also add an amount of ETH to cover the gas for crediting it. The part that is not kept under section 7.4 is returned to the depositing address.

5.2 Pending deposits. A deposit you send to the Pool is first recorded as pending. A pending deposit is not part of your private balance and cannot be transferred, swapped or withdrawn privately.

5.3 Screening. Before a deposit is credited, we screen the depositing address and addresses connected with the deposit, such as the sender of the transaction and recent sources of the funds. We use public sanctions lists, public blockchain data and a third-party blockchain analytics provider. Screening is carried out on wallet addresses. We do not ask for your identity.

5.4 Waiting period. A deposit may wait before it is credited. The wait ranges from none to 24 hours or more. It can be longer if a check cannot be completed, for example because a data provider is unavailable.

5.5 Outcomes. After screening, a deposit is credited to your private balance, refused before you send it, returned to the depositing address, or left pending. We decide at our sole discretion. For legal and security reasons we may not tell you why.

5.6 Taking a deposit back. While a deposit is pending, you can take it back from the depositing address. It is returned to that address only. You pay the network gas for this transaction. You can do this even while the Pool is paused.

5.7 Returns. A returned deposit goes only to the address it came from. We may deduct the network cost of the return and, if we introduce one, a screening fee of up to 1% of the deposit. If that address cannot receive the assets, the deposit can stay pending indefinitely. Do not deposit from an exchange or any other address you do not control.

5.8 No expiry. A pending deposit stays pending until it is credited, returned or taken back.

5.9 Minimums and limits. Each supported asset has a minimum deposit amount, which the Pool enforces. We may set maximum amounts and overall limits at any time.

5.10 Review. If you believe a deposit was refused or held in error, write to [email protected] with the depositing address and the transaction hash. We will consider the request. We are not obliged to change the decision or to reply within a set time.

5.11 Later use. We may refuse later deposits from, and withdrawals to, an address that did not pass screening.

5.12 No guarantee. Screening reduces the risk that unlawful assets enter the Pool. It does not guarantee that every asset in the Pool has a lawful origin.

5.13 Deposits by authorisation. For some deposits the application may offer a different method. You approve the Pool to take the tokens and sign an authorisation, and the tokens stay in your wallet during screening. If the deposit is accepted, we move the authorised amount into the Pool and credit it to your own account only. The authorisation is valid for up to 48 hours, and you can cancel it before it is used.

6. Transfers, swaps and withdrawals

6.1 How these operations work. You sign each operation with your wallet. Our servers prepare the cryptographic proof, and our relayer submits the operation to Ethereum and pays the network gas. You pay the network and service fee described in section 7 in ETH from your private balance.

6.2 Dependence on our servers. These operations need our servers. The application offers no way to carry them out without them. Doing so would require technical tools that we do not provide.

6.3 Refusal and delay. We may refuse, delay or queue an operation. Reasons include rate limits, server capacity, a change in fees or network gas, screening, a pause, and legal or security concerns.

6.4 Private transfers. A private transfer goes to another registered NullMask account. If the recipient address is not registered, the operation is carried out as a withdrawal and is public.

6.5 Swaps. Swaps inside the Pool are executed through a third-party decentralised exchange protocol, currently Uniswap V2. You choose the slippage tolerance. That protocol charges its own fee, and the price can move before your swap is executed.

6.6 Withdrawals. A withdrawal sends assets from the Pool to an Ethereum address. The recipient address, the asset, the amount, the network and service fee and the time are public. We screen the recipient address and may refuse to send to it.

6.7 Scheduled withdrawals. The application may offer withdrawals that are sent immediately and withdrawals that are sent at a scheduled time together with those of other users. A scheduled withdrawal can be moved to a later time. If it cannot be sent within the retry period, it is cancelled and the assets stay in your private balance.

6.8 Check the details. You are responsible for the recipient address, asset and amount of every operation. Assets sent to a wrong address cannot be recovered.

7. Fees

7.1 Protocol fee. We charge a protocol fee on deposits and on withdrawals. Each fee is at most 1% of the amount. The current rates are shown in the application before you confirm.

7.2 Rate that applies to a deposit. The deposit fee is charged when the deposit is credited, at the rate in force at that moment.

7.3 Network and service fee. Transfers, swaps and withdrawals carry a network and service fee. It covers the network gas our relayer pays and our cost of running the Services. Our servers set its amount, and it may be higher than the actual network gas. The difference is not refunded. For an immediate operation the fee is shown before you confirm. For a scheduled withdrawal the application shows a maximum, the fee is set when the withdrawal is sent, and the unused part of the maximum stays in your private balance.

7.4 Gas amount added to deposits. From the ETH you add to a deposit under section 5.1 we keep the gas for crediting and an amount towards the cost of screening. The rest is returned.

7.5 Other costs. You pay the Ethereum network gas for transactions you send from your own wallet. Third-party protocols, such as the exchange protocol used for swaps, charge their own fees.

7.6 Changes. We may change fee rates, and how the network and service fee is calculated, at any time and without notice. The protocol fee stays within the 1% limit in section 7.1. A new rate applies to operations completed after the change. A withdrawal you signed before a change may fail and need to be signed again.

7.7 No refunds. Fees are not refundable, except where these Terms say otherwise.

7.8 Taxes. You are responsible for any taxes that arise from your use of the Services.

8. Our control over the Services

8.1 We control the Pool contracts. The Pool contracts are upgradeable and are controlled by keys that we hold. NullMask is not a decentralised or community-governed protocol.

8.2 What we can do. Using those keys, we can:

  • upgrade or replace the logic of the Pool contracts, including how proofs are verified;
  • pause deposits, private transfers and swaps;
  • pause withdrawals;
  • change fees within the limits in section 7, minimum and maximum amounts, and supported assets;
  • change the rules and providers used for screening; and
  • appoint or replace the addresses that credit deposits and relay operations.

8.3 No notice period. These changes can take effect immediately and without notice. An upgrade can change any rule of the Pool, including the rules that decide who can move assets.

8.4 Pauses. While withdrawals are paused, you cannot withdraw or swap your private balance. We use pauses for security, legal or operational reasons. These Terms set no maximum length for a pause.

8.5 Changes to the Services. We may change, suspend or stop the Services, or any part of them, at any time. If we decide to stop the Services, we will try, where lawful and reasonably practicable, to give notice in the application and time to withdraw.

9. What is private and what is not

9.1 Public on the blockchain. The following is visible to everyone, permanently:

  • deposits: the depositing address, the receiving account, the asset and the amount;
  • withdrawals: the recipient address, the asset, the amount, the network and service fee and the time;
  • swaps: the assets and the amounts, but not who made the swap; and
  • registration: your wallet address and its NullMask public key.

Private transfers inside the Pool do not show the sender, the recipient or the amount on the blockchain.

9.2 Visible to us. Our servers process your account keys. We can therefore see your private balance and your history inside the Pool, and we can link your deposits to your transfers and withdrawals. The Services protect your activity from outside observers of the blockchain, not from us. The Privacy Policy explains how we handle this data and when we may disclose it.

9.3 Linking by others. Other people may be able to connect a withdrawal to a deposit from public data. The risk depends on the amounts and timing you choose, on whether you reuse addresses, on what you do after you withdraw, and on how many other people use the Pool at the same time.

9.4 No guarantee. Estimates, simulations and guidance in the application are illustrations, not guarantees. We do not promise anonymity or that your activity cannot be traced.

10. Risks you accept

By using the Services you accept the following risks. Any of them can lead to the loss of some or all of your assets.

  • New and unaudited software. At the Effective Date the Pool contracts have not been independently audited. A later audit would not guarantee that they are free of defects.
  • Technology. Smart contracts, zero-knowledge proof systems and the software around them can contain errors or be attacked.
  • Control keys. If the keys that control the Pool contracts are lost, stolen or misused, the Pool and the assets in it can be affected.
  • Your wallet. If you lose your wallet's private key, your assets in the Pool are lost.
  • Our servers. If our servers are unavailable, you may be unable to transfer, swap or withdraw. If they are breached, your account keys and history could be exposed.
  • Stablecoin issuers. The issuer of a token can freeze an address, including the Pool or your own address. Frozen tokens cannot leave the Pool or be returned to you, and we cannot reverse an issuer's freeze.
  • Screening. Deposits and withdrawals can be delayed, refused or returned, including by mistake.
  • Third parties. The Services rely on data, network and exchange providers that we do not control. Their failures can delay or block your operations.
  • Network. Ethereum gas costs change, the network can be congested, and confirmed transactions cannot be reversed.
  • Other platforms. Exchanges and other service providers may question, delay or refuse assets that have passed through a privacy protocol.
  • Law and regulation. Privacy tools are under legal and regulatory scrutiny. New rules or enforcement action could restrict the Services or your ability to use them.
  • Market. The value of digital assets can fall sharply while they are in the Pool.

11. Prohibited use

You must not use the Services to do any of the following, or help anyone else to do so:

  • launder money, finance terrorism or evade sanctions;
  • deposit or move assets that come from theft, hacking, fraud, ransomware or any other crime;
  • deposit assets that you do not lawfully own or control;
  • break any law that applies to you;
  • act for a person who is not allowed to use the Services under section 2;
  • get around screening, limits or other restrictions, for example by splitting amounts or using intermediary addresses;
  • attack, probe, overload or disrupt the Services or the Pool, or exploit an error in them;
  • access the Services by automated means in a way that places an unreasonable load on them; or
  • give false information to us or impersonate another person.

12. Third-party services

12.1 The Services work together with things we do not control. These include your wallet software, the Ethereum network, the exchange protocol used for swaps, token issuers, network node providers and data providers.

12.2 We are not responsible for third-party services, for their availability or security, or for any loss they cause. Your use of them is governed by their own terms.

12.3 Links to third-party websites are provided for convenience. A link is not an endorsement.

13. No advice and no token rights

13.1 No advice. Nothing in the Services is financial, investment, legal or tax advice. You decide for yourself whether and how to use the Services.

13.2 No fiduciary duty. We owe you no fiduciary duty. Our only duties to you are those stated in these Terms.

13.3 Tokens. Any token that uses the NullMask or MASK name is not part of the Services. Holding it gives no right to use the Services, no claim on the Pool or on fees, and no rights against us under these Terms. These Terms do not govern buying, selling or holding any such token. Any mention of, or link to, such a token on our website is for information only and is not advice or a recommendation.

14. Intellectual property

14.1 Ownership. The Services, including the software, text, design and the NullMask name and logo, belong to us or to third parties whose material we use. Parts of the software may be released under an open-source licence. Those parts are governed by that licence.

14.2 Your licence. While you comply with these Terms, you may use the Services for their intended purpose. This permission is personal, non-exclusive and can be withdrawn.

14.3 Feedback. If you send us ideas or suggestions, we may use them freely and without payment to you.

15. Disclaimers

15.1 As is. The Services are provided "as is" and "as available". To the fullest extent permitted by law, we give no warranty of any kind, whether express or implied, including warranties of satisfactory quality, fitness for a particular purpose and non-infringement.

15.2 No promises about results. We do not promise that the Services will be uninterrupted, secure or free of errors, that screening will be accurate, or that your activity will remain private.

15.3 Other materials. Our website, documentation, social media posts, roadmaps and other materials are for information only and may be out of date or incomplete. They are not part of these Terms. You have not relied on them in deciding to use the Services. If they conflict with these Terms, these Terms apply.

16. Limitation of liability

16.1 Excluded losses. To the fullest extent permitted by law, we are not liable for:

  • indirect, special, incidental, punitive or consequential loss;
  • loss of profit, revenue, business, opportunity, goodwill or data;
  • loss of, or loss in value of, digital assets; or
  • loss caused by any risk described in section 10, by a third party, or by your breach of these Terms.

This applies whatever the legal basis of the claim, including contract, negligence and breach of statutory duty, and even if we were told the loss was possible.

16.2 Cap. To the fullest extent permitted by law, our total liability to you for all claims connected with the Services or these Terms is limited to USD 100.

16.3 Who is protected. Sections 15, 16 and 17 also protect our affiliates and our and their directors, officers, employees, contractors and service providers.

16.4 What is not limited. Nothing in these Terms excludes or limits liability that cannot be excluded or limited by law, including liability for fraud and for death or personal injury caused by negligence.

16.5 Basis of the agreement. These limits are an essential part of the agreement between you and us. We would not offer the Services without them.

17. Indemnity

To the extent permitted by law, you will compensate us and the persons named in section 16.3 for any loss, claim, fine or cost, including reasonable legal fees, that arises from:

  • your breach of these Terms;
  • your breach of any law or of another person's rights; or
  • assets you deposit or operations you sign.

18. Suspension and ending

18.1 By you. You may stop using the Services at any time.

18.2 By us. We may restrict or end your access to the Services at any time and without notice. Reasons include a breach of these Terms, a screening result, a legal requirement, and a risk to us, to other users or to the Pool.

18.3 Your assets. Restricting your access does not by itself change the assets recorded to your account in the Pool. Section 6 continues to apply to them. We will not refuse a withdrawal to an address that passes screening only because we restricted your access, unless a law, a legal order or a pause requires it.

18.4 What continues. Sections 9, 10 and 13 to 22 continue to apply after your use of the Services ends.

19. Governing law and disputes

19.1 Governing law. These Terms, and any dispute or claim connected with them or with the Services, are governed by the law of England and Wales.

19.2 Talk to us first. Before starting any proceedings, write to [email protected] and describe the dispute. Both sides will try to resolve it within 30 days.

19.3 Arbitration. Any dispute that is not resolved in that way will be referred to and finally resolved by arbitration under the LCIA Rules, which are treated as part of this section. There will be one arbitrator. The seat of arbitration is London. The language is English.

19.4 Individual claims only. Claims may be brought only on an individual basis. You may not bring or join a class, collective or representative action.

19.5 Time limit. To the extent permitted by law, a claim must be started within 12 months after the event that gave rise to it.

19.6 Consumers. If you are a consumer resident in the United Kingdom or the European Union, you keep the mandatory consumer protections of your country of residence. You may bring proceedings in the courts of that country instead of arbitration, and sections 19.3 to 19.5 do not apply to you where that law forbids them.

19.7 Urgent relief. Either side may ask a competent court for urgent interim relief.

20. Changes to these Terms

20.1 We may change these Terms at any time. We will post the new version with a new effective date. For important changes we will also show a notice in the application.

20.2 The new version applies from its effective date. If you use the Services after that date, you accept it. We may ask you to confirm the new version before you continue.

20.3 If you do not agree with a change, stop using the Services.

21. General

21.1 Whole agreement. These Terms and the Privacy Policy are the whole agreement between you and us about the Services.

21.2 Severability. If a court or arbitrator finds part of these Terms invalid, the rest continues to apply.

21.3 No waiver. If we do not enforce a right, we do not give it up.

21.4 Transfer. We may transfer our rights and duties under these Terms to an affiliate or to a successor operator of the Services. You may not transfer yours without our written consent.

21.5 Third-party rights. The persons named in section 16.3 may rely on sections 15, 16 and 17. No one else has rights under these Terms.

21.6 Events outside our control. We are not responsible for a failure or delay caused by something outside our reasonable control, including network failures, attacks, acts of government and failures of third-party providers.

21.7 Language. These Terms are written in English. If a translation differs, the English version applies.

21.8 Notices. We give notices by posting them on the website or in the application.

22. Contact